Wenn es darum geht, beispielsweise alle installierten Kernel-Pakete aufgelistet zu bekommen, verwenden viele entweder
rpm -qa | gerp kernel
oder
yum list installed | grep kernel
Beide Möglichkeiten sind jedoch nicht unbedingt performant, da man eine große Menge an Daten abruft und diese dann gefiltert ausgibt.
Schneller geht es mit folgendem Befehl
rpm -qa kernel\*
An sich kann rpm zwar nicht mit dem * als Wildcard umgehen, da es als normales Zeichen interpretiert wird. Stellt man dem Sternchen jedoch einen Backslash voran, sagt man der Shell damit, das sie das Sternchen nicht (selber) interpretieren sondern an rpm weiterreichen soll.
Der Vorteil dieser Methode ist, das man sich nicht erst die komplette Liste der installierten Pakete ausgeben lässt, sondern das rpm nur die Pakete ausgibt, deren Name mit dem übergebenen Namen übereinstimmt.
Edit: Eine weitere recht performante Möglichkeit ist, yums Cache abzufragen. Das lässt sich über folgendes Kommando bewerkstelligen:
su -c'yum -C list installed kernel\*'
Danke an Kai für den Hinweis!
Slash: /
Backslash: \
Gern geschehen.
Danke, ich bring die immer durcheinander
Das stimmt so nicht ganz. Der Backslash vor dem Stern verhindert, dass die Shell – also normalerweise bash – das sog. globbing durchführt, d. h. den Ausdruck als Namensmuster im Dateisystem interpretiert, indem sie ihn durch die Liste der Datei- und Verzeichnisnamen ersetzt (hier: im aktuellen Verzeichnis), die mit „kernel“ anfangen.
Man übergibt per Backslash das Kommandozeilen-Argument quasi „geschützt“ an rpm -qa. Die Option -a bzw. –all ist ausschlaggebend dafür, dass rpm die Verwendung von Sternchen erlaubt.
Die installierten Kernel lassen sich übrigens auch relativ schnell abfragen, wenn man yum auf seinen Cache zurückgreifen lässt:
sudo yum -C list installed kernel
Oder für alle Kernel-bezogenen Pakete:
sudo yum -C list installed kernel\*
Danke, hab den Text geändert und ergänzt.