我如何列出哪些软件包来自实验?

我有一个系统,这个系统是一个testing混乱的系统,有些来自实验。

如何获得我从实验中安装的软件包列表?

您可以使用aptitude search "~S~i~Aexperimental"

回答我自己的问题。

我想出了这个解决scheme:

 aptitude -t experimental search -F '%p %?V %?v %?t' --disable-columns .|\ grep -v none| \ grep experimental| \ awk '{if( $2 == $3) print $1}' 

aptitude行给我一个“包名称(%p)”,“如果升级到实验版本(%?V)”,“已安装版本(%?v)”和“档案(%?t)”的列表。

然后过滤掉未安装的软件包。

并保留只有在实验中可用的包。

如果安装和升级版本是相同的,我们有一个赢家。

可能有一个简单的方法来做到这一点,但如果没有这可能会让你closures:

  • dpkg --list获取所有软件包名称和版本
  • 注释掉所有来源,但在你的apt源中稳定,然后apt-get update
  • 在dpkg列表中search所有已安装的软件包,如果它不在那里。 否则使用--compare-versions到dpkg来查看你是否比apt返回的更新。

我希望为你着想有更好的办法;-)