我使用的是 Debian spin(Kwheezy,基于 Wheezy + KDE),它捆绑了各种附加软件包。应用程序源列表包括一堆无关的源。这个发行版已经过时了,维护者也离开了;一些应用程序源不再存在。总有一天,我会咬紧牙关尝试升级,但我想尽可能坚持下去,因为一切都很稳定。
最近,我偶尔会收到来自 apper 的消息,说它的某个源不可用。我禁用了这些源以停止警告消息。但是,这意味着从该源维护的任何软件包都不再被维护。我想至少关注安全问题或可能找到另一个源(或在必要时卸载这些软件包)。
我如何识别系统上的哪些包与特定源相关联(该源不再存在,因此我无法转到该源查看它曾经包含哪些包)?
答案1
使用包管理器的替代程序
1)使用 Synaptic 图形化软件包管理器,你可以通过点击“地位”按钮并选择“已安装(本地或过时)”
2)从命令行:
使用
aptitude
:apt-get install aptitude
aptitude search '~o'
使用
apt-show-version
:apt-get install apt-show-version
apt-show-versions | grep 'No available version'
解释
软件包管理器根据其列表中的存储库(以及它负责安装的内容)来确定软件包的“状态”;例如,如果某个软件包可从列出的存储库中获得,但您从其他地方手动安装了它,则软件包管理器不会将其维护为“它自己的软件包之一”)。
由于以下几个原因,软件包可能未包含在指定的存储库之一中:
该包可能不再包含在存储库中,或者存储库不再存在,这被称为“过时”。
如果您手动安装了该软件包(例如,从下载的 tarball 中安装),则不会创建软件包管理器挂钩,并且不会将源添加到存储库列表中;该软件包被称为“本地安装”。
软件包管理器只专注于它应该做的工作,它不会区分软件包不在其指定存储库中的原因。它可以为您提供无法维护的已安装软件包的列表,已安装(本地或过时),这就是上面的说明所提供的内容。
它不仅限于过时的软件包,但它提供了一个相对较短的列表。所包含的软件包按字母顺序分组,因此很容易识别和区分您手动安装的内容。