Что Package <package> has no installation candidate
означает, что пакет не найден в исходниках вашего программного обеспечения Ubuntu releases.
Одна из возможных причин этого сообщения заключается в том, что этот пакет является старым пакетом, который был удален из репозиториев вашего выпуска по умолчанию. Чтобы проверить наличие этой возможности, выполните следующую команду:
rmadison <пакет>
Эта команда покажет, какие версии Ubuntu предоставляют этот пакет, а также покажет, какой репозиторий предоставляет этот пакет.
Другая возможная причина этого сообщения заключается в том, что этот пакет недоступен для архитектуры процессора вашего компьютера. Это стоит проверить, если на вашем компьютере установлен процессор ARM. Еще раз бегите rmadison <package>
чтобы показать эту информацию. rmadison <package>
также будет показано, доступен ли пакет, который вы ищете, только в виде исходного кода, и в этом случае вы должны загрузить исходный код пакета с помощью apt-get source <package>
, создайте файл .deb из исходного кода, загруженного с помощью такой программы, как checkinstall, и установите файл .deb с помощью sudo apt install ./package.deb
Другая возможная причина этого сообщения заключается в том, что этот пакет не найден в списке доступного программного обеспечения, поскольку список доступного программного обеспечения в источниках программного обеспечения не был обновлен. Чтобы обновить список доступного программного обеспечения, выполните следующую команду:
sudo apt update
склонность это менеджер пакетов на базе терминала с режимом командной строки, аналогичным режиму apt-get, только он умнее. aptitude может помочь разрешить конфликты пакетов, которые приводят к E: Package 'package-name' has no installation candidate
сообщение об ошибке.
sudo apt install aptitudesudo aptitude install имя пакета # замените имя пакета на имя пакета
Допустим, вы получаете следующее сообщение об ошибке в Ubuntu 20.04.
E: Package 'libssl0.9.8' has no installation candidate
Похоже, что libssl, вероятно, доступен в репозиториях Ubuntu 20.04 по умолчанию, но он был переименован, поскольку libssl был обновлен до более новой версии. Чтобы проверить, был ли libssl0.9.8 переименован в Ubuntu 20.04, выполните следующую команду:
apt-cache search "^libssl.*"
Результаты apt-cache search "^libssl.*"
в 18.04-22.04 показано, что libssl0.9.8 был обновлен до libssl1.1.