Как скачать deb-пакет со всеми зависимостями без его установки

репозиторий

В этой, небольшой инструкции, вы узнаете, как скачать deb-пакет вместе со всеми необходимыми зависимостями без его фактической установки.

Используя этот метод, мы можем загружать пакеты из одной системы и установить их позже, или установить вообще в другую систему, у которой нет подключения к Интернету. Мы также можем загружать пакеты для разных архитектур. Например, можно загрузить 32-битные пакеты из 64-разрядной системы и наоборот.

Как скачать deb-пакет со всеми зависимостями

Мы можем сделать это двумя способами. В своем примере, я буду использовать Ubuntu 16.04

Первый способ

Это самый простой и прямой способ.

Чтобы загрузить пакет со всеми зависимостями без их установки, запустите:

sudo apt-get install --download-only <имя_пакета>

Например, я добавил свой репозиторий с zvvradio, но еще не устанавливал его, и если я запущу команду выше, то с помощью нее пакет будет скачан, но не установлен.

Все загруженные файлы будут сохранены в каталоге /var/cache/apt/archives. Просто скопируйте всю папку кэша на любой USB-диск или передайте их по сети в любую систему, где вы хотите установить эти пакеты.

Чтобы установить загруженные пакеты, перейдите в папку кэша и установите их, как показано ниже.

sudo dpkg -i *

Для удовлетворения всех зависимостей, вам понадобится также команда

sudo apt install -f

Второй способ

Чтобы отобразить список всех зависимостей пакета, например Python, выполните команду ниже:

sudo apt-cache depends python

Давайте загрузим пакет python со всеми зависимостями на наш локальный диск.

Для этого сначала создайте каталог для сохранения пакетов.

mkdir python

Перейдите в каталог:

cd python

А затем запустите команду в терминале:

for i in $(apt-cache depends python | grep -E 'Зависит|Предлагает' | cut -d  ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done;

Вышеупомянутая команда загрузит пакет Python вместе со всеми необходимыми зависимостями и сохранит их в текущем рабочем каталоге. Эта команда также сохранит любые ошибки в файл errors.txt.

Давайте посмотрим загруженные файлы с помощью команды «ls»:

ls

Как видно из вышеприведенного вывода, загружен пакет python со всеми его зависимостями.

И теперь, вам нужно просто скопировать папку в нужную систему, и установить файлы с помощью команды

sudo dpkg -i *

Для удовлетворения всех зависимостей, вам понадобится также команда

sudo apt install -f

Как скачать пакеты с зависимостями для конкретной архитектуры

Как вы заметили, приведенная выше команда скачала 64-битные пакеты. Это потому, что я загружаю их из 64-битной системы Ubuntu. Что делать, если вы хотите скачать пакеты для 32-битных системных систем? Это тоже возможно.

Во-первых, включите архитектуру, которая вам нужна в вашей системе Ubuntu, используя команду:

sudo dpkg --add-architecture i386

Иначе вы просто получите ошибку.

После включения архитектуры по вашему выбору, выполните следующую команду для загрузки определенных пакетов, связанных с архитектурой.

for i in $(apt-cache depends python:i386 | grep -E 'Зависит|Предлагает' | cu t -d ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done

Как видно из вышеприведенного вывода, я добавил архитектуру «i386» с командой «apt-cache».

Давайте проверим загруженные пакеты.

ls

Эта команда загружает только 32-битные пакеты.

Ну вот, теперь вы знаете, как скачать пакеты с зависимостями в системах Ubuntu. Этот метод аналогичен для Debian, Linux Mint и других производных Ubuntu. Надеюсь это вам поможет.

Всем удачного дня.

Поділіться своєю любов'ю

Залишити відповідь

13 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
админ

сразу видно, что ua linux, статью идиот писал

Павел
for i in $(apt-cache depends python | grep -E 'Зависит|Предлагает' | cut -d  ':' -f 2,3 | sed -e s/'<'/''/ -e s/'>'/''/); do sudo apt-get download $i 2>>errors.txt; done;

команда качает зависимости но не сам пакет, указал там пакет wget она мне все либы скачала а сам wget нет.

slyguy

$ apt-get download $(apt-rdepends имя_пакета|grep -v “^ “)
необходима установка пакета apt-rdepends

Tau Svetvechnogo

нафига тагда качать все зависимасьти, если после установки всех этих скачиных зависимасьтей нада дакачивать ещо через install -f? Без интэрнэта линукс ништо… В windows скачал праграму в 2003 и для неё ничево не нада дакачивать, всё работает. Здесь жэ чаще всево такое не работает. Скачал праграму год назад, после абнавления на неё ужэ не хватает зависимасьтей. В итоге проще саздать live iso, записать на флешку с набором всех нужных праграм… Читати далі »

UALinux

Команда “apt install -f” набирается для того, чтобы уже скачанные зависимости установить на другом компьютере который без интернета.

M15

“…Все загруженные файлы будут сохранены в каталоге /var/cache/apt/archives…” В некоторых случаях в этом каталоге могут быть файлы от предыдущих загрузок. Будет не лишним очистить кэш командой apt clean а перед самим скачиванием обновить списки пакетов: apt update

kuchera066

Да я тоже если в debian нужны проги ubuntu скачиваю браузером как vladimir.dolgirev , и храню в отдельной папке мне так удобнее

vladimir.dolgirev

Да, но команда sudo dpkg -i * (первый вариант в статье) не устанавливает пакет со всеми зависимостями. Тут нужно дополнительно добавить команду sudo apt install -f, которая подтягивает необходимые зависимости.

UALinux

Да, вы совершенно правы.
Спасибо исправил.

vladimir.dolgirev

Без обид, пожалуйста. У Вас очень информативный сайт по Линукс. Хотелось просто подсказать.
К сожалению любой человек склонен делать ошибки. :vo:

UALinux

Никаких обид, все мы ошибаемся.

vladimir.dolgirev

“Как скачать deb-пакет со всеми зависимостями без его установки” Если Вы загружаете deb-пакет в браузере, то при загрузке пакета предлагается два варианта: 1. Открыть в “Установка приложений по умолчанию 2. Сохранить файл Выберите второй вариант “Сохранить файл”, он, как правило, сохраняется в папке Загрузки, Ф/менеджера и оттуда можно скопировать его на флешку или другой носитель информации. Но если Вы хотели осветить терминальный вариант сохранения файла, то нужно было осветить и… Читати далі »

UALinux

Но статья же о том, как скачать со всеми зависимостями?
Но все равно спасибо за дополнение :vo:

13
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x