Кожен пакет "не має кандидата на встановлення"


26

Під час спроби встановити openssh-server64-розрядний Ubuntu 14.04, я отримую таку помилку:

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

2
Ви бігли apt-get update? Також ви перевірили, чи sources.listє відповідні записи?
psimon

Будь ласка, опублікуйте вихід apt-cache policy.
Faheem Mitha

4
Будь ласка, не публікуйте скріншоти виведення тексту: опублікуйте текст, щоб його можна було прочитати фактично ...
Jasonwryan

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файл, це пояснює вашу поточну ситуацію. І у мене немає пояснень, чому у вас встановлено репо Харді. Я підозрюю, що ви дотримувались старого підручника, і він зламав речі.

Ваш перший крок - повернення репостів на шляху. Я б запропонував використовувати такий інструмент, як 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і тоді ви зможете знову встановити речі.


Ця відповідь допомогла мені для 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

Не намагайтесь цього зробити, у мене це не вийшло, і зараз у мене менше, ніж раніше
WhatAMesh

2

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

Щоб перелічити пакунки, що містять "Подає: openssh-сервер", ви запустили:

aptitude search "?provides(openssh-server)"

Я підозрюю, що у вас є інші проблеми у вашій системі ubuntu, ймовірно, у ваших sources.listфайлах (файлах) - на debian, принаймні, openssh-сервер - це фактичний пакет, а не віртуальний пакет. Я був би здивований, якби в 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пройшов без проблем, і я нарешті міг оновити пакунки знову.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.