“包没有安装候选项”是什么意思?

“包没有安装候选项”是什么意思?

上述错误是什么意思?安装候选项是什么?

我试图做

sudo apt-get install munin-memcached  

我收到这条消息:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package munin-memcached 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 munin-memcached has no installation candidate

我用 Google 搜索了这个问题,有人说可以做一个apt-get upgrade,但仍然没有解决我的问题。

答案1

当您尝试安装 APT 不了解的软件包时,就会发生这种情况。添加软件源时,您需要执行操作,apt-get update以便系统 APT 的数据库使用软件源列表中列出的存储库中的所有软件包进行更新。

然后,当您尝试安装任何软件包时,APT 会在其数据库中检查软件包名称,找到它并检查获取它的存储库的名称。然后它会从该存储库下载软件包。

这意味着在你的软件源中列出的所有存储库中,没有一个包含名为 的软件包munin-memcached。我再次检查,它在官方 Ubuntu 存储库中不可用。

经过一番谷歌搜索后,我发现它可以在以下 PPA 中使用:chris-lea/munin-插件

添加此 PPA 并安装软件包,风险自负。我不认识这个人。

要添加 PPA,请发出以下命令:

sudo add-apt-repository ppa:chris-lea/munin-plugins

要安装包munin-memcached,请发出以下命令:

sudo apt-get update && sudo apt-get install munin-memcached

答案2

这是什么意思呢Package <package> has no installation candidate?这意味着在你的 Ubuntu 版本软件源中没有找到该软件包。

出现此消息的一个可能原因是,此软件包是一个旧软件包,已从您版本的默认存储库中停用。例如,qt4-default 已从 Ubuntu 20.04 及更高版本的默认存储库中停用。要检查这种可能性,请运行以下命令:

rmadison <包>

此命令将显示哪些 Ubuntu 版本提供此包以及哪个存储库提供此包。

出现此消息的另一个可能原因是,此软件包不适用于您计算机的 CPU 架构。如果您的计算机有 ARM 处理器,则值得检查。再次运行rmadison <package>以显示此信息。rmadison <package>还将显示您正在寻找的软件包是否仅以源代码形式提供,在这种情况下,您必须使用 下载软件包的源代码apt-get source <package>,使用 checkinstall 等程序从下载的源构建 .deb 文件,然后使用 安装 .deb 文件sudo apt install ./package.deb

此消息的另一个可能原因是,在可用软件列表中找不到此软件包,因为软件源中的可用软件列表尚未更新。要更新可用软件列表,请运行以下命令:

sudo apt update

出现此消息的另一个可能原因是代理配置问题。

资质是一个基于终端的包管理器,具有与 apt-get 类似的命令行模式,只是它更智能。aptitude 可以帮助解决产生 E: Package 'package-name' has no installation candidate错误消息的包冲突。

sudo apt 安装 aptitude
sudo aptitude 安装包裹名字# 将 package-name 替换为包的名称

假设您在 Ubuntu 20.04 中收到以下错误消息。

E: Package 'libssl0.9.8' has no installation candidate

看来 libssl 可能在 Ubuntu 20.04 默认存储库中可用,但由于 libssl 已升级到较新版本,因此它已被重命名。要检查​​ libssl0.9.8 是否已在 Ubuntu 20.04 中重命名,请运行以下命令:

apt-cache search "^libssl.*"

18.04-20.04的结果apt-cache search "^libssl.*"显示libssl0.9.8已经升级到libssl1.1。

答案3

这意味着某些已安装的软件包表示需要一个名为 munin-memcached 的软件包才能工作。但软件包管理器在存储库中找不到它。通常会跟随着一些有关哪些软件包缺少它的信息,但这里没有。

标准 Ubuntu 存储库中没有包名 munin-memcached,因此您可能使用了一些额外的存储库。如果您在此处发布,我们可以尝试找出原因。

相关内容