Ошибка unable to locate package в Termux означает, что пакетный менеджер pkg (или apt) не нашёл указанное имя в списках доступных репозиториев — чаще всего из-за устаревших индексов пакетов, неверного написания имени или неподключённого репозитория. Проблема решается в большинстве случаев без переустановки приложения: достаточно обновить списки пакетов и проверить правильность команды.
Ниже разберём причины появления ошибки, пошаговую диагностику и рабочие способы исправления — от простого обновления до смены зеркала репозиториев. Инструкция подходит для актуальных версий Termux из F-Droid и GitHub.
Почему Termux пишет «unable to locate package»
Пакетный менеджер ищет программы не в интернете напрямую, а в локальных списках (индексах), которые скачиваются с серверов-зеркал. Если эти списки устарели, повреждены или вовсе отсутствуют, любая команда установки завершится ошибкой — даже если пакет существует.
Типичные причины:
- 📦 Устаревшие индексы пакетов — списки не обновлялись давно, и нужный пакет ещё не попал в локальную базу.
- ✍️ Опечатка в имени пакета — регистр и точное написание имеют значение:
Pythonиpython— разные запросы. - 🌐 Недоступное зеркало репозитория — сервер не отвечает, и обновление списков проходит с ошибкой.
- 🗂️ Пакет находится в дополнительном репозитории — например, в root-repo или x11-repo, которые не подключены по умолчанию.
- 📱 Устаревшая версия Termux из Google Play — сборка в Play Market давно не обновлялась, и её репозитории могут не работать корректно.
Шаг 1. Обновите списки пакетов
Первое и самое эффективное действие — принудительное обновление индексов. Выполните в терминале:
pkg update && pkg upgrade
Команда pkg update скачивает свежие списки пакетов с зеркала, а pkg upgrade обновляет уже установленные компоненты. Если в процессе появится вопрос о замене конфигурационных файлов, обычно безопасно оставить текущую версию, ответив N, либо принять новую — Y.
После завершения повторите установку нужного пакета, например:
pkg install python
Если ошибка исчезла — причина была в устаревших индексах. Если нет, переходите к следующим шагам.
☑️ Базовая диагностика ошибки
Шаг 2. Проверьте правильность имени пакета
Termux чувствителен к точному написанию. Имена пакетов всегда в нижнем регистре, а некоторые программы имеют неочевидные названия: например, Neovim устанавливается как neovim, а не nvim в некоторых случаях требуется уточнение.
Чтобы найти правильное имя, используйте поиск:
pkg search часть_названия
Команда выведет список пакетов, содержащих указанный фрагмент. Найдите в результатах точное имя и используйте его в pkg install. Дополнительно посмотреть информацию о конкретном пакете можно через pkg show имя.
Шаг 3. Подключите дополнительные репозитории
Часть пакетов не входит в основной репозиторий Termux. Если вы уверены, что программа существует, но поиск её не находит, возможно, она лежит в одном из дополнительных источников:
- 🛠️
pkg install root-repo— пакеты, требующие root-доступа. - 🖥️
pkg install x11-repo— графические приложения и окружения рабочего стола. - 🔬 Некоторые научные и специфические утилиты распространяются через сторонние репозитории сообщества, которые подключаются отдельно.
После установки репозитория обязательно выполните pkg update, чтобы его списки попали в локальную базу, и только затем повторяйте установку нужного пакета.
⚠️ Внимание: подключайте только официальные репозитории Termux и источники, которым доверяете. Сторонние репозитории могут содержать непроверенные или вредоносные пакеты.
Шаг 4. Смените зеркало репозитория
Если pkg update зависает, выдаёт ошибки соединения или скачивает списки частично, вероятная причина — недоступное или перегруженное зеркало. Termux позволяет выбрать другой сервер встроенной утилитой:
termux-change-repo
Откроется интерактивное меню: клавишами-стрелками и пробелом отметьте репозитории, затем выберите зеркало — желательно географически ближнее к вам или другое, если текущее не отвечает. После подтверждения утилита автоматически обновит конфигурацию.
Завершите смену зеркала командой pkg update и проверьте, скачиваются ли списки без ошибок. Если зеркало возвращает ошибку, установка любых пакетов будет невозможна до её устранения — это ключевая зависимость, которую часто упускают.
Шаг 5. Проверьте источник установки Termux
Версия Termux из Google Play долгое время не обновлялась и считается устаревшей: её репозитории могут работать некорректно, а пакеты — конфликтовать с актуальными. Актуальные сборки распространяются через F-Droid и страницу релизов проекта на GitHub.
Проверить источник установки можно в системных настройках Android: откройте сведения о приложении Termux и посмотрите поле с информацией об установке. Если приложение установлено из Play Market и ошибки продолжаются после всех шагов выше, рассмотрите переход на сборку из F-Droid.
⚠️ Внимание: перед удалением старой версии сохраните важные данные из домашнего каталога Termux (например, скопировав файлы в общее хранилище через
termux-setup-storage). Удаление приложения стирает всё его окружение безвозвратно.
Как сохранить данные перед переустановкой
Выполните termux-setup-storage и разрешите доступ к памяти. Затем скопируйте нужные файлы командой cp -r ~/папка /sdcard/ — они появятся во внутреннем хранилище телефона. После переустановки верните их обратно тем же способом.
Сводная таблица: причины и решения
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Ошибка при любом пакете | Устаревшие индексы | pkg update && pkg upgrade |
| Ошибка с одним пакетом | Опечатка в имени | pkg search для поиска точного имени |
| Пакет существует, но не находится | Неподключённый репозиторий | Установить root-repo или x11-repo |
| Update зависает или падает | Недоступное зеркало | termux-change-repo |
| Ничего не помогает | Устаревшая сборка из Play Market | Переустановка из F-Droid |
Часто задаваемые вопросы
Чем отличаются команды pkg и apt в Termux?
pkg — это обёртка над apt, адаптированная под Termux: она автоматически учитывает особенности окружения. Для повседневного использования рекомендуется именно pkg, хотя команды apt update и apt install тоже работают.
Нужен ли root для исправления ошибки unable to locate package?
Нет. Ошибка связана с репозиториями и списками пакетов, а не с правами доступа. Все описанные решения выполняются без root-прав на устройстве.
Почему pkg update выдаёт ошибку вместо обновления?
Возможные причины: отсутствие интернета, недоступное зеркало или устаревшая версия Termux. Проверьте соединение, смените зеркало через termux-change-repo, а при повторных сбоях проверьте источник установки приложения.
Пакет есть на сайте Termux, но не устанавливается. Почему?
Вероятно, он находится в дополнительном репозитории (root-repo, x11-repo) или удалён из актуальных сборок. Подключите нужный репозиторий, выполните pkg update и повторите поиск через pkg search.
Можно ли установить пакет вручную из .deb-файла?
Технически да, через dpkg -i файл.deb, но зависимости при этом не разрешаются автоматически. Это обходной путь для опытных пользователей; сначала стоит попробовать штатные способы через репозитории.