我有一个混合了测试版、不稳定版和一些实验版的系统。
我如何获取已从实验中安装的软件包的列表?
答案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-versions
dpkg 查看是否比 apt 返回的软件包更新。
我希望你有更好的方法;-)