Lors de la tentative d'installation de openssh-server
sur 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.
C'est le sources.list
fichier:
deb http://archive.canonical.com/ubuntu hardy partner
deb-src http://archive.canonical.com/ubuntu hardy partner
Si c'est vraiment l'ensemble de votre /etc/apt/sources.list
fichier, qui 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 update
et vous devriez alors pouvoir réinstaller les choses.
J'ai eu le même problème, j'ai essayé toutes les solutions ci-dessus en vérifiant le centre du logiciel Ubuntu, je ne pouvais pas craquer pour 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 se produire en raison de /var/lib/apt/lists/lock
vous pouvez supprimer ce fichier, ce qui vous aidera à télécharger le processus de mise à jour. Exécutez ensuite la commande suivante qui devrait fonctionner
$Sudo apt-get install openssh-server
Ce message d'erreur indique un "package virtuel" qui n'existe que dans le Provides:
ligne d'un autre package, ou est référencé dans le Depends:
, Recommends:
ou Suggests:
lignes d'autres packages.
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 votre sources.list
fichier (s) - 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
J'ai eu le même problème et j'ai supprimé et ajouté la liste des sources encore et encore. À la fin, il s'est avéré que j'avais une architecture étrangère armhf également installée et qui a causé des problèmes. Donc, tout d'abord un package purgé ARM packages puis l'architecture.
apt-get purge ".*:<Arch>"
dpkg --remove-architecture <Arch>
Après ça apt-get update
s'est déroulé sans problème et j'ai enfin pu mettre à jour les packages.