Как загрузить пакет из apt-get, не устанавливая его? [закрыто]


122

У меня есть компьютер без сетевой карты , и я хочу установить на него некоторые программы через USB-накопитель, но как я могу загрузить программу из apt-get, не устанавливая ее?


6
Это можно переместить в SuperUser, верно?
kumarharsh

2
Или в AskUbuntu , где его с тех пор спрашивали и отвечали .
jpaugh

Для Debian начните с packages.debian.org/stable Drill down. Очень близко (далеко вниз) страница пакета - это список архитектур, которые вы можете скачать. Нажмите, чтобы скачать.
Эллиптический вид

Ответы:


125

Вот как минимум следующие apt-getпакеты расширений, которые могут помочь:

apt-offline - offline apt package manager
apt-zip - Update a non-networked computer using apt and removable media

Это специально для случая, когда вы хотите загрузить, где у вас есть доступ к сети, но установить на другой компьютер, где у вас его нет.

В противном случае --download-onlyвариант apt-get- ваш друг:

 -d, --download-only
     Download only; package files are only retrieved, not unpacked or installed.
     Configuration Item: APT::Get::Download-Only.

10
apt-get -d не загружает файлы, если он уже установлен
pakman

62
Это позволит загрузить пакет текущего рабочего каталога: aptitude download <package_name>. Это позволяет избежать проблем, с которыми можно столкнуться, apt-getкогда пакет уже установлен
biocyberman

8
@biocyberman: Не могли бы вы опубликовать это как отдельный ответ? Это проще, чем любой из других предложенных ответов, но его легко пропустить, поскольку это всего лишь комментарий.
Брукс Моисей

1
@BrooksMoses: Я больше не могу этого делать, вопрос закрыт.
biocyberman

6
Более поздние дистрибутивы также могут работать apt download <package_name>(аналогично ответу biocyberman, но я думаю, что aptтеперь он более распространен aptitude).
Dan R

132

Пытаться

apt-get -d install <packages>

Это задокументировано в man apt-get.

Просто для разъяснения; загруженные пакеты находятся в кэше пакетов apt по адресу

/var/cache/apt/archives

2
Работает ли это, если пакет уже обновлен в системе, в которой apt-get -d выполняется?
Питер Мортенсен

@PeterMortensen, нет, это не так. Но в этом случае вы можете использовать dpkg-repack (apt-get install dpkg-repack + man должно быть достаточно простым) - хотя это довольно надумано по отношению к исходному вопросу. В качестве альтернативы всегда есть packages.debian.org
Маркус Боркенхаген

51

Не забывайте опцию «-o», которая позволяет загружать куда угодно, хотя сначала вам нужно создать «архивы», «блокировку» и «частичное» (команда выводит то, что необходимо).

apt-get install -d -o=dir::cache=/tmp whateveryouwant

11
Если вы работаете как пользователь без полномочий root, вы можете сделать что-то вроде: mkdir -p / tmp / archives / partial && apt-get -d -o dir :: cache = / tmp -o Debug :: NoLocking = 1 install package

+1 за упоминание опции -o. Искал эту информацию почти час.
Hashken

3
12.04, когда я бежал: apt-get -d -o=dir::cache=/tmp/pkg rabbitmq-server E: Invalid operation rabbitmq-serverДолжно быть:$ apt-get download -o=dir::cache=/tmp/pkg rabbitmq-server Get:1 Downloading rabbitmq-server 2.7.1-0ubuntu4 [2,745 kB] 13% [1 rabbitmq-server 361 kB/2,745 kB 13%]
HVNSweeting

4
Кажется, что это ничего не загружает, если пакет уже обновлен в системе.
Sparhawk

1
вам необходимо включить в запрос команду «установить». Таким образом, "apt-get install -d -o = dir :: cache = / tmp packagename"
Пол Чернох
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.