![获取带有版本号的软件包列表,已经知道如何获取没有版本号的列表](https://linux22.com/image/190772/%E8%8E%B7%E5%8F%96%E5%B8%A6%E6%9C%89%E7%89%88%E6%9C%AC%E5%8F%B7%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%88%97%E8%A1%A8%EF%BC%8C%E5%B7%B2%E7%BB%8F%E7%9F%A5%E9%81%93%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E6%B2%A1%E6%9C%89%E7%89%88%E6%9C%AC%E5%8F%B7%E7%9A%84%E5%88%97%E8%A1%A8.png)
操作系统:Debian 最新。
大家好,
我正在开发一个小工具,需要我以文本文件的形式发送为系统安装的手动安装的软件包列表。然后另一个代理会提取该文本文件。目前,我可以通过下面提到的命令获取列表,但它没有给我版本号。知道如何获取版本号吗?谢谢。
命令:
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^Package: //p' | sort -u)
请告诉我。谢谢。
答案1
根据您的具体用例,zgrep
可能会起作用:
zgrep ... /var/log/dpkg.log* | grep installed
(注意三个点...
是必填的)
答案2
您可以通过管道将输出发送到dpkg -s
:
comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz \|
sed -n 's/^Package: //p' | sort -u) | xargs -n1 dpkg -s |grep 'Package:\|Version:'
答案3
对我来说,结果如下:
dpkg-query -l | awk '{print $2 " Version Number " $3}'