Comment télécharger le package sans l'installer avec la commande apt-get?

32
sudo apt-get install pppoe

téléchargera le pppoepackage et l'installera.

Est-il possible de simplement télécharger le pppoepackage et de ne pas l'installer avec la apt-getcommande?

wget http://ftp.us.debian.org/debian/pool/main/p/ppp/ppp_2.4.7-1+4_amd64.deb

ppp_2.4.7-1+4_amd64.deb est maintenant dans le répertoire courant.

cd  /tmp
sudo  apt-get install  -d  ppp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  ppp
0 upgraded, 1 newly installed, 0 to remove and 95 not upgraded.
Need to get 0 B/346 kB of archives.
After this operation, 949 kB of additional disk space will be used.
Download complete and in download only mode

ppp_2.4.7-1+4_amd64.debPaquet lié à No ou PPP dans / tmp.

sudo  find  /tmp  -name  ppp*

Rien n'a été trouvé.

Où est le paquet ppp dans / tmp avec la commande

cd  /tmp
sudo  apt-get install  -d  ppp

??

it_is_a_literature
la source

Réponses:

34

Utilisation --download-only:

sudo apt-get install --download-only pppoe

Cela va télécharger pppoeet toutes les dépendances dont vous avez besoin, et les placer /var/cache/apt/archives. De cette façon, un suivant apt-get install pppoepourra se terminer sans aucun téléchargement supplémentaire.

Stephen Kitt
la source
19

Utilisez cette commande:

sudo apt-get download pppoe

cette commande vous permet de télécharger le package et les exigences dans le répertoire courant. Aussi pour accéder aux .debfichiers installés , vous pouvez vérifier ce chemin:

/var/cache/apt/archives
Hamid Yousefi
la source
5
Cela ne télécharge pas les dépendances, il télécharge uniquement les packages nommés dans les arguments.
Stephen Kitt
9
De plus, cette solution n'a pas besoin sudoici. Il téléchargera le package dans le répertoire de travail.
LinuxSecurityFreak
8

Pour développer légèrement la réponse de Hamid, l'une de ces trois commandes très similaires fonctionnera si votre seul désir est de télécharger uniquement le package spécifié, et rien d'autre . (Votre cas d'utilisation n'est pas clairement indiqué, il n'est donc pas clair si c'est ce que vous voulez faire.) Ils téléchargent tous le fichier deb correspondant au package spécifié dans le répertoire en cours.

apt-get download ppoe

apt download ppoe

aptitude download ppoe

Les deux premières commandes font partie du aptpackage, la troisième fait partie du aptitudepackage. Ils sont tous fonctionnellement équivalents, pour autant que je sache, bien que les différences de syntaxe et d'utilisation entre aptet aptitudepuissent vous amener à préférer l'un d'entre eux dans certaines circonstances. Et bien sûr, aptest une commande plus récente que apt-get- elle contient apt-getetapt-cache fonctionnalité tout en jetant une partie des bagages historiques.

Notez également que si l'une de ces commandes trouve le fichier déjà dans le répertoire courant, elle ne le téléchargera plus. Cependant, je ne sais pas quels critères ils utilisent pour vérifier - ou, en d'autres termes, à quel point il est difficile de les tromper. Un fichier vierge ne fonctionne pas.

Faheem Mitha
la source
2

aptfournit une commande de récupération de source - apt source.

$ apt source pppoe
Reading package lists... Done
Picking 'rp-pppoe' as source package instead of 'pppoe'
Need to get 239 kB of source archives.
Get:1 http://mirror.location.org/debian stretch/main rp-pppoe 3.12-1.1 (dsc) [1,708 B]
Get:2 http://mirror.location.org/debian stretch/main rp-pppoe 3.12-1.1 (tar) [224 kB]
Get:3 http://mirror.location.org/debian stretch/main rp-pppoe 3.12-1.1 (diff) [13.2 kB]
Fetched 239 kB in 0s (1,241 kB/s)    
dpkg-source: info: extracting rp-pppoe in rp-pppoe-3.12
dpkg-source: info: unpacking rp-pppoe_3.12.orig.tar.gz
dpkg-source: info: unpacking rp-pppoe_3.12-1.1.debian.tar.xz
dpkg-source: info: applying 01_auto_ifup.patch
dpkg-source: info: applying 02_change_mac_option.patch
dpkg-source: info: applying 03_man_pages.patch
dpkg-source: info: applying 04_ignore_broadcasted_pado_packets.patch
dpkg-source: info: applying 05_change_default_timeout.patch
dpkg-source: info: applying 06_typo_fixes.patch

Pour que cela fonctionne, vous avez besoin d'un référentiel source dans votre répertoire sources.listou sources.list.d( /etc/apt/sources.listou /etc/apt/sources.list.d/. Une telle ligne ressemblerait à quelque chose (remplacez-la par des sections appropriées de miroir et de référentiel):

deb-src http://mirror.location.org/debian/ stretch main contrib non-free
Samuel Waren
la source
2

Lorsque vous travaillez sur un serveur Ubuntu sans Internet mais accessible via l'intranet de l'entreprise. L'installation de packages était difficile.

J'ai créé un script qui recherchera les dépendances d'un package requis, les stockera dans une liste, puis parcourrai la liste pour télécharger d'autres dépendances enfants, car parfois un seul passage de téléchargement de dépendance n'était pas suffisant. Après avoir téléchargé les dépendances, il les a regroupées dans un fichier zip qui peut être déplacé dans son ensemble vers le serveur. J'ai appelé ce script pkgdownload .

Il peut être trouvé sur mon GitHub ici

Voici une image de celui-ci au travail: entrez la description de l'image ici

Yusuph wickama
la source
Bon travail! Une option supplémentaire intéressante serait l'option de téléchargement recommendset de suggestspackages. Voir askubuntu.com/a/117646/6227
ubiquibacon