Как обновить Termux на Android: полное руководство

Устаревшая версия Termux — самая частая причина ошибок вида «Unable to locate package», сбоев при установке пакетов и конфликтов зависимостей в терминале. Если команда pkg install возвращает ошибку или репозитории не отвечают, первое действие — проверить актуальность самого приложения и пакетной базы.

В этом руководстве разберём все способы обновления: от штатных команд pkg update и pkg upgrade до полной переустановки приложения из правильного источника. Отдельно рассмотрим типичные ошибки и способы их устранения без потери данных.

Почему важно обновлять Termux регулярно

Termux — это не просто терминал, а полноценная Linux-среда с собственным пакетным менеджером. Разработчики регулярно выпускают обновления: закрывают уязвимости, обновляют версии Python, Node.js, OpenSSL и других компонентов, от которых зависят пользовательские скрипты и инструменты.

Когда пакетная база устаревает, возникают характерные проблемы. Новые версии пакетов требуют свежих зависимостей, которых нет в старой системе, и установка обрывается с конфликтом. Кроме того, старые сборки Termux из Google Play давно не поддерживаются — репозитории для них отключены, и обновление через них невозможно в принципе.

  • 🔒 Закрытие уязвимостей в криптографических библиотеках и сетевых утилитах
  • 📦 Доступ к свежим версиям пакетов и языков программирования
  • 🛠️ Совместимость с актуальными скриптами и инструкциями из документации
  • ⚡ Исправление ошибок самого эмулятора терминала

Проверка текущей версии перед обновлением

Прежде чем обновляться, полезно узнать, какая версия приложения установлена и откуда она была скачана. От этого зависит дальнейшая стратегия: штатное обновление пакетов или полная переустановка.

Откройте Termux и выполните команду, которая покажет версию приложения:

termux-info

В выводе обратите внимание на строки TERMUX_VERSION и TERMUX_PACKAGE_MANAGER, а также на адреса репозиториев. Если версия приложения старая, а источником установки был Google Play, штатное обновление пакетов может не помочь — потребуется переустановка из F-Droid или с GitHub.

Обновление пакетов через pkg update и pkg upgrade

Стандартный способ обновить Termux без переустановки — использовать встроенный пакетный менеджер. Он работает в два этапа: сначала обновляется список доступных пакетов, затем сами установленные компоненты.

Выполните команды по очереди:

pkg update

pkg upgrade

Первая команда синхронизирует пакетную базу с репозиториями. Вторая скачает и установит новые версии всех устаревших пакетов. Во время работы pkg upgrade терминал может задавать вопросы о замене конфигурационных файлов — если вы не изменяли их вручную, обычно безопасно выбирать вариант по умолчанию (нажатие Enter).

☑️ Порядок штатного обновления Termux

Выполнено: 0 / 5

Есть и сокращённый вариант — одна команда вместо двух:

pkg update && pkg upgrade -y

Флаг -y автоматически подтверждает все запросы, что удобно, но лишает вас контроля над заменой конфигурационных файлов. Для первого обновления после долгого перерыва лучше проходить процесс вручную.

⚠️ Внимание: не прерывайте процесс обновления закрытием приложения или отключением интернета. Прерванная установка пакетов может оставить систему в несогласованном состоянии, когда часть зависимостей обновлена, а часть — нет. В этом случае повторите pkg upgrade до чистого завершения.

Смена репозиториев через termux-change-repo

Если pkg update зависает, выдаёт ошибки соединения или сообщает, что репозиторий недоступен, вероятная причина — нерабочее зеркало. Репозитории Termux распределены по нескольким серверам, и конкретное зеркало может быть недоступно из вашей сети.

Для смены источника пакетов выполните:

termux-change-repo

Откроется псевдографический интерфейс: сначала выберите, какие репозитории настроить (обычно достаточно Main repository), затем укажите зеркало — например, одно из официальных или зеркало, географически ближнее к вам. Навигация осуществляется стрелками, выбор — пробелом, подтверждение — Enter.

После смены репозитория обязательно повторите синхронизацию базы командой pkg update, иначе система продолжит использовать устаревшие данные.

📊 Как часто вы обновляете пакеты в Termux
Раз в неделю или чаще
Примерно раз в месяц
Только когда что-то ломается
Обновляю впервые

Полная переустановка: обновление самого приложения

Команды pkg обновляют только пакеты внутри Termux, но не само приложение. Если у вас старая сборка — особенно установленная из Google Play, где публикация прекращена, — единственный надёжный путь актуализации — удалить старую версию и установить свежий APK из F-Droid или с официальной страницы релизов на GitHub.

