如何找出不来自软件仓库的软件包?

我今天遇到一个deb软件源的问题(具体是medibuntu.org)- synaptic无法找到软件源索引(而且它们确实不存在 - 可能是由于昨天的更改)。
所以我到处都是错误。我可以直接删除该软件源 - 但我根本不记得有哪些软件包来自它,所以仅仅删除它可能会影响到某些关键软件包的更新。
所以,我的问题是 - 我如何找出哪些已安装的软件包在任何软件源中都找不到?

这有帮助吗?http://askubuntu.com/questions/5976/how-can-i-list-all-packages-ive-installed-from-a-particular-ppa - Bruno Pereira
根据您的分发版本... sudo apt list --manual-installed | grep -v cosmic - TamusJRoyce
2个回答

aptitude可以为您执行此查询,使用~o("o"代表"过时")搜索。
aptitude search ~o

这里列出了无法再下载的软件包。
我不认为有一个等同于apt-cache search的命令,对于synaptic也不确定。
关于使用aptitude进行搜索的更多信息,请查看搜索术语章节aptitude参考指南

似乎Medibuntu包含了sun-java6软件包 :( 感谢你的帮助! - Rogach
这可能会有帮助:https://help.ubuntu.com/community/Java - Jeremy Kerr
你的意思是我不用操心更新了吗? :) - Rogach
请记住在shell中转义~ - Janus Troelsen
1Ysangkok:只有当您拥有一个用户名为o的用户时才可以。 - Jeremy Kerr

运行Synaptic。在左下角的按钮系列中,选择“状态”。这些按钮上方的列表可能有一个条目“已安装(本地或过时)”。当选择它时,它将显示所有已经安装在本地(例如从下载的deb文件)或通过存储库安装但不再列出的软件包。(Synaptic无法真正区分它们的差异,因此它们被分组在一起。)
如果您没有任何本地或过时的软件包,这个条目将不会出现,所以不用担心 :)