Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/10/2009, à 12:01

seb08160

problème de téléchargement de toutes les dépendances d'un .deb

bonjour !
je doit récupérer des paquets pour les installer sur une machine qui n'est pas connectée à un réseau et il me faudrait pour cela télécharger plusieurs paquets ainsi que leur dépendances ... mais le problème est que ces dépendances sont déja installées sur mon ordinateur et que quand je fait "télécharger uniquement" dans synaptic il ne reprend que le paquet principal
j'aurais aimé savoir si une commande pouvait m'aider a faire cela smile

j'ai trouver autres part sur le forum cette commande :

sudo aptitude install paquet -d

et sur un site celle-la :

apt-get -o”Dir::Cache::archives=`pwd`” -o”Debug::NoLocking=true” -o”Dir::State::status=/dev/null” -d install le_paquet

mais toutes les deux ne téléchargent que les dépendances non-installées sur cette machine ...
alors que les gens qui les ont postées confirmaient bien qu'elles ne vérifiaient pas la présences des dépendances.

j'ai bien vu une solution qui listait toutes les dépendances et qui permettrait de faire un copier coller par la suite pour pouvoir les retrouver une par une mais le nombres de fichiers que je doit gérer est assez grand et je veut faire des scripts pour automatiser le téléchargement d'éventuelles mises à jour et l'installation des fichiers ce qui est impossible dans ce cas.

voila si quelqu'un pouvait m'aider smile
merci !!

Hors ligne

#2 Le 09/10/2009, à 12:50

herberts

Re : problème de téléchargement de toutes les dépendances d'un .deb

Le plus simple à mon avis : Tu te mets sur l'ordinateur non connecté au réseau, tu ouvres synaptic, tu choisis les paquets que tu veux installer et tu les coches comme pour les installer normalement, il te sélectionnes les dépendances manquantes avec.

Et à la fin, au lieu de faire appliquer (qui ne marcherai pas de toute façon puisque pas de réseau) tu va dans le menu fichier, et tu choisis "créer un script de téléchargement des paquets".

Tu enregistres ce script sur une clé usb par exemple, tu va sur l'ordi connecté au réseau.
Tu crées un dossier pour tes deb, tu colles ton script dedans et tu le lances (je te conseille de le lancer dans un terminal pour avoir un retour sur la progression plutôt q'en cliquant dessus). ça te télécharge tous les deb nécessaires.

Ensuite tu copies ton dossier de deb sur ta clé usb, tu va sur l'ordi non connecté au réseau, tu lances synaptic, et tu va dans le menu fichier -> "ajouter les paquets téléchargés" et tu choisis le dossier où sont tes deb.

Et voilà smile

Hors ligne

#3 Le 09/10/2009, à 15:21

percherie

Re : problème de téléchargement de toutes les dépendances d'un .deb

Tu peut lister toutes les dépendances d'un paquet avec la commande apt-cache show suivi du nom du paquet. Si je ne me trompe pas ça liste des dépendances direct et plus haut dans l'ascendance (à vérifier).

En ce moment avec un autre membre du forrum (nesthib) on c'est rapproché pour mettre en place un script qui télécharge automatiquement tous les paquets et leurs dépendances pour créer un dépot local. La seconde partie du script permet l'installation hors ligne pour les postes ne disposant pas d'internet ou d'une connection bas débit.

Actuellement on a fini la pré-étude sous forme de phrase et on commence le codage. Quand ce sera fini on compte le proposé sur le forum, si tu souhaite nous rejoindre contact moi mon profil du forum.


Nomade en camion utilisant Ubuntu. Si vous souhaitez suivre mes voyages : http://toutenkamion.net/

Hors ligne

#4 Le 13/10/2009, à 15:19

seb08160

Re : problème de téléchargement de toutes les dépendances d'un .deb

merci pour vos réponses smile
pour la solution de créer un script grâce a synaptic j'avait deja vu mais celui-ci ne fonctionne pas chez moi :

cigale@nous:~/Bureau$ ./dl
--15:05:09--  http://fr.archive.ubuntu.com/ubuntu/pool/main/libe/libextutils-depends-perl/libextutils-depends-perl_0.205-1_all.deb
           => `libextutils-depends-perl_0.205-1_all.deb'
Résolution de fr.archive.ubuntu.com... 88.191.250.131
Connexion vers fr.archive.ubuntu.com|88.191.250.131|:80...

et il me fait un time out.

mais grave au listing systématique de apt-cache (mais avec l'option depends vu que la seule chose qui m'intéressait c'était les dépendances) j'ai réussis a faire un script qui me gérère un script (oui désolé c'est ce qui m'a paru le plus simple sur le moment) qui télécharge toutes les dépendances
je vous met sa si sa vous intéresse :

for p in $@
do echo " aptitude download " $p >>./liste_dl
done

for p in `apt-cache depends $@ | awk '{print $NF}' | sed -e "s/<//" -e "s/>//" `
do apt-cache depends $p
done  | grep " Dépend: " | sed "s/ Dépend: /aptitude download /" | sed "s/<//" | sed "s/>//" | sort | uniq >> ./liste_dl

( ps:la structure de la boucle "for" n'est pas de moi mais sa convenait très bien a mon utilisation alors excusez les lourdeurs éventuelles ^^)
la je lui transfère en paramètre les paquets que je veut dl avec leurs dépendances et le script "liste_dl" me permet de tous les dl dans le répertoire courant.

pour l'installation c'est une autre partie de script qui fait tout sa avec des gdebi

mon but n'étant pas de recréé un dépôt mais d'avoir juste les paquets nécessaires a l'installation d'un soft home made. je n'ai pas besoin d'une grande modularité dans le script et vous ne pourrez peut-être pas le réutiliser mais si cela peut vous aider je serai ravis d'avoir pu contribuer a votre réussite smile


PS: ce n'est qu'une version provisoire mais qui fonctionne chez moi je verrai plus tard a faire un appel a un fichier plutôt que d'envoyer en paramètres les nom des paquets la mise a jour sera surement plus facile

Hors ligne