Как скачать пакет, а не установить его командой apt-get?

32
sudo apt-get install pppoe

скачает pppoeпакет и установит его.

Можно ли просто скачать pppoeпакет, а не установить его apt-getкомандой?

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 сейчас находится в текущем каталоге.

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.debили ppp связанный пакет в / tmp.

sudo  find  /tmp  -name  ppp*

Ничего не найдено.

Где находится пакет ppp в / tmp с командой

cd  /tmp
sudo  apt-get install  -d  ppp

??

it_is_a_literature
источник

Ответы:

34

Используйте --download-only:

sudo apt-get install --download-only pppoe

Это загрузит pppoeвсе необходимые вам зависимости и поместит их в /var/cache/apt/archives. Таким образом, последующий apt-get install pppoeсможет завершить без каких-либо дополнительных загрузок.

Стивен Китт
источник
19

Используйте эту команду:

sudo apt-get download pppoe

Эта команда позволяет загрузить пакет и требования в текущий каталог. Также для доступа к установленным .debфайлам вы можете проверить этот путь:

/var/cache/apt/archives
Хамид Юсефи
источник
5
Это не загружает зависимости, оно только загружает пакеты, названные в аргументах.
Стивен Китт
9
Кроме того, это решение не нуждается sudoздесь. Он загрузит пакет в рабочий каталог.
LinuxSecurityFreak
8

Если немного расширить ответ Хамида, любая из этих трех очень похожих команд будет работать, если вы хотите только загрузить указанный пакет и ничего больше . (Ваш вариант использования четко не указан, поэтому неясно, хотите ли вы это сделать.) Все они загружают файл deb, соответствующий указанному пакету, в текущий каталог.

apt-get download ppoe

apt download ppoe

aptitude download ppoe

Первые две команды являются частью aptпакета, третья - частью aptitudeпакета. Все они функционально эквивалентны, насколько я знаю, хотя синтаксис и использование различия между aptи aptitudeмогут причинить вам предпочесть одну из них при определенных обстоятельствах. И, конечно, aptэто более новая команда, чем apt-get- она ​​содержит apt-getи apt-cacheфункциональность, отбрасывая часть исторического багажа.

Также обратите внимание, что если какая-либо из этих команд найдет файл уже в текущем каталоге, он не загрузит его снова. Однако я не уверен, какие критерии они используют для проверки - или, другими словами, насколько сложно их обмануть. Пустой файл не работает.

Фахим Митха
источник
2

aptпредоставляет команду поиска источника 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

Чтобы это работало, вам нужен исходный репозиторий в вашем каталоге sources.listили sources.list.d( /etc/apt/sources.listили /etc/apt/sources.list.d/. Такая строка будет выглядеть примерно так (замените подходящими разделами зеркала и репозитория):

deb-src http://mirror.location.org/debian/ stretch main contrib non-free
Сэмюэль Варен
источник
2

При работе на одном сервере Ubuntu, у которого не было интернета, но доступ через интранет компании. Установка пакетов была сложной задачей.

Я создал скрипт, который будет искать зависимости требуемого пакета, сохранять их в списке, а затем просматривать список для загрузки других дочерних зависимостей, потому что иногда просто одного прохода загрузки зависимостей недостаточно. После загрузки зависимостей они упаковали их в zip-файл, который можно целиком переместить на сервер. Я назвал этот скрипт pkgdownload .

Его можно найти на моем GitHub здесь

Вот изображение этого на работе: введите описание изображения здесь

Юсуф Викама
источник
Отличная работа! Приятной дополнительной функцией будет возможность загрузки recommendsи suggestsпакетов. См. Askubuntu.com/a/117646/6227
убиквибакон