Важный нюанс: сборки из разных источников подписаны разными ключами, поэтому установить APK «поверх» версии из другого источника не получится — Android откажет в установке с ошибкой подписи. Потребуется сначала удалить старое приложение.

Перед удалением сохраните важные данные: скрипты, конфигурации, ключи SSH. Для резервного копирования домашнего каталога можно использовать команду tar, скопировав архив в общедоступное хранилище через termux-setup-storage. После переустановки файлы возвращаются обратно тем же способом.

Способ обновленияЧто обновляетсяКогда применять
pkg update && pkg upgradeПакеты и зависимостиРегулярное обслуживание системы
termux-change-repoИсточник пакетов (зеркало)Ошибки соединения с репозиторием
Переустановка APK из F-Droid/GitHubСамо приложение TermuxУстаревшая сборка, версия из Google Play
Резервное копирование через tarПользовательские данныеПеред переустановкой приложения
Как перенести домашний каталог перед переустановкой

Выполните termux-setup-storage и разрешите доступ к файлам. Затем создайте архив: tar -czf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files home. После установки новой версии распакуйте его обратно командой tar -xzf /sdcard/termux-backup.tar.gz -C /data/data/com.termux/files. Учтите, что установленные пакеты так не переносятся — их придётся ставить заново, поэтому сохраните список: pkg list-installed > /sdcard/packages.txt

Типичные ошибки при обновлении и их решение

Даже корректная процедура обновления иногда сопровождается ошибками. Разберём самые распространённые сценарии.

Ошибка «Unable to locate package». Пакетная база не синхронизирована или репозиторий недоступен. Решение: выполнить pkg update, при повторении ошибки — сменить зеркало через termux-change-repo.

Конфликт файлов при upgrade. Сообщения вида «trying to overwrite» означают, что два пакета претендуют на один файл. Часто помогает удаление конфликтующего пакета командой pkg remove с последующей повторной установкой после обновления системы.

Приложение не устанавливается поверх старого. Как упоминалось выше, это конфликт подписей при смене источника. Решение одно — удалить старую версию (предварительно сделав резервную копию) и поставить новую начисто.

⚠️ Внимание: не устанавливайте APK Termux со сторонних сайтов-каталогов. Используйте только F-Droid или официальные релизы проекта на GitHub — модифицированные сборки могут содержать вредоносный код, а терминал имеет доступ к вашим файлам.

Как автоматизировать обновления

Полностью автоматического механизма обновления в Termux нет, но можно упростить рутину. Самый простой вариант — создать алиас в файле ~/.bashrc (или ~/.zshrc, если используете zsh):

alias upd='pkg update && pkg upgrade'

После этого достаточно ввести upd, чтобы запустить полный цикл обновления. Что касается самого приложения из F-Droid — клиент F-Droid умеет уведомлять о новых версиях установленных программ, поэтому своевременные напоминания вы получите автоматически.

Формировать привычку обновляться стоит перед началом любой активной работы: установкой новых инструментов, запуском чужих скриптов, настройкой сервисов. Это занимает пару минут и избавляет от большинства загадочных ошибок.

Часто задаваемые вопросы

Можно ли обновить Termux из Google Play?

Версия Termux в Google Play давно не обновляется и считается устаревшей — репозитории пакетов для неё отключены. Рекомендуемый путь: удалить сборку из Google Play (сохранив данные) и установить актуальную версию из F-Droid или с официальной страницы релизов на GitHub.

Чем отличается pkg update от pkg upgrade?

Команда pkg update только синхронизирует список доступных пакетов с репозиторием, ничего не устанавливая. Команда pkg upgrade фактически скачивает и устанавливает новые версии пакетов. Для полноценного обновления нужны обе команды, выполненные последовательно.

Потеряются ли мои файлы и настройки при обновлении?

При обновлении пакетов через pkg upgrade ваши файлы и конфигурации сохраняются. А вот при удалении приложения для переустановки из другого источника все данные Termux стираются вместе с ним — поэтому резервная копия домашнего каталога обязательна.

Что делать, если pkg update выдаёт ошибку репозитория?

Сначала проверьте интернет-соединение. Если оно в порядке, запустите termux-change-repo и выберите другое зеркало, затем повторите pkg update. Если ошибка сохраняется при любых зеркалах, вероятно, у вас слишком старая версия самого приложения — потребуется переустановка из актуального источника.

Нужно ли обновлять Termux, если всё работает?

Да, хотя бы периодически. Устаревшие библиотеки содержат известные уязвимости, а при первой же попытке установить новый пакет вы столкнётесь с конфликтом зависимостей. Обновление «по требованию» после долгого перерыва обычно проходит тяжелее, чем регулярное обслуживание.