Столкнулся с вопросом: как установить программу в debian/ubuntu без интернета.
Дело в том, для переноса уже установленных программ используют aptoncd, который
делает мини-репозиторий из кэша пакетов. Но как быть если кэш чистился и в нем
лежат не все необходимые пакеты? Или необходимо принести программу на ubuntu а
на компьютере стоит Debian ? Да и архитектур много.
Для получения пакетов со всеми зависимостями для установки на конкретную машину
нам понадобится файл "/var/lib/dpkg/status" с исходной машины (на которую несем
пакеты для установки). В нем содержится список установленных пакетов и их
состояние. На целевой системе не должно быть пакетов, установленных с ошибками
иначе apt откажется работать.
Если нужно использовать альтернативный sources.list, то его следует создать.
Затем создаем директорию, где будет наш кэш и директорию partial в ней. Далее
дело техники.
Получаем список пакетов из sources.list:
sudo apt-get -o Dir::State::status='наш файл status' -o Dir::Cache::archives="куда кладем пакеты" \
-o Dir::Etc::sourcelist="файл sources.list" -o APT::Architecture="архитектура" update
Создаем кэш:
sudo apt-get -d -o Dir::State::status='наш файл status' -o Dir::Cache::archives="куда кладем пакеты" \
-o Dir::Etc::sourcelist="файл sources.list" -o APT::Architecture="архитектура" install <нужные пакеты>
В результате в подготовленной директории появятся все пакеты, которые
необходимы для установки указанных пакетов на нужную нам машину, которые мы
определяем в мини-репозиторий с помощью aptoncd.
|