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 NeoX . É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 samo . Évalué à 1. Dernière modification le 14 mars 2014 à 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.
[^] # Re: je ne sais pas si ca fait un truc similaire, mais moi j'utilise gdebi
Posté par NeoX . Évalué à 2.
gdebi permet d'installer un .deb qui a des dependances,
si les dependances sont sur internet, il ira les chercher.
j'ai pas testé le cas ou les dependances sont dans le dossier courant en demandant
gdebi *.deb
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.