每个软件包“都没有安装候选对象”


26

尝试openssh-server在64位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 2014年

请发布的输出apt-cache policy
Faheem Mitha 2014年

4
请不要发布文本输出的屏幕截图:发布文本以便可以实际阅读...
jasonwryan 2014年

salman @ salman-Inspiron:〜$ salman的sudo apt-cache策略[sudo]密码:软件包文件:100 / var / lib / dpkg / status release a = now固定软件包:salman @ salman-Inspiron:〜$
salman 299402

1
我建议进行编辑,使此问题负责,只需要批准即可。
Oli 2014年

Answers:


25

如果这确实是您/etc/apt/sources.list文件的全部,那就说明您当前的情况。而且我还没有解释为什么您安装了Hardy回购协议。我怀疑您遵循了旧的教程,并且它坏了。

第一步是使您的存储库恢复正常。我建议使用像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 '17

2

此错误消息表明“虚拟软件包”仅存在于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

0

我遇到了同样的问题,一遍又一遍地删除并添加了源列表。最后,事实证明我还安装了一个外国体系结构armhf,这引起了问题。因此,首先清除所有ARM软件包,然后清除体系结构。

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.