Ubuntu UbuntuDebian

«E: Unable to locate package» в Ubuntu и Debian: что делать

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

Сообщение E: Unable to locate package значит, что apt не нашёл пакет с таким именем в известных ему списках. Чаще всего не выполнено sudo apt update, имя пакета указано неверно или нужный компонент репозитория (например, universe) не включён. Проверьте имя через apt search, обновите списки и посмотрите, какие источники подключены.

В этой статье
  1. Что означает сообщение
  2. Причины
  3. Способ 1. Обновите списки пакетов
  4. Способ 2. Проверьте имя пакета
  5. Способ 3. Включите компонент universe
  6. Способ 4. Проверьте версию системы и источники
  7. Как проверить результат
  8. Если не помогло
  9. Пошаговое решение
  10. Обновление индекса и поиск
  11. Репозитории
  12. Сторонние пакеты

#Что означает сообщение

apt
E: Unable to locate package <имя>
По-русскиE: Не удалось найти пакет <имя>

«E: Unable to locate package имя» в Ubuntu и Debian значит, что apt не нашёл пакет в известных репозиториях. Причины: не обновлён индекс, пакета нет в вашей версии дистрибутива, не включён нужный репозиторий (universe, multiverse), опечатка в имени.

Решается обновлением списков и проверкой имени через поиск.

apt ищет пакет только в локальных списках, которые заполняются командой apt update из подключённых репозиториев. Если пакета нет в этих списках — вы увидите эту ошибку.

#Причины

  • Списки пакетов не обновлялись (свежая система, образ контейнера).
  • Опечатка или неверное имя пакета (у пакетов в Debian/Ubuntu свои имена).
  • Не включён компонент репозитория (universe, multiverse) либо пакет есть только в другом выпуске.
  • Версия системы больше не поддерживается, а репозитории перенесены в архив.
  • Неверная архитектура процессора (пакет есть не для всех).

#Способ 1. Обновите списки пакетов

Linux · Терминал (Bash)КомандаНужен sudo
Загружает актуальные списки пакетов из репозиториев. Это первое, что нужно сделать, особенно в Docker-контейнерах.
sudo apt update

#Способ 2. Проверьте имя пакета

Linux · Терминал (Bash)Команда
Заглушка имени пакета исключена из команды копирования; конкретный пакет ищется по шагам.
cat /etc/os-release
apt-cache search --names-only . | head -n 20

#Способ 3. Включите компонент universe

Многие популярные программы в Ubuntu находятся в universe. Включите его и обновите списки:

Linux · Терминал (Bash)С осторожностьюНужен sudo
Добавляет компонент universe к источникам пакетов Ubuntu.
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update

Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

#Способ 4. Проверьте версию системы и источники

Linux · Терминал (Bash)Команда
Показывает выпуск системы и подключённые источники. Если выпуск снят с поддержки, его репозитории могут быть перенесены на old-releases.ubuntu.com.
lsb_release -a
grep -rhE "^(deb|Types|URIs|Suites)" /etc/apt/sources.list /etc/apt/sources.list.d/

#Как проверить результат

apt-cache policy имя-пакета показывает версию в графе Candidate, а sudo apt install имя-пакета выполняется без ошибки.

#Если не помогло

Проверьте доступ в интернет и работу зеркала (ping archive.ubuntu.com, настройки прокси в /etc/apt/apt.conf.d/). Если пакета нет в вашем выпуске, ищите его в официальном сайте пакета или установите через snap/flatpak, но сначала убедитесь, что это поддерживается разработчиком.

#Пошаговое решение

  1. Обновите индексОткройте терминал Debian/Ubuntu, выполните sudo apt update и введите пароль пользователя с правом sudo. Если видны ошибки 404, DNS или отсутствия подписи, сохраните их текст и сначала восстановите нужный репозиторий. При успешном обновлении команда покажет завершение чтения списков пакетов. Тогда повторите поиск имени, а не установку из неизвестного архива.
  2. Проверьте имя пакетаВ выводе команды установки скопируйте точное имя отсутствующего пакета. В терминале выполните apt-cache search слово, заменив текст в кавычках на уникальное слово из имени, а затем apt-cache policy точное-имя с настоящим именем пакета. Если нет кандидата, проверьте вашу версию ОС (cat /etc/os-release) и доступные для неё официальные репозитории; не добавляйте репозиторий чужого выпуска Debian/Ubuntu.
  3. Включите universeДля Ubuntu с поддерживаемым выпуском пакет может находиться в компоненте universe. Сначала проверьте, что вы действительно используете Ubuntu командой cat /etc/os-release, затем при необходимости установите software-properties-common из официального репозитория и выполните sudo add-apt-repository universe. После sudo apt update повторите apt policy ИМЯ_ПАКЕТА. На Debian и других дистрибутивах отдельная команда universe не применяется; не добавляйте сторонние PPA как первую меру.
  4. Проверьте источникиСначала запишите адрес и имя репозитория из сообщения об ошибке. В Debian/Ubuntu проверьте /etc/apt/sources.list и файлы /etc/apt/sources.list.d/, в Fedora — /etc/yum.repos.d/, в Arch/Manjaro — /etc/pacman.d/mirrorlist. Сверьте адрес с официальной документацией именно вашей версии Linux, сохраните копию файла конфигурации и меняйте только неисправную запись. Затем обновите метаданные соответствующим менеджером пакетов.
  5. Подключите репозиторий разработчикаЕсли пакет отсутствует в официальных репозиториях вашего выпуска, откройте сайт разработчика и убедитесь, что он предоставляет источник именно для вашего дистрибутива и версии. Проверьте адрес, публичный ключ и полный отпечаток по опубликованной инструкции; используйте отдельный signed-by, не отключая проверку подписей. На рабочих серверах согласуйте подключение стороннего репозитория с администратором. Не копируйте команды неизвестного сайта, обещающие «исправить apt».

#Обновление индекса и поиск

Выполните sudo apt update, затем найдите пакет: apt-cache search ключевое_слово или apt search ключевое_слово. Проверьте точное имя: оно часто содержит версию (python3-pip, openjdk-17-jdk, php8.2-fpm). Посмотреть доступные версии: apt-cache policy имя.

#Репозитории

Включите universe и multiverse: sudo add-apt-repository universe и sudo add-apt-repository multiverse, затем sudo apt update. Проверьте /etc/apt/sources.list и файлы в /etc/apt/sources.list.d/: версия дистрибутива (lsb_release -cs) должна совпадать с кодовым именем в источниках. Для устаревших релизов (Ubuntu 18.04 и старше) репозитории перенесены на old-releases.ubuntu.com.

#Сторонние пакеты

Если пакета нет в официальных репозиториях (Docker, Node.js, VS Code), добавьте репозиторий разработчика по инструкции на его сайте или скачайте .deb и установите sudo apt install ./файл.deb. Для PHP — PPA ondrej, для Node.js — NodeSource. Проверьте, что включена сеть и работает DNS (ping archive.ubuntu.com).

Linux · Терминал (Bash)КомандаНужен sudo
Обновление индекса, поиск пакета, определение релиза.
sudo apt update
apt-cache search keyword
lsb_release -cs

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.