我可以使用以下命令列出 Fedora 上已安装的软件包:
dnf list installed
当搜索包时,我会使用类似的东西:
dnf search terminal
dnf
将继续列出与此类似的可用软件包:
tmux.x86_64 : A terminal multiplexer
IE ”<包>:<摘要>“。我想要类似的包输出,但是对于已安装包。在已安装的软件包中进行搜索是不必要的,因为我可以简单地将输出通过管道传输到grep
(或ripgrep
),但我想要像搜索结果那样的输出。
答案1
该rpm
数据库已经是所有已安装软件包的集合。
您可以使用该选项直接查询数据库rpm
并提取任何可用信息,--queryformat
而无需使用任何其他工具或循环:
rpm --query --all --queryformat '%{NAME}.%{ARCH}: %{SUMMARY}\n'
调整--queryformat
以使用提供的任何信息rpm
: http://ftp.rpm.org/api/4.4.2.2/queryformat.html
答案2
就像是
for pkg in $(dnf list --installed) ; do
rpm -q --queryformat '%{NAME} : %{SUMMARY}\n' ${pkg}
done
可能会成功(未经测试,因为是在手机上写的)。
for ... do ... done 循环当然有点过头了,但它确实允许您进行一些额外的过滤(如果您愿意的话)、记录内容、将它们包含在适当的 HTML 中,无论您想要什么