2017-08-22 45 views
0

我需要以XML格式检索安装的RPM信息(rpm -q“systemd”-i)。根据手册,应该可以使用--qf和-i,但我找不到这样做的方式。RHEL:以XML格式获取rpm信息

任何想法?谢谢!

回答

2

试试这个:

rpm -qa --xml 

这似乎至少在CentOS的7人页面正常工作约RPM命令查询格式IMO误导。

编辑:

如果上面是不够的,那么你可能需要自己构建XML与queryformat。就像这样:

rpm -q systemd --qf "<name>%{NAME}</name><version>%{version}</version>\n" 

您可以检查可用标签与--querytags:

rpm --querytags 
+0

嗨Stefan,你提出的解决方案不会返回我正在寻找的信息,但所有关于rpm的信息,包括其中包含的所有文件,这太方便了。但我同意你......文档有点混淆...... – JP88

+0

我更新了这个答复 – StefanR

+0

非常有用。这解决了我的问题:)非常感谢! – JP88

1

有构造XML比使用使用--queryformat更精确的方法。

首先,--xml仅仅是一个方便的包装的(见在/ usr/lib/rpm的/ rpmpopt)

rpm  alias --xml --qf '[%{*:xml}\n]' \ 
    --POPTdesc=$"list metadata in xml" 

的一点是,你可以用任何标签名称替换 '*'你希望。

如此的相似,你的XML样本,如果你想替代标记什么是实现在转,你将不得不脚本自己的XML模板,您可以使用quertformat的像

$ rpm -q --qf '%{NAME:xml}\n' bash 
<string>bash</string> 

当然。