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

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

Создание и использование собственных пакетов Termux для расширения функциональности

Termux предоставляет мощную среду Linux‑подобных инструментов на Android‑устройствах. Стандартный репозиторий покрывает большинство сценариев, однако иногда требуется добавить собственные утилиты, скрипты или модифицированные версии пакетов. В этой статье мы рассмотрим, как создать собственный .deb-пакет, собрать его в Termux и использовать для расширения функциональности.

Подготовка окружения

Для сборки пакетов в Termux понадобится несколько базовых утилит:

pkg install dpkg-dev build-essential git

Также рекомендуется установить fakeroot, чтобы имитировать работу с правами root без реального доступа:

pkg install fakeroot

Структура пакета

Стандартный Debian‑пакет состоит из двух основных частей:

  • DEBIAN/ – каталог с метаданными (control, скрипты postinst и т.д.).
  • Корневая файловая система, где размещаются файлы, которые будут установлены пользователю (usr/, etc/, opt/ и т.п.).

Создадим простейший пакет, который добавит утилиту hello-termux в /usr/local/bin.

Создание каталога проекта

mkdir -p ~/mytermuxpkg/DEBIAN
mkdir -p ~/mytermuxpkg/usr/local/bin

Файл контроля (control)

Файл DEBIAN/control описывает пакет и его зависимости. Пример:

Package: hello-termux
Version: 1.0.0
Architecture: aarch64
Maintainer: Usachev Denis <denis@rybinsklab.com>
Description: Простая утилита, выводящая приветствие в Termux.
Depends: bash
Priority: optional
Section: utils

Обратите внимание на поле Architecture. Для большинства устройств используйте aarch64 (ARM64) или arm (ARM32).

Скрипт‑утилита

Создадим простой Bash‑скрипт hello-termux:

cat > ~/mytermuxpkg/usr/local/bin/hello-termux <<'EOF'
#!/data/data/com.termux/files/usr/bin/bash

echo "Привет из собственного пакета Termux!"
EOF
chmod +x ~/mytermuxpkg/usr/local/bin/hello-termux

Сборка пакета

Для создания .deb-файла используем dpkg-deb:

dpkg-deb --build ~/mytermuxpkg hello-termux_1.0.0_aarch64.deb

После выполнения в текущем каталоге появится файл hello-termux_1.0.0_aarch64.deb.

Установка и проверка

Установить пакет можно обычной командой dpkg -i:

dpkg -i hello-termux_1.0.0_aarch64.deb

Если возникнут конфликты зависимостей, исправьте их командой:

apt-get install -f

Проверьте работу утилиты:

hello-termux

Вы должны увидеть сообщение «Привет из собственного пакета Termux!».

Продвинутые возможности

  • Скрипты установки/удаления – добавьте файлы postinst, prerm в каталог DEBIAN/ для выполнения действий при установке/удалении.
  • Зависимости от внешних библиотек – укажите их в поле Depends. Termux автоматически установит недостающие пакеты.
  • Поддержка нескольких архитектур – создавайте отдельные сборки для aarch64, arm, i686 и x86_64.
  • Публикация в собственном репозитории – разместите собранные .deb‑файлы на сервере и добавьте его в sources.list через pkg install termux-apt-repo.

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

Если пакет не устанавливается, проверьте:

  • Корректность пути к интерпретатору в шебангe (#!/data/data/com.termux/files/usr/bin/bash).
  • Отсутствие запрещённых символов в файлах control и скриптах.
  • Правильность указания Architecture – несовпадение с вашей системой приводит к ошибке «architecture not supported».

Заключение

Создание собственных пакетов в Termux открывает широкие возможности для кастомизации Android‑терминала: вы можете распространять собственные утилиты, автоматизировать настройку окружения и делиться готовыми решениями с коллегами. Следуя описанным шагам, вы быстро получите полностью управляемый .deb-пакет, интегрированный в стандартный менеджер пакетов Termux.

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

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

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

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

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

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