Как скачать 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