web-dev-qa-db-fra.com

Comment télécharger un logiciel avec toutes les dépendances et sous-dépendances?

Des questions similaires ont déjà été posées mais aucune d’entre elles n’a résolu mon problème:

Je dois installer un paquet sur une machine Linux autonome, en particulier kdbg. Maintenant, j'ai fatigué la commande

Sudo apt-get install --download-only kdbg

sur une boîte connectée à Internet, mais il ne télécharge que le paquet et les dépendances que je n'ai pas installées. Certaines de ces dépendances (cette commande a téléchargé 117 paquets au total) ont des sous-dépendances, et ces sous-dépendances ont encore plus de dépendances.

Maintenant, j'ai essayé d'utiliser quelques autres commandes censées télécharger toutes dépendances, même celles que j'ai installées. J'ai essayé

  1. apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download

et

  1. apt-get download $(apt-rdepends <package>|grep -v "^ ").

La commande 1 télécharge uniquement les dépendances directes, comme celles que vous trouverez sur packages.ubuntu.com si vous recherchiez kdbg, et la commande deux me donne le message d'erreur suivant:

Can't select candidate version for package <package> as it has no candidate

pour plusieurs forfaits différents.

Donc, pour reformuler ma question, est-il possible pour moi de télécharger kdbg, toutes ses dépendances, toutes les dépendances de ces dépendances, et ainsi de suite? Ou peut-être que j'utilise une des commandes ci-dessus de manière incorrecte?

Merci d'avance.

1
biscuitduke

Vous devez exécuter une commande qui résout automatiquement toutes les dépendances du fichier .deb et installe le fichier .deb et ses dépendances manquantes avec la même commande. Vous aurez besoin d’une connexion Internet fonctionnelle (que vous avez) et de votre logiciel installé pour pouvoir être mis à jour avec Sudo apt update && Sudo apt upgrade afin de télécharger les dépendances manquantes. Ouvrez le terminal et tapez:

Télécharger Sudo apt-get nom du paquet  
 apt install --simulate ./package-name.deb # la marche à sec n'installe rien

où nom du paquet devrait être remplacé par le nom du paquet que vous essayez de télécharger et package-name.deb doit être remplacé par le nom du fichier .deb que vous essayez d'installer.

La deuxième commande n'installe rien, il s'agit simplement d'une simulation à blanc pour répertorier les dépendances à installer sur la machine hors ligne.

1
karel