Hallo, ich versuche grade eine Liste aus RPM Paketen zu erstellen wobei ich aber nur den Namen benötige und nicht die Version. Das ist mein bisheriger Versuch am Beispiel Apache: rpm -qa | grep apache | gawk -F '-' {'print $1"-"$2"-"$3'} Das Problem ist das einige Module 3 Namensbestandteile haben und einige nur 2, daher ist die Ausgabe unterschiedlich: apache2-mod_mime-magic bzw. apache2-mod_headers-2.2.10 Ich will nun immer hinten die Version weglassen und nur den eigentlichen Namen verwenden egal wie viele Namensbestandteile vorhanden sind, aber ich kriege es nicht hin, zumindest nicht mit gawk. Hat jemand einen Tipp für mich? Danke, Andre -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andre Huebner wrote:
ich versuche grade eine Liste aus RPM Paketen zu erstellen wobei ich aber nur den Namen benötige und nicht die Version. Das ist mein bisheriger Versuch am Beispiel Apache: rpm -qa | grep apache | gawk -F '-' {'print $1"-"$2"-"$3'}
Das Problem ist das einige Module 3 Namensbestandteile haben und einige nur 2, daher ist die Ausgabe unterschiedlich:
apache2-mod_mime-magic bzw. apache2-mod_headers-2.2.10
Ich will nun immer hinten die Version weglassen und nur den eigentlichen Namen verwenden egal wie viele Namensbestandteile vorhanden sind, aber ich kriege es nicht hin, zumindest nicht mit gawk. Hat jemand einen Tipp für mich?
rpm -qa --queryformat '%{NAME}\n' Cheers, Th. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 31 Jul 2009, Andre Huebner schrieb:
ich versuche grade eine Liste aus RPM Paketen zu erstellen wobei ich aber nur den Namen benötige und nicht die Version. Das ist mein bisheriger Versuch am Beispiel Apache: rpm -qa | grep apache | gawk -F '-' {'print $1"-"$2"-"$3'}
Äh, aber du gibst hier per awk doch wieder die Version aus? Und dein Quoting vom awk-Befehl ist, äh, mehr als seltsam. BTW: das wird so _nie_ zuverlässig funktionieren, da die Paketnamen und Versionsangaben einfach nicht zuverlässig in so einem Format vorliegen. Du suchst 'man rpm' -> queryformat und 'rpm --querytags'. rpm -qa --queryformat '%{NAME}\n' | grep -i apache Und natürlich die Anleitung im Maximum-RPM-Book, wie (nicht hier) mit den diversen Array- und anderen Tags ggfs. umgegangen werden kann. http://www.rpm.org und speziell, wenn auch wohl etwas veraltet: http://www.rpm.org/max-rpm/ Ein Beispiel: $ rpm -qa --queryformat \ '%{installtime}:%{name}-%{version} %{installtime:date}\n' \ | sort -rn | cut -d':' -f2- Achso: ein paar solcher Abfragen der RPM-Datenbank hab ich eh als Scripte "abgelegt", z.B. obigen Befehl als '~/bin/rpmlistpackagesbydate' (wobei da ein alias vermutlich fast sinnvoller wäre).
Das Problem ist das einige Module 3 Namensbestandteile haben und einige nur 2, daher ist die Ausgabe unterschiedlich:
Sach ich doch. -dnh -- : I could do that, now I've found somewhere I can get mugs that hold two : pints. Alas, this mug is only a pint, although I'm on my third mugful today. You need the Emacs Reference Barre^WMug, although even the vi or vim Reference Ke^WMug would suffice in most cases. -- P. Corlett, M. Andrews -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Andre Huebner
-
David Haller
-
Thomas Hertweck