Устранение ошибки "No Installation Candidate" в Ubuntu

Что означает сообщение «Package has no installation candidate»
Это сообщение появляется, когда APT не может найти доступный для установки вариант запрашиваемого пакета. В типичных случаях причина одна из следующих:
- Вы неправильно ввели имя пакета (опечатка, лишний/отсутствующий дефис или номер версии).
- Пакет отсутствует в включённых репозиториях (например, только в universe/multiverse или в стороннем PPA).
- Пакет удалён из официальных репозиториев для текущей версии Ubuntu (чаще у старых или deprecated пакетов).
- Пакет доступен, но не для вашей архитектуры (например, только arm64, а у вас amd64).
- Пакет помечен как transitional или предоставляется другим именем в новых релизах.
Краткое определение: “No installation candidate” — APT знает о пакете (например, он перечислен как зависимость другого пакета) или вы его запросили, но не нашёл ни одного бинарного пакета, который можно загрузить и установить для вашей конфигурации.

Быстрые проверки перед углублённой диагностикой
- Проверьте опечатки в имени пакета.
- Выполните sudo apt update, чтобы обновить индекс.
- Убедитесь, что включены universe и multiverse при необходимости.
- Проверьте версию Ubuntu и архитектуру.
- Поиск через apt search, Snap, Flatpak или сайт разработчика.
Как правильно искать пакет
Если вы не уверены в точном имени, используйте apt search для подсказок:
apt search flameshotЕсли список слишком большой, сузьте поиск с помощью регулярного начала имени:
apt search "^PACKAGE_NAME.*"Пример: чтобы отфильтровать пакеты, начинающиеся с firefox:
apt search "^firefox.*"Совет: заменяйте PACKAGE_NAME на часть слова и смотрите, какие совпадения предлагает APT.

