上述错误是什么意思?安装候选项是什么?
我试图做
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,因此您可能使用了一些额外的存储库。如果您在此处发布,我们可以尝试找出原因。