尝试在 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
运行没有问题,我终于可以再次更新软件包了。