Для всех ответов, которые я нашел по этой теме, было решение создать на определенном компьютере A, где мне нужно установить пакет, файл, содержащий все необходимые ему зависимости, а затем загрузить его на другой компьютер, назовем его B.
Дело в том, что я хочу иметь хранилище определенного критически важного программного обеспечения, которое мне нужно для работы, чтобы иметь возможность устанавливать их в автономном режиме позже, если мне придется отформатировать рабочий стол.
Я действительно не забочусь о том, чтобы на моем компьютере было много избыточных файлов .deb, и я действительно не забочусь, если я собираюсь хранить 1 ГБ файлов для установки программного обеспечения объемом 10 МБ.
Итак, я хочу загрузить любую возможную зависимость. Есть ли способ, которым я могу это сделать?
источник
Ответы:
Я бы пошел с этим:
apt-get download PACKAGE && apt-cache depends -i PACKAGE | awk '/Depends:/ {print $2}' | xargs apt-get download
Затем вы можете установить его
dpkg -i *.deb
в каталог, который вы скачали.источник
apt-cache depends -i
проверим наличие важных зависимостей для ПАКЕТА. Он будет выполнен, только еслиapt-get download PACKAGE
удастся найти ПАКЕТ из репозиториев ppa, к которым вы добавили/etc/apt/sources.list
. Теперь,apt-cache depends -i PACKAGE
имеет вывод формыDepends: dependency-name
. Нам нужны только имена зависимостей, так вот что делает awk - он получает только вторую строку. Например, попробуйте сделатьapt-cache depends -i vim | awk '{print $2}'
. Обратите внимание, что всю строку справа от && можно считать одним утверждениемdpkg -i *.deb
не так хорошо, он не устанавливает пакет по порядку зависимостей. Таким образом, вам может понадобиться повторить попытку несколько раз, чтобы установить весь пакет. В любом случае, чтобы обойти?Это единовременная вещь или что-то, что вы хотите постоянно обновлять? Вы в основном работаете в сети и просто хотите локальную резервную копию всех ваших пакетов, на всякий случай?
Есть несколько сервисов, которые вы можете установить, которые действуют как прокси / кеш APT. Вы указываете APT на свой локальный кеш, он будет загружаться из Интернета и хранить локально кэшированную копию всех пакетов. Это может быть очень полезно, если в вашей сети много компьютеров с одинаковым набором пакетов.
Мой предпочтительный apt кэш - это приблизительно , но есть также apt-cacher-ng и некоторые другие. У каждого есть небольшие различия в том, как можно настроить кэширование.
Я всегда использую минимальные установщики netinst для сборки своих систем на основе Debian, что означает, что в моем apt-кэше обычно есть почти все пакеты для полной сборки моих систем.
источник
запустите следующую программу на Python:
источник
запустите следующую программу на python3:
Он загрузит все зависимости всех зависимостей, а не только непосредственные зависимости. Но установить их с помощью
dpkg -i *.deb
не удалось. Может быть, потому чтоapt-cache depends -i package
дает дезинформацию или некоторые файлы .deb все еще нуждаются в подключении к Интернету для установки.источник