Оффлайн-обновление Ubuntu через USB‑репозиторий

Кому и когда это нужно
- Администраторам в изолированных сетях или в средах высокой безопасности.
- Если несколько компьютеров нельзя подключать к Интернету, но нужно централизованно обновлять пакеты.
- Когда удобно использовать переносной носитель (USB, NAS) для доставки пакетов.
Важно: для подготовки репозитория требуется одна Ubuntu‑машина с доступом в Интернет.
Что потребуется
- USB‑накопитель с достаточным свободным местом (репозиторий может занять значительное место).
- Две машины: одна с Интернетом (онлайн), вторая без — целевая (оффлайн).
- Права sudo на обеих системах.
Установите apt-offline на онлайн‑машине
Запустите на машине с доступом в Интернет:
sudo apt update
sudo apt install apt-offlineЕсли вы хотите взять .deb для установки на оффлайн‑ПК вручную, скачайте пакет apt-offline с зеркала Ubuntu (например, через packages.ubuntu.com или команду apt download) и скопируйте .deb на USB.
# пример: скачать .deb и скопировать на USB
apt download apt-offline
cp apt-offline_*.deb /path/to/usb/Установите apt-offline на оффлайн‑ПК (если нужно)
Скопируйте .deb с USB на оффлайн‑ПК и установите его:
sudo dpkg -i /path/to/usb/apt-offline_*.deb
sudo apt-get -f install # для разрешения зависимостей при необходимостиСоздайте сигнатуру репозитория
Apt и Debian‑репозитории используют подписи и метаданные. На оффлайн‑ПК запустите команду, которая создаст файл‑подпись (signature) и сохранит список требуемых обновлений и репозиториев:
sudo apt-offline set ~/.offline.sigФайл ~/.offline.sig содержит метаданные: какие кэши и пакеты нужно скачать.

Скачайте пакеты на USB с онлайн‑машины
Перенесите файл .offline.sig на онлайн‑машину (через USB). Затем выполните команду, которая скачает все необходимые пакеты и метаданные в указанную папку на USB. Обратите внимание на пробелы в путях и опциях:
sudo apt-offline get -d /path/to/usb/ ~/.offline.sigЕсли хотите упаковать всё в один архив и ускорить загрузку параллельно, используйте опцию threads и bundle:
sudo apt-offline get --threads 3 --bundle /path/to/usb/bundle.zip ~/.offline.sigПримечание: загрузка может занять значительное время. Убедитесь, что на USB достаточно места — репозиторий может потребовать десятки гигабайт в зависимости от набора пакетов.

Установка пакетов на оффлайн‑ПК
Подключите USB к оффлайн‑компьютеру и запустите установку загруженного архива или папки:
sudo apt-offline install /path/to/usb/bundle.zipИли, если вы скачали пакеты в директорию:
sudo apt-offline install /path/to/usb/Команда применит метаданные и обновит локальный apt‑кеш. После этого при установке или обновлении пакетов apt будет брать файлы из локального источника.
Повторное обновление и повторное использование USB
Процесс можно периодически повторять: на оффлайн‑ПК снова создайте .offline.sig, перенесите её на онлайн‑машину, скачайте обновления и установите их. Один USB можно использовать для нескольких оффлайн‑машин — просто представляйте им тот же bundle или папку.
Альтернативы и улучшения
- Если компьютеры находятся в одной локальной сети, используйте NAS или локальный apt‑mirror вместо USB — быстрее и удобнее.
- Для больших сред рассмотрите создание локального APT‑mirror (aptly, reprepro) и раздачу через HTTP/S из локальной сети.
- Для одноразовых случаев подойдёт просто копирование .deb‑файлов и установка через dpkg/apt.
Когда этот метод не подходит
- Если требуется частое обновление десятков или сотен машин — лучше разворачивать локальный mirror/сервер обновлений.
- При ограничениях по физическому переносу информации по политике безопасности — USB может быть запрещён.
Практические советы и контроль качества
- Всегда проверяйте свободное место на USB перед загрузкой.
- Сохраняйте предыдущие bundle.zip как резервную копию на случай отката.
- Тестируйте процесс на одном оффлайн‑ПК перед массовым развертыванием.
Важно: файл ~/.offline.sig отражает именно ту систему, на которой он создан. Нельзя использовать сигнатуру, созданную на одной версии Ubuntu, для обновления кардинально другой без проверки совместимости.
Контрольные списки
Перед созданием репозитория (на онлайн‑ПК)
- apt-offline установлен
- Достаточно свободного места на USB
- Передан файл .offline.sig от оффлайн‑ПК
Перед установкой на оффлайн‑ПК
- apt-offline установлен или доступен .deb
- bundle.zip или директория с пакетами присутствует на USB
- Резервная копия текущего состояния системы (если требуется)
Чеклист администратора (роли)
- Системный администратор: убедиться в соответствии версий Ubuntu между машинами.
- Оператор: перенести .offline.sig и bundle на USB, запустить apt-offline install.
- Инженер по безопасности: проверить, допустим ли физический перенос данных.
Диаграмма принятия решения (Mermaid)
flowchart TD
A[Есть онлайн‑машина?] -->|Да| B[Скачать apt-offline]
A -->|Нет| C[Необходимо подключение к Интернету для подготовки]
B --> D[Создать .offline.sig на оффлайн‑ПК]
D --> E[Скачать пакеты на USB]
E --> F[Установить bundle на оффлайн‑ПК]
F --> G[Обновления применены]Критерии приёмки
- Оффлайн‑ПК обновляет пакеты без ошибок после выполнения apt-offline install.
- apt показывает локальный источник в списке источников (если применимо).
- Никакие пакеты не остаются в состоянии «сломанных» (используйте sudo apt-get -f install при необходимости).
Краткое резюме
Оффлайн‑репозиторий на USB — практичный способ обновлять изолированные Ubuntu‑системы при условии наличия одной онлайн‑машины для подготовки. Метод надежен для небольшого количества машин и ситуаций с ограниченным сетевым доступом. Для масштабных сценариев лучше строить локальный mirror.
Важно: всегда тестируйте процесс на одной машине и проверяйте совместимость версий пакетов.
Глоссарий в одну строку
- apt-offline: утилита для создания метаданных обновлений и скачивания пакетов на машину с Интернетом для дальнейшей установки на оффлайн‑ПК.
Похожие материалы
Fix Download failed — network error в Chrome
Как обойти блокировку сайтов на Virgin Media
Как исправить проблемы с печатью в Windows 10
Как хранить данные автомобиля в Dash
Включить Reader View в Firefox на ПК и мобильных