“但是被另一个包引用了。” – 找到那个包

Ubuntu(或其他具有apt软件包管理的发行版)用户遇到错误并不罕见:

user@box ~ $ sudo apt-get install x [sudo] password for user: Reading package lists... Done Building dependency tree Reading state information... Done Package x 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 'x' has no installation candidate 

在各种StackExchange站点上有几个问题,例如AskUbuntu上的openvpn ,但这些问题通常是关于如何获取特定包,尽管有错误。

通过确定它是否仍然是分布式的,并且在哪个存储库中,如果是这样,并且确保存储库位于apt.sources中,或者最坏的下载是最糟糕的,我找不到任何简单(但并不总是很容易)找到的包.deb或源代码来编译。

所以我的问题更为笼统,虽然我猜它有一个相当简单但因此不太令人兴奋的答案我想不出如何通过传统的搜索引擎方法找到它,所以我转向AskUbuntu: 是否有命令或选项我可以用于确定哪些包/哪些包引用了丢失的包?

您可以使用apt-cache搜索包:

 apt-cache search x 

这将输出以某种方式引用x的所有包。

有时会发生这种情况,因为APT对您所谈论的内容一无所知,但可以通过运行来解决:

 apt-get update 

运行之后,通常错误就会消失,因为aptapt-get知道如何做我现在要求的事情。