每个包“没有安装候选”

每个包“没有安装候选”

尝试在 Ubuntu 14.04 64 位上安装时openssh-server,出现以下错误:

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

答案1

如果这确实是您文件的全部内容/etc/apt/sources.list,那就可以解释您当前的情况。我没有解释为什么你安装了 Hardy 存储库。我怀疑你遵循了一个旧的教程,它已经破坏了一些东西。

您的第一步是让您的存储库重回正轨。我建议使用类似的工具再生基因要了解基础知识,但如果做不到这一点,以下是最重要的:

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(你最好放弃那些关于 Hardy 的台词)。保存后,运行sudo apt-get update,然后您应该能够再次安装。

答案2

我遇到了同样的问题,我尝试了上述所有解决方案并检查了 Ubuntu 软件中心。我无法解决它。我尝试了另一种对我有用的方法。这是我的解决方案

首先,我们需要连接到互联网才能进行更新过程。

$sudo apt-get remove openssh-client

$sudo apt-get update

如果由于/var/lib/apt/lists/lock您可能删除该文件而无法进行更新,这将有助于下载更新过程。然后运行以下命令应该可以工作

$sudo apt-get install openssh-server

答案3

此错误消息指示“虚拟包”仅存在于另一个包的行中,或者在其他包的、或行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

答案4

我遇到了同样的问题,并一遍又一遍地删除和添加源列表。最后发现我有一个外国建筑臂氢夫也安装了,这引起了问题。因此,首先清除所有 ARM 软件包,然后清除架构。

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

之后apt-get update运行没有问题,我终于可以再次更新软件包了。

相关内容