Что означает "Пакет <пакет> не имеет кандидата на установку"?

Что означает приведенная выше ошибка? Что такое кандидат на установку?

Я пытался сделать

sudo apt-get install munin-memcached  

и я получаю это сообщение:

Reading package lists... DoneBuilding dependency tree       Reading state information... DonePackage munin-memcached is not available, but is referred to by another package.This may mean that the package is missing, has been obsoleted, oris only available from another sourceE: Package munin-memcached has no installation candidate

Я погуглил проблему, и кто-то сказал, что нужно сделать apt-get upgrade но это все равно не решило мою проблему.

Это происходит, когда вы пытаетесь установить пакет, о котором APT не имеет ни малейшего представления. Когда вы добавляете исходные коды программного обеспечения, вам необходимо выполнить apt-get update чтобы база данных вашей системы APT обновлялась всеми пакетами в репозиториях, перечисленных в списках источников программного обеспечения.

Затем, когда вы пытаетесь установить какой-либо пакет, APT проверяет имя пакета в своей базе данных, находит его и проверяет имя репозитория, из которого он его получил. Затем он загружает пакет из этого репозитория.

Это означает, что из всех репозиториев, перечисленных в источниках вашего программного обеспечения, ни один из них не имеет имени пакета munin-memcached. Я проверил еще раз, и он недоступен в официальных репозиториях Ubuntu.

После небольшого поиска в Google я обнаружил, что он доступен в этом PPA: крис-леа/мунин-плагины

Добавьте этот PPA и устанавливайте пакеты на свой страх и риск. Я не знаю этого человека.

Чтобы добавить PPA, выполните приведенную ниже команду:

sudo add-apt-repository ppa:chris-lea/munin-plugins

Для установки пакета munin-memcached, выполните приведенную ниже команду:

sudo apt-get update && sudo apt-get install munin-memcached

Это означает, что какой-то установленный пакет говорит, что для работы ему нужен пакет с именем munin-memcached. Но менеджер пакетов не находит его в репозиториях. Обычно за ним следует некоторая информация о том, в каких пакетах его не хватает, но здесь этого не произошло.

В стандартных репозиториях Ubuntu нет имени пакета munin-memcached, поэтому вы, вероятно, используете какой-то дополнительный репозиторий. Если вы разместите это здесь, мы можем попытаться найти причину.

Что 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.

это сработало для меня: запустите “sudo software-properties-gtk” >> на вкладке “Программное обеспечение Ubuntu” выберите / отметьте первые 4 опции - main, universe, restricted, multiverse >> нажмите “закрыть” >> нажмите “перезагрузить” >> повторите попытку установки команды