Обновление индексных данных и системы
APT использует локальный индекс пакетов. Если он устарел, пакеты из удалённых репозиториев не найдутся. Всегда начинайте с обновления индексa и, при необходимости, обновления пакетов:
sudo apt update && sudo apt upgradeПосле обновления индекса повторите установку:
sudo apt install 
Важно: обновление не исправляет ситуацию, если пакет удалён из репозиториев для вашей версии Ubuntu — в этом случае нужен другой источник.
Добавление стороннего репозитория или PPA
Если пакет доступен только в PPA или стороннем репозитории, добавьте его в APT. На сайтах разработчиков обычно есть инструкция и адрес репозитория (например, Launchpad PPA).
Добавление PPA:
sudo add-apt-repository ppa:vendor/ppa-name
sudo apt updateЕсли репозиторий предоставляет инструкции по добавлению ключа GPG — следуйте им. Учтите, что apt-key устарел: современные инструкции часто предлагают gpg –dearmour и размещение ключа в /etc/apt/trusted.gpg.d/ или использование signed-by в /etc/apt/sources.list.d/*.list.
После добавления PPA обновите индекс и установите пакет.
Проверка и включение репозиториев через графический интерфейс
Откройте приложениe Software & Updates, вкладка “Ubuntu Software” и убедитесь, что включены:
- main
- universe
- restricted
- multiverse
После включения нажмите “Close” и обновите индекс:
sudo apt update
Включение репозиториев через терминал
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo add-apt-repository restricted
sudo apt updateОбъяснение: universe — программное обеспечение, поддерживаемое сообществом; multiverse — пакеты с ограничениями лицензий; restricted — проприетарные драйверы и т. п.
Проверьте поддержку вашей версии Ubuntu
Некоторые пакеты удаляются из репозиториев устаревших релизов. Узнать версию системы:
lsb_release -a
uname -mЕсли ваша версия Ubuntu не поддерживается, рассмотрите обновление до поддерживаемого релиза. Альтернатива — поиск бэкпортов (backports), которые иногда поддерживают более старые релизы.

Пример: пакеты, связанные с Python 2, могли быть удалены из современных репозиториев; вместо python-pip сегодня чаще использовать python3-pip.
Альтернативные методы установки
Если пакет недоступен через APT, используйте альтернативы:
- Snap:
sudo snap install - Flatpak (после установки Flatpak и добавления Flathub):
flatpak install flathub org.example.App- Установка .deb из официального сайта:
wget https://example.org/package_file.deb
sudo apt install ./package_file.deb- Сборка из исходников (требует зависимостей):
./configure
make
sudo make installПомните: сборка из исходников усложняет управление зависимостями и обновлениями.
Частые причины и примеры
- Переименование пакета: python-pip -> python3-pip.
- Пакет удалён как deprecated: php5 может быть удалён из современных репозиториев.
- Архитектурная несовместимость: пакет только для arm64, но у вас amd64.
- Пакет доступен только через платные или проприетарные источники (multiverse).
Совет: поиск по описанию в пакете или веб-поиск «package_name ubuntu
Плейбук: шаги для системного администратора
- Скопировать проблему и окружение:
- Версия Ubuntu (lsb_release -a)
- Архитектура (uname -m)
- Вывод sudo apt update, sudo apt install
- Проверить опечатки и альтернативные имена через apt search.
- Выполнить sudo apt update && sudo apt upgrade.
- Включить universe/multiverse/restricted при необходимости.
- Искать PPA или официальный репозиторий пакета и добавить его, соблюдая инструкцию по ключам.
- При невозможности найти пакет: предложить Snap/Flatpak/.deb или собрать из исходников.
- Документировать решение и предусмотреть план отката.
Критерии приёмки:
- Пакет успешно устанавливается локально или есть рабочая альтернатива (Snap/Flatpak/.deb).
- Обновления и безопасность не нарушены (не подключён ненадёжный PPA без проверки).
- Есть тест установки на чистой VM аналогичной конфигурации.
Инцидентный рукбук и откат
Сценарий: после добавления PPA и установки пакета появилась нестабильность.
Шаги для отката:
- Удалите пакет:
sudo apt remove --purge - Удалите PPA:
sudo add-apt-repository --remove ppa:vendor/ppa-name
sudo apt update- Если ключ добавлен вручную, удалите его из /etc/apt/trusted.gpg.d/.
- Если конфигурации изменялись, восстановите из резервной копии /etc/.
- Перезагрузите и проверяйте логи syslog/journalctl.
Дерево решений для быстрого выбора действий
flowchart TD
A[Ошибка: No Installation Candidate] --> B{Проверили имя пакета?}
B -- Нет --> C[Исправьте опечатку; выполните apt search]
B -- Да --> D{Обновили индексы?}
D -- Нет --> E[sudo apt update && sudo apt upgrade]
D -- Да --> F{Пакет в стандартных репозиториях?}
F -- Да --> G[Проверьте архитектуру и версию Ubuntu]
F -- Нет --> H{Есть PPA или официальный репозиторий?}
H -- Да --> I[Добавьте PPA, обновите и установите]
H -- Нет --> J{Можно ли установить через Snap/Flatpak/.deb?}
J -- Да --> K[Установите альтернативным способом]
J -- Нет --> L[Рассмотрите сборку из исходников или обновление ОС]Чеклист по ролям
Администратор:
- Получить информацию об окружении: lsb_release, uname -m, /etc/apt/sources.list*
- Обновить индексы и логи
- Проверить и добавить репозитории/ключи
- Выполнить тестовую установку на VM
Разработчик / DevOps:
- Убедиться, что в CI используются корректные пакеты
- Заменить старые зависимости на поддерживаемые аналоги
- Автоматизировать добавление репозиториев и ключей в образах
Обычный пользователь:
- Проверить опечатку
- Выполнить sudo apt update
- Попробовать Snap/Flatpak
- Обратиться к документации разработчика ПО
Тестовые случаи и критерии приёмки
- Установка пакета из официального репозитория: пакет устанавливается без ошибок.
- Добавление PPA: PPA добавлен, ключ валиден, пакет устанавливается.
- Snap/Flatpak: приложение запускается после установки.
- Сборка из исходников: бинарный файл появляется в /usr/local/bin и тестовая команда работает.
Критерий приёмки: конечный пользователь может запустить требуемую программу и основные функции работают.
Советы по безопасности и подписи репозиториев
- Проверяйте источник PPA и ключи GPG перед добавлением.
- apt-key deprecated: предпочитайте signed-by в файлах /etc/apt/sources.list.d/*.list или хранение ключей в /etc/apt/trusted.gpg.d/.
- Не добавляйте неизвестные репозитории на продакшн-серверы без аудита.
Частые вопросы
Можно ли найти список всех доступных PPA?
Нет единого централизованного списка всех PPA, но Launchpad предоставляет поиск по PPA, где разработчики публикуют свои репозитории. Проверяйте репутацию и документацию перед использованием.
Почему Ubuntu не добавил мой репозиторий при обновлении?
Обычно потому, что отсутствует подписывающий ключ GPG или запись источника была отключена. Проверьте сообщения в выводе sudo apt update — они укажут на ошибки с ключами или недоступными репозиториями.
Я на LTS и получаю эту ошибку. Моя система повреждена?
Нет. Скорее всего пакет недоступен для вашей версии или переименован. Можно использовать backports, PPA или обновить релиз, если это приемлемо.
Глоссарий (одна строка каждый)
- APT: менеджер пакетов в Debian/Ubuntu, который управляет пакетными индексами и установкой.
- PPA: Personal Package Archive — персональный репозиторий, часто хостится на Launchpad.
- Snap/Flatpak: универсальные форматы пакетов, изолированные от системных пакетов.
- Backports: репозитории с новыми версиями пакетов для старых релизов.
Галерея краевых случаев
- Пакет указан только как исходник (source only) — бинарные сборки отсутствуют.
- Пакет имеет зависимость, которая недоступна для вашей архитектуры.
- Ранние релизы Ubuntu используют иные имена пакетов (python -> python2/3).
Локальные альтернативы и советы для регионов с медленным интернетом
- Зеркала: выберите ближайшее зеркало в Software & Updates, чтобы ускорить обновления.
- Кеширование пакетов: используйте apt-cacher-ng для кеширования пакетов в локальной сети.
Итог
Сообщение “No Installation Candidate” означает, что APT не нашёл подходящего бинарного варианта запрошенного пакета для вашей системы. Решения — системный чек (опечатки, apt update), включение нужных репозиториев, добавление PPA с проверкой ключей, переход на альтернативные форматы пакетов или обновление/бэкпорт. Для администраторов полезен плейбук с шагами диагностики и отката.
Важно: всегда проверяйте источник сторонних репозиториев и следуйте официальным инструкциям разработчика пакета.
Похожие материалы
FLAC в ALAC на Mac: инструкция с XLD
Заблокировать домен в Gmail и удалять письма
Как убрать экран Preparing BitLocker recovery
Отключить Reserved Storage в Windows 10
Как переслать несколько писем в Gmail