2017-08-22 15 views
0

インストールされているRPM(rpm -q "systemd" -i)の情報をXML形式で取得する必要があります。マニュアルによれば、 - qfと-iを使用することが可能でなければなりませんが、私はそれを行う方法を見つけることができません。RHEL:XMLとしてrpm情報を取得

アイデア?ありがとう!

答えて

2

はこれを試してみてください:

rpm -qa --xml 

これは、少なくともCentOSの7 manページにRPMコマンドの問い合わせフォーマットはIMO誤解されて動作しているようです。

EDIT:

以上が十分でない場合、あなたはおそらくqueryformatでXMLを自分で構築する必要があります。

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

あなたは--querytagsで利用可能なタグを確認することができます:このよう

rpm --querytags 
+0

こんにちはStefan、あなたが提案した解決策は私が探していた情報を返すのではなく、それに含まれているすべてのファイルを含むrpmに関するすべての情報を返します。しかし、私はあなたに同意します...ドキュメントは少し混乱しています... – JP88

+0

私はこの回答を更新 – StefanR

+0

非常に便利です。これは私の問題を解決する:)ありがとう! – JP88

1

--queryformatを使用して使用するよりもXMLを構築するためのより正確な方法があります。単純にするための便利なラッパーです--xmlすべての

まず、(は/ usr/libに/回転数/ rpmpoptを参照)

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

ポイントは、あなたが任意のタグ名に「*」を置き換えることができるということですあなたは欲しい。あなたのXMLサンプルに非常に類似し

、あなたがRPMで実装されているものに代替マークアップを希望する場合は、スクリプトに独自のXMLテンプレートを持つことになります。もちろん、

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

ようquertformat年代を使用することができます。

関連する問題