RHEL:获取 rpm 信息为 XML
RHEL: Get rpm info as XML
我需要以 XML 格式检索已安装 RPM 的信息 (rpm -q "systemd" -i)。根据手册,应该可以使用--qf和-i,但我找不到方法。
有什么想法吗?谢谢!
试试这个:
rpm -qa --xml
这似乎至少在 CentOS 7 中有效。有关 rpm 命令查询格式的手册页对 IMO 具有误导性。
编辑:
如果以上还不够,那么您可能需要使用查询格式自己构建 xml。像这样:
rpm -q systemd --qf "<name>%{NAME}</name><version>%{version}</version>\n"
您可以使用 --querytags:
检查可用标签
rpm --querytags
有比使用 --queryformat 更精确的构造 XML 的方法。
首先,--xml 只是一个方便的包装器(参见 /usr/lib/rpm/rpmpopt)
rpm alias --xml --qf '[%{*:xml}\n]' \
--POPTdesc=$"list metadata in xml"
重点是您可以将“*”替换为您想要的任何标签名称。
与您的 XML 示例非常相似,您可以使用 quertformat 之类的
$ rpm -q --qf '%{NAME:xml}\n' bash
<string>bash</string>
当然,如果您希望对 RPM 中实现的标记进行替代标记,则必须编写自己的 XML 模板脚本。
我需要以 XML 格式检索已安装 RPM 的信息 (rpm -q "systemd" -i)。根据手册,应该可以使用--qf和-i,但我找不到方法。
有什么想法吗?谢谢!
试试这个:
rpm -qa --xml
这似乎至少在 CentOS 7 中有效。有关 rpm 命令查询格式的手册页对 IMO 具有误导性。
编辑:
如果以上还不够,那么您可能需要使用查询格式自己构建 xml。像这样:
rpm -q systemd --qf "<name>%{NAME}</name><version>%{version}</version>\n"
您可以使用 --querytags:
检查可用标签rpm --querytags
有比使用 --queryformat 更精确的构造 XML 的方法。
首先,--xml 只是一个方便的包装器(参见 /usr/lib/rpm/rpmpopt)
rpm alias --xml --qf '[%{*:xml}\n]' \
--POPTdesc=$"list metadata in xml"
重点是您可以将“*”替换为您想要的任何标签名称。
与您的 XML 示例非常相似,您可以使用 quertformat 之类的
$ rpm -q --qf '%{NAME:xml}\n' bash
<string>bash</string>
当然,如果您希望对 RPM 中实现的标记进行替代标记,则必须编写自己的 XML 模板脚本。