Pour toutes les réponses que j'ai trouvées à ce sujet, la solution a été de créer, dans un certain ordinateur A où j'ai besoin d'installer le paquet, un fichier contenant toutes les dépendances dont il a besoin puis de le télécharger sur un autre ordinateur, appelons-le B.
Le truc, c'est que je veux avoir un stockage de certains logiciels critiques dont j'ai besoin pour pouvoir les installer hors ligne plus tard au cas où je devrais formater mon bureau.
JE NE VEUX PAS VRAIMENT d'avoir beaucoup de fichiers .deb redondants dans mon ordinateur, et JE NE VEUX PAS VRAIMENT si je vais stocker 1 Go de fichiers pour installer un logiciel de 10 Mo.
Donc, je veux télécharger toute dépendance possible. Y a-t-il un moyen de le faire?
ubuntu
package-management
apt
ébernardes
la source
la source
Réponses:
J'irais avec ceci:
apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download
Ensuite, vous pouvez l'installer avec
dpkg -i *.deb
dans le répertoire que vous avez téléchargé.la source
apt-cache depends -i
vérifiera les dépendances importantes pour le PAQUET. Il ne sera exécuté que s'ilapt-get download PACKAGE
réussit à trouver le PACKAGE dans les référentiels ppa auxquels vous avez ajouté/etc/apt/sources.list
. Maintenant,apt-cache depends -i PACKAGE
a la sortie du formulaireDepends: dependency-name
. Nous n'avons besoin que de noms de dépendances, c'est donc ce que fait awk - il n'obtient que la deuxième chaîne. Par exemple, essayez de faireapt-cache depends -i vim | awk '{print $2}'
. Notez également que toute la ligne à droite de && peut être considérée comme une déclarationdpkg -i *.deb
n'est pas si bon, il n'installe pas le paquet par ordre de dépendances. Ainsi, vous devrez peut-être réessayer plusieurs fois pour installer tous les packages. Quoi qu'il en soit pour contourner?Est-ce une chose ponctuelle ou quelque chose que vous souhaitez garder à jour? Travaillez-vous principalement en ligne et souhaitez-vous simplement une sauvegarde locale de tous vos packages, au cas où?
Il existe plusieurs services que vous pouvez installer qui agissent comme un proxy / cache APT. Vous pointez APT vers votre cache local, il sera téléchargé à partir d'Internet et conservera une copie mise en cache localement de tous les packages. Cela peut être très utile si vous avez beaucoup d'ordinateurs sur votre réseau avec une sélection identique de packages.
Mon cache d'apt préféré est d' environ , mais il y a aussi apt-cacher-ng, et quelques autres. Chacun a des différences mineures sur la façon dont la mise en cache peut être configurée.
J'utilise toujours les installateurs minimaux de netinst pour construire mes systèmes basés sur Debian, ce qui signifie que mon cache apt a généralement presque tous les paquets pour construire entièrement mes systèmes.
la source
exécutez le programme python suivant:
la source
exécutez le programme python3 suivant:
Il téléchargera toutes les dépendances de toutes les dépendances non seulement les dépendances immédiates. Mais leur installation a
dpkg -i *.deb
échoué. Peut-être parce queapt-cache depends -i package
donne des informations erronées ou certains fichiers some.deb ont toujours besoin d'une connexion Internet pour l'installation.la source