Debian offline dist-upgrade за один шаг

Debian offline dist-upgrade за один шаг

Есть ли способ выполнить обновление дистрибутива на автономной системе Debian, выполнив только одно обращение к онлайн-машине?

Мне удалось выполнить эквивалент apt-get update && apt-get dist-upgradeна автономной машине с помощью apt-offline, но мне пришлось сделать это, используя два обратных обращения к онлайн-машине.

Вот рабочий процесс:

# OFFLINE machine:
apt-offline set step1.sig --update --upgrade --upgrade-type dist-upgrade

# The step1.sig file only contains references to Package and Release
# files, not any package names.
# ONLINE machine:
apt-offline get step1.sig --bundle step1.zip

# OFFLINE machine (this is the equivalent of apt-get update):
apt-offline install step1.zip
apt-offline set step2.sig --update --upgrade --upgrade-type dist-upgrade

# The step2.sig file now contains references to deb files.
# ONLINE machine:
apt-offline get step2.sig --bundle step2.zip

# OFFLINE machine (this is the equivalent of apt-get dist-upgrade):
apt-offline install step2.zip

Мне был бы интересен способ сделать это с помощью одного обратного пути между автономными и онлайн-машинами, используя инструменты командной строки ( apt-offlineили другие).

Я попробовал это на первом этапе, надеясь, что он сможет извлечь что-то из списка существующих пакетов, но он просто не находит ничего для обновления при первом проходе, учитывая то, что на данный момент находится в списке известных пакетов на отключенной машине (что имеет смысл):

apt-offline set packages.sig --install-packages `aptitude search '~i!~M' -F '%p'`

решение1

Вам необходимо обновить файл индекса пакетов (доступные пакеты), а затем обновить набор пакетов (пакеты для установки).основано наобновленный индексный файл.

  • На первом этапе пути от офлайн-машины к онлайн-машине вы можете отправить файл индекса десинхронизированного пакета и набор десинхронизированных пакетов.

  • На онлайн-машине вы можете обновить файл индекса пакета.затемобновить набор пакетов на основе нового индексного файла и загрузить соответствующий пакет.

  • На втором этапе пути от онлайн-автомата до офлайн-автомата вы можете отправить полученный пакет.

Проблема в том, что

apt-offline set upgrade.sig --upgrade

использовать файл индекса пакета локальной машины, и нет возможности использовать другой файл индекса пакета. Поэтому вы не можете запустить эту команду на онлайн-машине и должны выполнить круговой обход на офлайн-машину.

Решением будет указать apt-offline использовать другой файл индекса пакета, нежели локальный, но на данный момент это невозможно. Вы можете пропатчить его или написать свой собственный инструмент.

Связанный контент