В этой, небольшой инструкции, вы узнаете, как скачать 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. Надеюсь это вам поможет.
Всем удачного дня.
сразу видно, что ua linux, статью идиот писал