Chaque package «n'a pas de candidat d'installation»

26

Lors de la tentative d'installation openssh-serversur Ubuntu 14.04 64 bits, j'obtiens l'erreur suivante:

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

Je vois la même erreur lorsque j'essaie d'installer un package.

Voici le sources.listfichier:

deb http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.canonical.com/ubuntu hardy partner
salman 299402
la source
2
As-tu couru apt-get update? De plus, avez-vous vérifié si sources.listles entrées pertinentes sont disponibles?
psimon
Veuillez publier la sortie de apt-cache policy.
Faheem Mitha
4
Veuillez ne pas publier de captures d'écran de la sortie de texte: postez le texte pour qu'il puisse être lu ...
jasonwryan
salman @ salman-Inspiron: ~ $ sudo apt-cache policy [sudo] mot de passe pour salman: Fichiers de package: 100 / var / lib / dpkg / status release a = now Paquets épinglés: salman @ salman-Inspiron: ~ $
salman 299402
1
J'ai suggéré une modification qui devrait rendre cela responsable, elle doit simplement être approuvée.
Oli

Réponses:

25

Si c'est vraiment l'ensemble de votre /etc/apt/sources.listdossier, cela explique votre situation actuelle. Et je n'ai aucune explication pour laquelle vous avez installé un dépôt Hardy. Je soupçonne que vous avez suivi un ancien tutoriel et qu'il a cassé les choses.

Votre première étape consiste à remettre vos dépôts sur la bonne voie. Je suggère d'utiliser un outil comme RepoGen pour obtenir les bases, mais à défaut, voici les plus essentiels:

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 

Collez-les au bon endroit avec sudoedit /etc/apt/sources.list(vous pourriez aussi bien abandonner ces lignes sur hardy). Une fois enregistré, exécutez sudo apt-get updateet vous devriez pouvoir réinstaller les choses.

Oli
la source
Cette réponse m'a aidé avec askubuntu.com/questions/789302/… .
Shayan
3

J'ai eu le même problème, j'ai essayé toutes les solutions ci-dessus en vérifiant le centre logiciel Ubuntu, je ne pouvais pas le résoudre, j'ai essayé une autre méthode qui a fonctionné pour moi. Voici ma solution

Premièrement, nous devons être connectés à Internet pour que le processus de mise à jour se déroule.

$sudo apt-get remove openssh-client

$sudo apt-get update

Si la mise à jour ne peut pas avoir lieu à cause de /var/lib/apt/lists/lockvous, vous pouvez supprimer ce fichier, ce qui vous aidera à télécharger le processus de mise à jour. Ensuite, exécutez la commande suivante qui devrait fonctionner

$sudo apt-get install openssh-server
Mr.Tananki
la source
N'essayez pas cela, cela n'a pas fonctionné pour moi et maintenant j'en ai moins qu'auparavant
WhatAMesh
2

Ce message d'erreur indique un « paquet virtuel » qui existe uniquement dans la Provides:ligne d'un autre paquet, ou est fait référence dans le Depends:, Recommends:ou les Suggests:lignes de l' autre paquet (s).

Pour répertorier les packages qui ont «Provides: openssh-server», vous devez exécuter:

aptitude search "?provides(openssh-server)"

Je soupçonne que vous avez d'autres problèmes sur votre système Ubuntu, probablement dans vos sources.listfichiers - sur Debian, au moins, openssh-server est un paquet réel, pas un paquet virtuel. Je serais surpris si c'était différent sur 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
cas
la source
0

J'ai eu le même problème et j'ai supprimé et ajouté la liste des sources encore et encore. En fin de compte, il s'est avéré qu'une armhf d' architecture étrangère était également installée et cela a causé des problèmes. Donc, tout d'abord, tous les packages ARM ont été purgés, puis l'architecture.

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

Après cela apt-get updates'est déroulé sans problème et j'ai enfin pu mettre à jour les packages à nouveau.

Toxantron
la source