Каждый пакет «не имеет кандидата на установку»

26

При попытке установить openssh-serverна Ubuntu 14.04 64-bit, я получаю следующую ошибку:

Package openssh-server is not available but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'openssh-server' has no installation candidate

Я вижу ту же ошибку при попытке установить любой пакет.

Это sources.listфайл:

deb http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.canonical.com/ubuntu hardy partner
Салман 299402
источник
2
Ты бегал apt-get update? Кроме того, вы проверили, если sources.listесть соответствующие записи?
Псимон
Пожалуйста, оставьте вывод apt-cache policy.
Фахим Митха
4
Пожалуйста, не публикуйте скриншоты вывода текста:
опубликуйте
salman @ salman-Inspiron: ~ $ sudo apt-cache policy [sudo] пароль для salman: Файлы пакетов: 100 / var / lib / dpkg / status release a = сейчас Закрепленные пакеты: salman @ salman-Inspiron: ~ $
salman 299402
1
Я предложил редактирование, которое должно сделать это ответственным, это просто требует одобрения.
Оли

Ответы:

25

Если это действительно весь ваш /etc/apt/sources.listфайл, это объясняет вашу текущую ситуацию. И у меня нет объяснения, почему у вас установлен репозиторий Hardy. Я подозреваю, что вы следовали старому учебнику, и он сломал вещи.

Ваш первый шаг - вернуть репо в нужное русло. Я бы предложил использовать такой инструмент, как RepoGen, чтобы получить основы, но если это не удалось, вот наиболее важные из них:

deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse 
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 

Поместите их в нужное место sudoedit /etc/apt/sources.list(вы могли бы также бросить эти строки о Харди). Когда это будет сохранено, запустите, sudo apt-get updateа затем вы сможете установить вещи снова.

Oli
источник
Этот ответ помог мне с askubuntu.com/questions/789302/…
Шаян
3

У меня была та же самая проблема, я попробовал все вышеупомянутое решение наряду с проверкой программного центра Ubuntu. Я не мог взломать, чтобы решить это. Я попробовал другой способ, который работал для меня. Вот мое решение

Во-первых, мы должны быть подключены к Интернету, чтобы процесс обновления происходил.

$sudo apt-get remove openssh-client

$sudo apt-get update

Если обновление /var/lib/apt/lists/lockне может произойти из-за вас, вы можете удалить этот файл, что поможет загрузить процесс обновления. Затем выполните следующую команду, которая должна работать

$sudo apt-get install openssh-server
Mr.Tananki
источник
Не пытайтесь это сделать, у меня это не сработало, и теперь у меня меньше, чем раньше
WhatAMesh
2

Это сообщение об ошибке указывает на «виртуальный пакет» , который существует только в Provides:линии другого пакета, или упоминается в Depends:, Recommends:или Suggests:линии другого пакета (ов).

Чтобы увидеть список пакетов, которые имеют «Provides: openssh-server», вы должны выполнить:

aptitude search "?provides(openssh-server)"

Я подозреваю, что у вас есть другие проблемы в вашей системе Ubuntu, возможно, в ваших sources.listфайлах - на Debian, по крайней мере, openssh-server является реальным пакетом, а не виртуальным пакетом. Я был бы удивлен, если бы это было по-другому на Ubuntu.

$ aptitude search "?provides(openssh-server)"
i   openssh-server                  - secure shell (SSH) server, for secure acce
p   openssh-server:i386             - secure shell (SSH) server, for secure acce
саз
источник
0

У меня была та же самая проблема, и удалил и добавил список источников снова и снова. В конце концов оказалось, что у меня установлена сторонняя архитектура armhf, и это вызвало проблемы. Итак, сначала очищены все пакеты ARM, а затем архитектура.

apt-get purge ".*:<arch>"
dpkg --remove-architecture <arch>

После этого apt-get updateзапустился без проблем, и я наконец смог обновить пакеты снова.

Toxantron
источник