如何使用“dnf”列出已安装的软件包及其摘要?

如何使用“dnf”列出已安装的软件包及其摘要?

我可以使用以下命令列出 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以使用提供的任何信息rpmhttp://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 中,无论您想要什么

相关内容