2017-08-22 2 views
0

Ich muss die Informationen einer installierten RPM (rpm -q "Systemd" -i) im XML-Format abrufen. Nach dem Handbuch sollte es möglich sein, --qf und -i zu verwenden, aber ich kann den Weg nicht finden.RHEL: Holen Sie sich rpm info als XML

Irgendwelche Ideen? Vielen Dank!

Antwort

2

Versuchen Sie folgendes:

rpm -qa --xml 

Dies scheint zumindest in CentOS 7. Man Seite arbeiten etwa rpm Abfrageformat Befehle IMO ist irreführend.

EDIT:

Wenn die oben nicht ausreichend ist, dann müssen Sie wahrscheinlich die xml sich mit dem queryformat konstruieren. Wie folgt aus:

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

können Sie am Check-out-Tags mit --querytags:

rpm --querytags 
+0

Hallo Stefan, die Lösung, die Sie vorschlagen, nicht die Informationen kehre ich suchte, aber auch alle Informationen über die Drehzahl, einschließlich aller Dateien, die darin enthalten sind, die viel zu viel ist. Aber ich stimme dir zu ... die Dokumentation ist ein wenig verwirrend ... – JP88

+0

Ich habe diese Antwort aktualisiert – StefanR

+0

Sehr nützlich. Dies löst mein Problem :) Vielen Dank! – JP88

1

Es gibt präzisere Möglichkeiten, XML zu konstruieren als mit --queryformat verwenden.

Zunächst einmal --xml einfach ist eine bequeme Wrapper für (siehe/usr/lib/rpm/rpmpopt)

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

Der Punkt ist, dass Sie die '*' mit jedem Tag-Namen ersetzen können du wünschst.

So ähnlich wie die XML-Probe, können Sie quertformat ist wie

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

Natürlich, wenn Sie auf alternative Markup wollen, was in RPM implementiert wird, die Sie Skript Ihre eigene XML-Vorlagen haben.

Verwandte Themen