4 votes

Comment télécharger APT et toutes ses dépendances ?

J'essaie de télécharger APT et toutes ses dépendances afin de pouvoir utiliser dpkg pour installer APT hors ligne. Puisque vous ne pouvez pas simplement utiliser apt-get download apt L'approche que j'ai adoptée consiste à essayer de générer une liste de dépendances que je peux ensuite utiliser manuellement. apt-get download package-name à récupérer.

J'ai essayé ceux-là :

apt-cache showpkg package-name

apt-cache depends packagename

dpkg -I pkg-name1_version.deb

Ils ne fonctionnent pas correctement. J'ai besoin d'un moyen de lister non seulement les dépendances d'APT, mais aussi les dépendances de l'arbre entier. Selon " sudo apt-get install apt --reinstall " APT a 302 dépendances+sous-dépendances. Les listes générées à l'aide des réponses que j'ai trouvées ne semblent répertorier que le premier niveau de dépendances, car elles sont trop courtes.

2voto

muru Points 180007

Soit je me trompe lourdement, soit il y a quelque chose de fondamentalement faux avec apt ayant 302 dépendances + sous-dépendances. Comment une distribution peut-elle prétendre être légère si elle dépend de apt alors ? Au moins, dans mon ordinateur portable, la réinstallation apt ne mentionne aucune dépendance, je ne sais donc pas d'où vous tenez ce chiffre. J'ai préparé un script pour vérifier. Sur Ubuntu 14.04, j'obtiens 24 dépendances :

dpkg gcc-4.8-base gcc-4.9-base gnupg gpgv install-info libacl1 libapt-pkg4.12 libattr1 libbz2-1.0 libc6 libgcc1 liblzma5 libpcre3 libreadline6 libselinux1 libstdc++6 libtinfo5 libusb-0.1-4 multiarch-support readline-common tar ubuntu-keyring zlib1g

J'ai ensuite appris que apt-rdepends : http://xmodulo.com/2013/07/how-to-check-package-dependencies-on-ubuntu-or-debian.html

Je l'ai installé et exécuté, filtré les dépendances, trié et comparé pour trouver la même liste que j'ai obtenue avec le script. Je peux donc conclure en toute sécurité que ce sont tous les paquets que vous devez installer apt . Je pense qu'un de ces gcc-4.[89] peuvent être ignorés en fonction de celui que vous voulez installer. Notez que cette liste a été élaguée par rapport à Ubuntu 12.04, sur laquelle l'exécution de ce script (sur un serveur) me donnait 28 dépendances :

coreutils debconf dpkg gcc-4.6-base gnupg gpgv install-info libacl1 libapt-pkg4.12 libattr1 libbz2-1.0 libc6 libc-bin libgcc1 liblzma5 libreadline6 libselinux1 libstdc++6 libtinfo5 libusb-0.1-4 multiarch-support perl-base readline-common tar tzdata ubuntu-keyring xz-utils zlib1g

On peut supposer que les paquets ont été réduits. L'absence de dépendance à l'égard de coreutils y debconf est surprenant, je dois dire.

Par ailleurs, je suis d'accord avec ce bogue donné en apt-rdepends page de manuel :

  apt-rdepends exists.  This functionality should really reside in apt-
   cache itself.

En apt-cache L'outil fournit quatre commandes pertinentes qui Braiam , grammaire non orthodoxe et moi avons discuté :

  • depends : Lister les dépendances (en avant). Cela inclut également tous les paquets qui sont recommandés, et inclut également les paquets dans la section Pauses , Conflits y Remplace sections. Il suffit de regarder les Dépend de y Prédépendants paquets.
  • rdepends : Il y a un malheureux conflit de nom avec apt-rdepends . Les deux sites apt-rdepends et ma script susmentionnée vérification des dépendances r ecursivement alors que le apt-cache La commande recherche r everse dependencies - paquets qui dépendent du paquet considéré. Utilisez cette commande pour vérifier les ruptures potentielles causées par un paquet dépendant d'une version spécifique de celui que vous allez modifier.
  • showsrc : Cette commande donne des informations sur le paquet source qui a été utilisé pour construire un paquet. Un seul paquet source peut être utilisé pour construire plusieurs paquets binaires - chacun d'entre eux pouvant dépendre ou non des autres. apt par exemple, dépend de libapt-pkg mais pas sur libapt-inst qui sont tous deux fournis par l apt paquet source . Utilisez cette commande pour avoir un aperçu des autres paquets que vous devriez installer, qui peuvent ne pas être des dépendances, mais qui peuvent être nécessaires pour une plus grande utilité,
  • showpkg : Cette commande, entre autres choses, liste les dépendances inverses et les dépendances avant. Les dépendances inverses sont listées de manière simple, mais les dépendances directes sont un peu confuses - je ne suis toujours pas sûr de la signification des chiffres. Quoi qu'il en soit, les commandes individuelles depends y rdepends sont plus claires.

Ainsi, si nous avons besoin de regarder todos les paquets dont un paquet peut dépendre directement ou indirectement, apt-rdepends est ce dont nous avons besoin.

2voto

Braiam Points 64282

Il n'y a que 4 paquets dont vous devez vous préoccuper : libapt-pkg4.12 , apt-utils , libapt-inst1.5 y apt . Les autres dépendances des paquets apt sont standard pour toutes les installations d'Ubuntu. Pourquoi est-ce que je dis seulement ces 4 paquets ?

apt-cache showsrc apt
[...]
Package-List: 
 apt deb admin important arch=any
 apt-doc deb doc optional arch=all
 apt-transport-https deb admin optional arch=any
 apt-utils deb admin important arch=any
 libapt-inst1.5 deb libs important arch=any
 libapt-pkg-dev deb libdevel optional arch=any
 libapt-pkg-doc deb doc optional arch=all
 libapt-pkg4.12 deb libs important arch=any

Comme vous pouvez le voir, les seuls paquets qui proviennent vraiment des sources d'apt et sont importants sont ceux-là.

Grâce à la libapt-pkg4.12 est assez stable (il n'y a pas actuellement de version sur experimental, par tous les autres paquets ont une nouvelle version) est recommandé que vous les installez tous ensemble.

Rappelez-vous également que le produit de cette mise à niveau peut briser des dépendances inverses à tous ces paquets. Faites d'abord apt-cache rdepends libapt-pkg4.12 apt-utils libapt-inst1.5 apt et vérifier tout paquet qui dépend d'une version spécifique d'apt.

1voto

Adam Wenger Points 9754

Vous pouvez utiliser Cube dans ce cas. Cube télécharge les applications et toutes leurs dépendances, et vous pouvez choisir d'utiliser apt-get ou dpkg pour les installer. Il suffit de sélectionner dpkg comme installateur par défaut au lieu d'apt-get dans " Settings=>Preferences=>Installer Tab ".

Consultez ce tutoriel pour en savoir plus : http://community.linuxmint.com/tutorial/view/1583

1voto

Xubuntu inclut dans l'installation de base apt-offline pour contourner cette situation, à condition que vous ayez déjà un apt en place. Il détermine les dépendances qui doivent être téléchargées et les organise de manière à ce que vous n'ayez pas de problèmes à gérer de tels téléchargements. L'ensemble de la documentation en ligne contient un chapitre sur l'utilisation de l'outil .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X