Unable to locate package в Termux: что делать и как исправить

Ошибка 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

Если ошибка исчезла — причина была в устаревших индексах. Если нет, переходите к следующим шагам.

☑️ Базовая диагностика ошибки

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

Шаг 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 и проверьте, скачиваются ли списки без ошибок. Если зеркало возвращает ошибку, установка любых пакетов будет невозможна до её устранения — это ключевая зависимость, которую часто упускают.

📊 Что помогло вам исправить ошибку?
Обновление pkg update && pkg upgrade
Исправление имени пакета
Смена зеркала termux-change-repo
Переустановка Termux из F-Droid

Шаг 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, но зависимости при этом не разрешаются автоматически. Это обходной путь для опытных пользователей; сначала стоит попробовать штатные способы через репозитории.