# Глава 10. Управление пакетами в оффлайн-режиме

Существует инструмент apt-offline, помогающий поддерживать систему в актуальном состоянии даже при отсутствии интернет-соединения с помощью второго, подключённого к Интернету компьютера. Этот второй компьютер может работать под управлением Xubuntu, другой разновидности Ubuntu, или Debian. Доступен графический интерфейс apt-offline-gui. В данном документе рассматривается вариант с использованием командной строки.

Там, где в этой главе даны указания использовать каталог на USB-носителе, название и путь к этому каталогу вам следует самостоятельно выбрать заранее.

Несколько особых пакетов невозможно установить без доступа к Интернету, поскольку в процессе их установки или обновления запускаются загрузочные скрипты для скачивания данных из Интернета. Типичными примерами таких пакетов являются flashplugin-installer, nautilus-dropbox и ttf-mscorefonts-installer. Обходного пути установки подобных пакетов, которые сами осуществляют загрузку, не существует.

Желательно избегать использования флага `-y` при обновлении, чтобы иметь последний шанс просмотреть обновления на наличие упомянутых выше проблем.

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

## Обновление репозиториев

После вставки USB-носителя и открытия терминала можно использовать apt-offline для генерации запроса на обновление сведений о репозиториях программного обеспечения. Это позволит компьютеру увидеть, имеются ли в наличии какие-либо исправления ошибок, обновления безопасности или новые приложения.

На компьютере без Интернета наберите: `apt-offline set --update apt-offline.sig`

После выполнения команды, скопируйте `apt-offline.sig` на USB-носитель и перенесите на другой компьютер. С помощью apt-offline на этом компьютере используйте данный файл, чтобы загрузить то, что нужно для обновления на не подключённом к Интернету компьютере. Перейдите в каталог на флешке, содержащий apt-offline.sig, наберите `apt-offline get --bundle bundle.zip apt-offline.sig`. После завершения извлеките USB-носитель и верните его на компьютер без Интернета.

На компьютере без Интернета снова подключите USB-носитель. Перейдите на нём в каталог, содержащий два файла и наберите: `sudo apt-offline install bundle.zip`. После завершения работы команды ваши репозитории будут обновлены.

## Установка пакета

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

В данном примере предположим, что вы хотите установить пакет новой программы. Будем называть его PACKAGENAME, хотя в реальном случае вам следует указать взамен имя пакета. Весьма часто установка пакета сопряжена с установкой его зависимостей. apt-offline позаботится о разрешении зависимостей самостоятельно. Откройте окно терминала, подключите флеш-диск USB и перейдите в выбранный заранее каталог. Из этого каталога выполните `sudo apt-offline set --install-packages $PACKAGENAME --update apt-offline.sig`, чтобы начать процесс.

После завершения скопируйте `apt-offline.sig` на USB-носитель и возьмите его с собой на другой компьютер. С помощью apt-offline на этом компьютере используйте данный файл, чтобы загрузить то, что требуется компьютеру без Интернета для обновления и установки PACKAGENAME. Перейдите в каталог на флеш-диске, содержащем apt-offline.sig, и выполните `sudo apt-offline get --bundle bundle.zip apt-offline.sig`. Вывод команды покажет попытку загрузить обновления репозитория, а также PACKAGENAME и всех его зависимостей. После завершения выньте USB-носитель и возьмите его на компьютер без Интернета.

Вставьте USB-носитель в компьютере без Интернета. Перейдите в каталог носителя, содержащий два файла и наберите: `sudo apt-offline install bundle.zip`. Когда выполнение команды завершится, репозитории будут обновлены. Затем можете установить PACKAGENAME командой: `sudo apt-get install PACKAGENAME`.

## Обновление пакетов

Обновление пакетов проходит в 2 этапа: обновление репозиториев, а затем загрузка и обновление требуемых пакетов.

Вначале обновите репозитории, следуя инструкциям в Обновление репозиториев

Очистите каталог на USB-носителе, которой мы использовали ранее. В новом окне терминала перейдите в каталог на USB-носителе, в котором вы собираетесь работать. Поскольку мы не хотим потерять возможность обновить данные о репозиториях на компьютере без Интернета, мы можем использовать команду, которая не только выполнит поиск пакетов для обновления, но и обновит репозитории. Введите `apt-offline set --update --upgrade apt-offline.sig`

После завершения скопируйте `apt-offline.sig` на USB-носитель и возьмите на другой компьютер. Используйте этот файл с apt-offline для загрузки того, что требуется компьютеру без Интернета для обновления. Перейдите на носителе в каталог, содержащий apt-offline.sig и выполните `sudo apt-offline get --bundle bundle.zip apt-offline.sig`. Вывод команды покажет попытку загрузки обновлений репозиториев, а также обновлений и их зависимостей, требующихся вашей системе. После завершения выньте USB-носитель и возьмите его на компьютер без доступа к Интернету.

На компьютере без подключения к Интернету вставьте USB-носитель, перейдите в каталог, содержащий два файла и наберите `sudo apt-offline install bundle.zip`. После завершения работы этой команды репозитории будут обновлены и вы сможете установить обновления командой: `sudo apt-get upgrade`.

Глава 9. Управление установленными приложениями |  | Глава 11. Обеспечение защиты компьютера и личной информации