Як завантажити пакет, а не встановити його за допомогою команди 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

??

Відповіді:


33

Використання --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
ubiquibacon
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.