We detected you are likely not from a Russian-speaking region. Would you like to switch to the international version of the site?

  Назад к списку статей

Обновление и управление пакетами Linux в офлайн‑режиме через Termux

Termux – это полноценное Linux‑окружение для Android, которое позволяет использовать привычные инструменты управления пакетами apt и dpkg. В обычных условиях все операции выполняются онлайн, однако в полевых условиях, на устройствах без постоянного доступа к Интернету, часто требуется работать в офлайн‑режиме. В этой статье мы рассмотрим, как подготовить и использовать офлайн‑репозиторий, а также как обновлять и управлять пакетами без подключения к сети.

Подготовка среды

apt update && apt upgrade -y
apt install -y wget curl gnupg

Эти инструменты понадобятся для скачивания пакетов и работы с их подписью.

Скачивание пакетов для офлайн‑установки

Для создания собственного репозитория необходимо собрать все .deb‑файлы, которые вы планируете установить. Самый простой способ – воспользоваться опцией apt download:

mkdir -p ~/offline-repo && cd ~/offline-repo
apt download bash coreutils vim
# Добавьте любые дополнительные пакеты, включая их зависимости
apt-rdepends -p bash coreutils vim | grep -v "^\s$" | sort -u | while read pkg; do apt download $pkg; done

Команда apt-rdepends (пакет apt-rdepends) выводит дерево зависимостей, позволяя собрать всё необходимое.

Создание собственного офлайн‑репозитория

После того как все .deb‑файлы находятся в каталоге ~/offline-repo, необходимо сгенерировать файл индекса Packages.gz, который понимает apt:

cd ~/offline-repo
apt-ftparchive packages . > Packages
gzip -c Packages > Packages.gz

Создайте файл Release, указывая базовую информацию о репозитории:

cat < Release
Archive: offline
Component: main
Origin: RybinskLab
Label: OfflineRepo
Architecture: all
EOF

Если требуется подписать репозиторий, используйте gpg, но для большинства офлайн‑сценариев это необязательно.

Подключение локального репозитория к apt

Добавьте путь к репозиторию в файл /data/data/com.termux/files/usr/etc/apt/sources.list (или создайте отдельный файл в /data/data/com.termux/files/usr/etc/apt/sources.list.d/):

echo "deb [trusted=yes] file:/data/data/com.termux/files/home/offline-repo ." > $PREFIX/etc/apt/sources.list.d/offline.list

Параметр trusted=yes отключает проверку подписи, что упрощает работу в изолированных средах.

Установка и обновление пакетов в офлайн‑режиме

После добавления репозитория обновите кэш:

apt update

Установите необходимые пакеты:

apt install -y bash coreutils vim

Если требуется обновить уже установленный пакет, просто выполните команду apt install --reinstall <package> – apt возьмёт свежую версию из локального репозитория.

Работа с отдельными .deb‑файлами через dpkg

В некоторых случаях удобнее установить пакет напрямую:

dpkg -i ~/offline-repo/vim_.deb

Если после установки возникли проблемы с зависимостями, выполните:

apt -f install

Эта команда попытается исправить недостающие зависимости, используя ваш офлайн‑репозиторий.

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

Для поддержания актуальности репозитория периодически скачивайте новые версии пакетов и пересоздавайте индексы:

# Скачивание новых версий
apt download --reinstall bash coreutils vim
# Пересоздание индексов
apt-ftparchive packages . > Packages && gzip -c Packages > Packages.gz

Если у вас ограниченный доступ к сети, можно подготовить репозиторий на ПК, а затем перенести его в Termux через USB, SD‑карту или облачное хранилище.

Отладка и решение типичных проблем

  • Ошибка «Unable to locate package» – убедитесь, что путь к репозиторию указан правильно и файл Packages.gz присутствует.
  • Неправильные зависимости – используйте apt-rdepends при подготовке репозитория, чтобы собрать все необходимые пакеты.
  • Повреждённый .deb‑файл – проверьте контрольные суммы (md5/sha256) перед копированием.

Безопасность офлайн‑репозитория

Хотя в изолированных сетях риск атак снижен, рекомендуется:

  • Подписывать репозиторий GPG‑ключом и хранить публичный ключ в /etc/apt/trusted.gpg.d/.
  • Регулярно проверять контрольные суммы скачанных пакетов.
  • Ограничивать доступ к каталогу репозитория правами файловой системы (chmod 700).

Заключение

Офлайн‑управление пакетами в Termux – мощный инструмент для разработки и администрирования в условиях ограниченного доступа к Интернету. С помощью простых команд можно собрать собственный репозиторий, обеспечить быстрый доступ к необходимым пакетам и поддерживать их актуальность без постоянных загрузок.

Если вам нужен более глубокий аудит, настройка кастомных репозиториев или консультация по автоматизации процесса обновления, команда RybinskLab готова помочь. Мы предоставляем услуги по разработке и поддержке Linux‑окружений на Android, а также подготовке обучающих материалов и скриптов для корпоративных клиентов.

* Текст статьи подготовлен и структурирован с использованием технологий искусственного интеллекта. Проверен экспертом RybinskLab.

Поделиться знанием:

Нужна профессиональная помощь?

Меня зовут Усачёв Денис Евгеньевич. Я оказываю IT-услуги в Рыбинске и Ярославской области: настройка серверов, безопасность, автоматизация бизнеса.

Связаться со мной