Forum Linux.debian/ubuntu Update de repertoire apt local (file://)

Posté par . Licence CC by-sa.
Tags :
0
14
mar.
2014

On a souvent besoin d'installer avec dpkg des .deb qu'on a téléchargé sur le web sans passer par les repos de sources.list, et pourtant on a alors souvent besoin en même temps de la gestion des dépendances (qui n'est pas prise en charge par dpkg).

Pour repondre a ce besoin, j'ai cree deux fonctions, dont le but est l'ajout du répertoire en argument comme un repository local (file://). J'ai également écrit la fonction inverse, qui enlève le répertoire du sources.list et remet à jour la db :

addfiledeb: (prend 1 argument, le path du rep qu'on veut ajouter)

#!/bin/bash

dpkg-scanpackages `{mathjax} 1 > `1/Packages
chown samo:samo $1/Packages
if ! [[ -e /etc/apt/sources.list.d/myrepo.list ]]
then
   touch /etc/apt/sources.list.d/myrepo.list
fi
sed -i "\&deb file://`{mathjax} (realpath `1) /&d" /etc/apt/sources.list.d/myrepo.list
echo "deb file://`{mathjax} (realpath `1) /" >> /etc/apt/sources.list.d/myrepo.list

apt-get -V update -o Dir::Etc::sourcelist="/etc/apt/sources.list.d/myrepo.list"

et de meme, delfiledeb:

#!/bin/bash

rm -f $1/Packages
if ! [[ -e /etc/apt/sources.list.d/myrepo.list ]]
then
   touch /etc/apt/sources.list.d/myrepo.list
fi
sed -i "\&deb file://`{mathjax} (realpath `1) /&d" /etc/apt/sources.list.d/myrepo.list

apt-get -V update -o Dir::Etc::sourcelist="/etc/apt/sources.list.d/myrepo.list"

Pour l'essayer sans plus tarder, j'ai téléchargé le paquet giac version .deb pour i386, et puis j'ai exécuté addfiledeb.
En fait tout fonctionne à un warning près, mais je voudrais à tout prix trouver l'origine du problème :

Lecture des listes de paquets... Fait
W: Duplicate sources.list entry file:/home/samo/  Packages (/var/lib/apt/lists/_home_samo_Packages)
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes

Le problème n'a pas lieu lorsque je fais delfiledeb, ni même lorsque je fais apt-get update en temps normal.
Pourtant le fichier Packages généré ne contient que l'entrée correspondant à giac, et le myrepo.list ne contient que mon "deb file:///home/samuel /".
Quelqu'un aurait-il l'idée de où peut venir le problème ?

  • # je ne sais pas si ca fait un truc similaire, mais moi j'utilise gdebi

    Posté par . Évalué à 3.

    apt-get install gdebi-core pour la version ligne de commande.

    puis

    gdebi monpaquet.deb qui va avoir des dependances

    • [^] # Re: je ne sais pas si ca fait un truc similaire, mais moi j'utilise gdebi

      Posté par . Évalué à 1. Dernière modification le 14/03/14 à 18:32.

      Comment fais-tu lorsque tu dois gerer un repertoire plein de .deb (qui dependent les uns des autres, mais souvent avec un deb "maitre" qu'il suffirait d'installer car les autres en dependent) comme par exemple le rep DEBS/ contenu dans le .tgz de l'install de Libroffice ?
      Avec ma methode ce serait :
      sudo addfiledeb DEBS
      sudo aptitude install libroffice4.2
      sudo delfiledeb DEBS

      Mais avec gdebi je pense qu'il faut installer tous les debs les uns apres les autres, et en reflechissant soi-meme a l'ordre dans lequel l'effectuer pour qu'il n'y ait pas de pb de dependances.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.