Загрузите рекурсивные зависимости пакета в Ubuntu
Мы уже знали, как загрузить пакет вместе со всеми его зависимостями в Ubuntu и ее производных. Сегодня мы увидим, как загружать рекурсивные зависимости пакета в Ubuntu. Другими словами, мы собираемся загрузить зависимости зависимостей.
Введение
Допустим, вы пытаетесь установить пакет с именем a.deb. Пакет a.deb зависит от пакета b.deb, а пакет b.deb зависит от пакета c.deb. В этом методе мы загружаем не только зависимости a.deb, но также зависимости b.deb и c.deb.
Это может быть полезно, если вы не можете установить пакет даже после загрузки всех необходимых зависимостей с помощью команды apt-rdependents.
Локальная загрузка пакетов с зависимостями служит трем основным целям.
- Избегайте повторной загрузки одного и того же набора пакетов снова и снова. Например, если вы хотите установить редактор Vim на несколько систем, вы можете загрузить Vim со всеми необходимыми зависимостями, сохранить их на USB-накопителе (или перенести через локальную сеть) и установить Vim в другой системе.
- Экономьте пропускную способность Интернета и время.
- Установите пакеты в системах, не подключенных к Интернету. Это основная причина локальной загрузки пакетов с зависимостями. Вы можете загрузить пакеты в систему, подключенную к Интернету, а затем перенести их в автономную систему через USB-накопитель или локальную сеть и установить в нее без Интернета.
Причины могут быть разными для вас. Если вы когда-нибудь хотели установить пакеты в автономной системе, этот метод определенно вам поможет.
Загрузите рекурсивные зависимости пакета в Ubuntu
Для целей данного руководства в качестве примера мы возьмем программу Vim.
Сначала давайте перечислим рекурсивные зависимости пакета Vim, используя следующую команду:
apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u
Замените vim своим собственным пакетом. Если вы хотите отобразить вывод в формате столбца для удобства чтения, запустите:
apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u | column
Пример вывода:
cdebconf libacl1 libdb5.3 liblzma5:i386 libpython3.6-stdlib libtinfo5 vim
debconf libacl1:i386 libdebian-installer4 libmpdec2 libreadline7 libzstd1 vim-common
dpkg libattr1 libexpat1 libncursesw5 libselinux1 libzstd1:i386 vim-runtime
dpkg:i386 libattr1:i386 libffi6 libnewt0.52 libselinux1:i386 mime-support xxd
gcc-8-base libbz2-1.0 libgcc1 libpcre3 libslang2 perl-base xxd:i386
gcc-8-base:i386 libbz2-1.0:i386 libgcc1:i386 libpcre3:i386 libsqlite3-0 readline-common zlib1g
install-info libc6 libgpm2 libpython3.6 libssl1.1 tar zlib1g:i386
install-info:i386 libc6:i386 liblzma5 libpython3.6-minimal libtextwrap1 tar:i386
Список рекурсивных зависимостей пакета в Ubuntu
Это зависимости зависимостей программы Vim. Обратите внимание, что все это может не потребоваться для установки Vim.
Давайте продолжим и загрузим рекурсивные зависимости пакета Vim с помощью команды:
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances vim | grep "^\w" | sort -u)
Эта команда загрузит vim вместе с зависимыми программами в текущий каталог. Он также загрузит зависимости Vim.
Загрузите рекурсивные зависимости пакета в Ubuntu
Убедитесь, что все зависимости загружены с помощью команды «ls»:
ls
Вот список зависимостей программы Vim и зависимостей ее зависимостей на моем рабочем столе Ubuntu 18.04:
Рекурсивные зависимости пакета Vim в Ubuntu
Теперь переместите все загруженные файлы через USB-накопитель или по локальной сети в автономную систему. Затем перейдите в папку, в которой вы сохранили все загруженные пакеты в своей автономной системе, и установите их с помощью команды:
sudo dpkg -i *
Альтернативно вы можете создать индекс всех загруженных пакетов и установить их с помощью менеджера пакетов APT.
Чтобы создать индекс загруженных пакетов, перейдите в место, где хранятся пакеты, и выполните следующую команду:
dpkg-scanpackages . | gzip -c9 > Packages.gz
Добавьте эту папку в список источников APT, используя следующую команду:
echo "deb[trusted=yes] file:///home/sk/vim ./" | sudo tee -a /etc/apt/sources.list
Здесь я сохранил все файлы в папке /home/sk/vim
в своей автономной системе. Вам необходимо заменить этот путь на свой.
Обновите индекс пакета с помощью команды:
sudo apt-get update
Наконец, установите пакет vim с помощью менеджера пакетов APT:
sudo apt-get install vim
Точно так же вы можете загрузить и установить другие пакеты.
Рекомендуется прочитать:
- Как загрузить пакет RPM со всеми зависимостями в CentOS
- Camiri Cube – установка пакетов в автономных системах Ubuntu
- Как установить программное обеспечение в Ubuntu в автономном режиме
- Как имитировать команды Linux, ничего не меняя в системе