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

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

我有一个混合了测试版、不稳定版和一些实验版的系统。

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

答案1

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

答案2

回答我自己的问题。

我想出了这个解决方案:

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)”的列表。

然后过滤掉未安装的包。

并且仅保留实验中可用的软件包。

如果已安装和可升级的版本相同,那么我们就有赢家。

答案3

可能有一个简单的方法可以做到这一点,但如果没有这个可能努力让你接近:

  • 获取所有软件包名称和版本dpkg --list
  • 注释掉 apt 源中除 stable 之外的所有源,然后apt-get update
  • 在 dpkg 列表中搜索所有已安装的软件包,如果不存在则查找一个。否则使用--compare-versionsdpkg 查看是否比 apt 返回的软件包更新。

我希望你有更好的方法;-)

相关内容