2017-08-22 59 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> 

當然。