Полное обновление систем на основе Debian без интернета
Представьте себе такой сценарий.
У вас есть система (Windows или Linux) с высокоскоростным подключением к Интернету на работе и Debian или любая система на основе Debian без подключения к Интернету или очень медленное подключение к Интернету дома.
Вы хотите обновить свою автономную домашнюю систему.
Что делать?
Купить высокоскоростное интернет-соединение?
Не обязательно! Вы все еще можете обновить автономную систему через Интернет.
Вот где на помощь приходит Apt-Offline.
Как следует из названия, apt-offline является автономным диспетчером APT пакетов для систем на основе APT, таких как Debian и производные от Debian дистрибутивы, такие как Ubuntu, Linux Mint.
Используя apt-offline, мы можем полностью обновить системы на основе Debian, не подключая их к Интернету.
Это кроссплатформенный инструмент, написанный на языке программирования Python, имеющий CLI и графический интерфейс.
Требования
- Система, подключенная к Интернету (Windows или Linux). Мы называем это «онлайновой системой» для удобства понимания в этом руководстве.
- Автономная система (Debian иои производная от Debian система).
- USB-накопитель или внешний жесткий диск с достаточным пространством для переноса всех обновленных пакетов.
Установите Apt-offline
Apt-Offline доступен в репозиториях Debian и его производных по умолчанию.
Если ваша онлайн-система работает на Debian, Ubuntu, Linux Mint и другими системами на основе DEB, вы можете установить Apt-Offline с помощью команды:
$ sudo apt-get install apt-offline
$ git clone https://github.com/rickysarraf/apt-offline.git
Перейдите в каталог и запустите его оттуда.
$ cd apt-offline/
$ sudo ./apt-offline
Установите Apt-offline в автономной системе:
Если ваша автономная система имеет низкую скорость Интернета, вы можете установить apt-offline с помощью диспетчера пакетов APT, как показано выше.
Но что, если эта система не подключена к интернету?
Нет проблем.
В этом случае зайдите с любого компьютера и скачайте файл apt-offline.deb с веб-сайта pkgs.org.
Скопируйте файл .deb на USB-накопитель, затем вернитесь в автономную систему и, наконец, установите его с помощью команды:
$ sudo dpkg -i apt-offline_1.7.2_all.deb
Действия в автономной системе (без подключения к Интернету)
Перейдите в автономную систему и создайте каталог, в котором вы хотите хранить файл сигнатуры:
$ mkdir ~/tmp
$ cd ~/tmp/
$ sudo apt-offline set apt-offline.sig
Generating database of files that are needed for an update. Generating database of file that are needed for operation upgrade
По умолчанию apt-offline генерирует базу данных файлов, которые необходимо обновить.
Вы можете использовать опции –update или –upgrade для создания базы данных.
Скопируйте всю папку tmp на USB-накопитель или внешний накопитель и перейдите в онлайн-систему (т. е. систему с интернетом).
Шаги, которые нужно выполнить в онлайн системе
Подключите USB-накопитель и перейдите в каталог «tmp»:
$ cd tmp/
Затем выполните следующую команду:
$ sudo apt-offline get apt-offline.sig --threads 5 --bundle apt-offline-bundle.zip
Тут «-threads 5» представляет количество репозиториев APT.
Вы можете увеличить это количество, если хотите загрузить пакеты из большего количества репозиториев.
А опция «–bundle apt-offline-bundle.zip» представляет все пакеты, которые будут объединены в один архивный файл с именем apt-offline-bundle.zip.
Этот архивный файл будет сохранен в вашем текущем рабочем каталоге.
Приведенная выше команда загрузит данные на основе файла сигнатуры, созданного ранее в автономной системе.
Это займет несколько минут в зависимости от скорости интернет-соединения.
Обратите внимание, что apt-offline является кроссплатформенным, поэтому вы можете использовать его для загрузки пакетов в любой ОС.
После завершения скопируйте папку tmp на USB или внешний диск и вернитесь обратно в автономную систему.
Убедитесь, что на вашем USB-устройстве достаточно свободного места для хранения всех загруженных файлов, поскольку все пакеты теперь сохраняются в папке tmp на USB-диске.
Действия в автономной системе
Подключите устройство к автономной системе и перейдите в каталог tmp, куда вы скачали все пакеты ранее.
$ cd tmp
$ sudo apt-offline install apt-offline-bundle.zip
Примечание. Если онлайн и автономная система находятся в одной локальной сети, вы можете перенести папку tmp в автономную систему, используя «scp» или любые другие приложения для передачи файлов. Если обе системы находятся в разных местах, скопируйте папку с помощью USB-устройств.