Команда pkg install python в Termux завершается строкой «E: Unable to locate package» — это значит, что менеджер пакетов apt не нашёл указанное имя ни в одном из подключённых репозиториев. Чаще всего виновата не опечатка, а устаревший локальный индекс пакетов, недоступное зеркало репозитория или устаревшая версия самого Termux, установленная из Google Play.
Ошибка относится к разряду легко устранимых, но важно действовать в правильном порядке: сначала обновить списки пакетов, затем проверить источники и только потом искать альтернативы. Ниже разберём все типовые причины и рабочие способы исправления.
Почему Termux не находит пакет: основные причины
Сообщение unable to locate package — стандартный ответ apt, когда имя пакета отсутствует в загруженных индексах репозиториев. В контексте Termux для этого есть несколько характерных причин.
- 🔍 Опечатка в имени пакета — регистр и точное написание имеют значение, имена пишутся в нижнем регистре.
- 📦 Устаревший локальный индекс — списки пакетов не обновлялись, и apt работает со старыми или пустыми данными.
- 🌐 Недоступное или «мёртвое» зеркало — выбранный сервер репозитория не отвечает или отдаёт устаревшие данные.
- 📱 Устаревшая версия Termux — сборка из Google Play давно не поддерживается, её репозитории заморожены и не содержат актуальных пакетов.
- 🧩 Пакет находится в дополнительном репозитории — часть программ вынесена в отдельные источники, которые нужно подключить отдельно.
⚠️ Внимание: версия Termux из Google Play официально заброшена разработчиками. Если приложение установлено оттуда, ошибки при установке пакетов почти гарантированы — рекомендуемый источник установки сейчас F-Droid или релизы на GitHub проекта.
Шаг 1. Обновление списков пакетов
Первое и самое частое решение — обновить локальные индексы. Без свежего индекса apt просто не знает о существовании пакетов, даже если они есть на сервере. Выполните в терминале:
pkg update && pkg upgrade
Команда pkg update скачивает актуальные списки пакетов со всех подключённых репозиториев, а pkg upgrade обновляет уже установленное ПО. Во время обновления могут появляться вопросы о замене конфигурационных файлов — если не уверены, оставляйте версию по умолчанию (ответ N).
После завершения повторите установку нужного пакета. Если ошибка сохраняется — переходите к проверке зеркал и источников.
☑️ Базовая диагностика ошибки
Шаг 2. Проверка имени пакета и его поиск
Прежде чем менять настройки, убедитесь, что пакет с таким именем вообще существует. Для этого в Termux есть встроенный поиск:
pkg search часть_имени
Команда выведет все пакеты, в названии или описании которых встречается указанный фрагмент. Например, вместо угадывания можно выполнить pkg search editor и посмотреть точные имена доступных редакторов. Учтите, что имена пакетов в Termux не всегда совпадают с привычными по десктопным дистрибутивам Linux.
Если поиск ничего не нашёл, возможны два варианта: пакет лежит в дополнительном репозитории (об этом ниже) либо его действительно нет в репозиториях Termux, и придётся искать альтернативу или собирать программу из исходников.
Шаг 3. Смена зеркала репозитория
Возможная причина ошибки — недоступное зеркало: сервер не отвечает, блокируется провайдером или отдаёт устаревший снимок репозитория. Termux имеет встроенную утилиту для смены источника:
termux-change-repo
Утилита открывает интерактивное меню: пробелом отмечаются репозитории, затем выбирается зеркало из списка. Разумно выбрать географически близкий сервер или основной репозиторий проекта. После смены зеркала обязательно повторите pkg update, иначе индексы останутся старыми.
Шаг 4. Подключение дополнительных репозиториев
Часть программ в Termux вынесена из основного репозитория в отдельные. Если пакет не находится даже после обновления индексов, проверьте, не относится ли он к одному из дополнительных источников.
| Репозиторий | Команда подключения | Что содержит |
|---|---|---|
| x11-repo | pkg install x11-repo | Графические приложения и окружения рабочего стола |
| root-repo | pkg install root-repo | Утилиты, требующие root-доступ |
| tur-repo | pkg install tur-repo | Сторонние пакеты сообщества (поддерживается энтузиастами) |
После подключения любого репозитория снова выполните pkg update и повторите установку. Имейте в виду: перечень дополнительных репозиториев может меняться, актуальный список стоит сверять с официальной вики проекта Termux.
⚠️ Внимание: сторонние репозитории вроде tur-repo поддерживаются сообществом, а не основной командой Termux. Устанавливайте из них только те пакеты, в происхождении которых уверены.
Шаг 5. Переустановка Termux из актуального источника
Если ни обновление, ни смена зеркала не помогли, а pkg update выдаёт ошибки доступа к репозиториям, с высокой вероятностью у вас устаревшая сборка Termux. Версия из Google Play использует замороженные репозитории, которые больше не пополняются, поэтому многие пакеты там попросту отсутствуют.
Порядок действий такой: удалите текущую версию, установите Termux из F-Droid или скачайте APK со страницы релизов проекта на GitHub, затем сразу выполните pkg update && pkg upgrade. Важно: сборки из Google Play и F-Droid подписаны разными ключами, поэтому обновить одну до другой без удаления нельзя — Android откажется устанавливать пакет поверх.
Перед удалением сохраните нужные данные из домашнего каталога Termux: скрипты, файлы конфигурации и результаты работы. После переустановки их можно вернуть на место.
Как сохранить данные перед переустановкой
Скопируйте нужные файлы из домашнего каталога Termux в общее хранилище командой cp -r ~/папка /sdcard/ (предварительно выдайте доступ к хранилищу командой termux-setup-storage). После установки новой версии верните файлы обратно той же командой в обратном направлении.
Типичные ошибки, которые мешают решить проблему
Некоторые действия выглядят логично, но только тратят время или усугубляют ситуацию:
- 🚫 Повторный ввод
pkg installбез предварительногоpkg update— индекс сам себя не обновит. - 🚫 Копирование команд из старых руководств с устаревшими именами пакетов — сначала проверьте имя через
pkg search. - 🚫 Установка Termux из сторонних каталогов приложений — там могут лежать модифицированные или устаревшие сборки.
- 🚫 Игнорирование ошибок при
pkg update— если списки не загрузились, дальнейшая установка бессмысленна.
Частые вопросы
Почему pkg update тоже завершается с ошибкой?
Обычно это указывает на недоступное зеркало или заблокированный репозиторий устаревшей версии Termux. Попробуйте сменить зеркало через termux-change-repo, проверьте интернет-соединение и отключите VPN. Если ничего не помогает — вероятно, установлена устаревшая сборка из Google Play.
Пакет есть в Ubuntu, но Termux его не находит. Почему?
Репозитории Termux формируются отдельно и не повторяют состав Ubuntu или Debian. Часть программ не портирована под Android, а некоторые имеют другие имена. Проверьте наличие через pkg search и дополнительные репозитории.
Можно ли установить deb-пакет вручную, если его нет в репозитории?
Технически dpkg в Termux доступен, но пакеты, собранные для обычных дистрибутивов Linux, чаще всего несовместимы с окружением Android и его путями. Надёжнее найти аналог в репозиториях Termux или собрать программу из исходного кода.
Нужен ли root для исправления этой ошибки?
Нет. Ошибка unable to locate package связана с репозиториями и индексами пакетов, а не с правами доступа. Все описанные решения выполняются без root.
Ошибка появляется только с одним конкретным пакетом. Что делать?
Уточните точное имя через pkg search, проверьте, не входит ли пакет в x11-repo, root-repo или tur-repo. Если пакета нет нигде — вероятно, он не портирован в Termux, и нужно искать альтернативу.