Comment afficher/télécharger le récursive dépendances d'un paquet debian?
J'ai besoin de la liste/télécharger toutes les récursive dépendances d'un paquet debian.
Suppose que j'ai besoin d'installer un paquet.deb et il dépend du paquet b.deb et de nouveau forfait b.deb dépend du paquet c.deb.
J'ai besoin de télécharger tous les récursive les paquets dépendants de sorte qu'il peut être installé sur une autre machine, sans accès à internet.
Grâce.
Vous devez vous connecter pour publier un commentaire.
Pour quelque raison
apt-rdepends
ne fonctionne pas pour moi (lors de la recherche de 'docker-moteur d'un paquet, il a raté la dépendance surlibltdl7
qui a été introduit avecdocker-engine 1.11.1-0
). UPD soi-disant en raison du fait queapt-rdepends
ne suit pas et n'a pas de liste Recommande par défaut. Et ne suivez pas les paquets virtuels.Donc, je suis venu avec la commande suivante suite.
De manière récursive la liste des dépendances
(vous avez évidemment à changer
<your-package-here>
à la fin de la ligne avec le package que vous souhaitez analyser)La clé ici est la
--recurse
option. Malheureusement, vous ne pouvez pas spécifier le contenu que vous souhaitez (ou je n'ai pas trouver le moyen) de sorte que vous devez désactiver toutes les dépendances pour ne garder que des "dépendances". C'est un peu verbeux et dur à retenir!De l'apt-cache de l'homme page:
Télécharger les dépendances
Afin de télécharger les dépendances, exécuter la commande suivante qui va télécharger dans le répertoire de travail courant:
Éventuellement, pour installer ces dépendances
Cela s'étend légèrement à la question posée, mais il semble correspondre à la intention de la question.
Vous avez besoin pour construire le indice de la juste paquets téléchargés. Ceci est fait à partir du même dossier où tous les .deb où téléchargé:
Puis il suffit de copier ce dossier (à tous .deb + le Packages.gz fichier) vers le système cible qui n'ont pas accès à Internet et d'ajouter le dossier à la source APT liste.
Et voilà
Sur un système w/o accès à Internet, je peux installer un paquet (menu fixe dans mon exemple) et de ses dépendances:
--no-pre-depends
? Je pense que pre-depends est nécessaire pour être installé.--no-recommends
, car ils sont installés par défaut.Vous pouvez utiliser
apt-rdepends
pour l'obtention de toutes les dépendances d'un paquet de manière récursive. Et en canalisant le résultat de grep, vous pouvez avoir seulement les noms de paquets et d'omettre des informations inutiles.Exemple:
Sortie:
Vous pouvez ensuite télécharger ces paquets à l'aide de
apt-get download $package
et les installer en mode hors connexion sur votre ordinateur.Par défaut,
apt
installe Recommande, de sorte que vous pouvez exécuterapt-rdepends
comme suit:Depuis
apt-rdepends
par défaut suit, et ne montre que Dépend, PreDepends.Comme midihenry souligné - installer apt-rdepends paquet, puis exécuter cette
cette ligne permettra d'obtenir toutes les dépendances de manière récursive et, regardant le deuxième tuyau, va télécharger tous les paquets par nom à partir de la stdio, qui est ce que la ligne
awk $1 ~ /^Depends:/{print $2}
n'. imprime le nom de paquets. Si vous exécutez ces commandes additivement, vous verrez ce que je veux dire.Si vous ne souhaitez télécharger un paquet Debian, puis:
ou
Sinon, si vous voulez juste une liste d'un paquet de dépendances:
Évidemment, remplacer
package
avec le nom du paquet que vous souhaitez requête.