• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[reopened] rpm:Wie installierte Pakete mit installationspfad

titanico

Newbie
Hi,

nicht schimpfen, ich bin Anfänger.

Ich möchte entweder alle auf einem System installierten Pakete inklusive dem Verzeichnis wo sie installiert sind auflisten oder einen Pfad angeben und mir alle dort installiertem rpms anzeigen.

Ich weiß, ich kann mit rpm -q -a alle rpms ausgeben aber leider ohne Pfad.

Ich dachte mit rpm --root /meinVerzeichnis -q -a würde es gehen, aber da kommt immer ein Fehler:

error: cannot open Packages index using db3 - Datei oder Verzeichnis nicht gefunden (2)
error: cannot open Packages database in /opt/var/lib/rpm
no packages

Kann mir da jemand helfen?

Danke und Gruß
 

oc2pus

Ultimate Guru
rpm -qa alle installierten Pakete
rpm -qa --last alle installierten in Installationsreihenfolge

rpm -qal alle installierten Dateien ausgeben ...

rpm -ql <paketname> alle Dateien eines Paketes ausgeben
 

blacklips

Hacker
Mit smart kann man sich auch alle installierten Dateien eines Programms anschauen. Das installierte Programm anklicken und den Reiter "installierte Dateien" (oder so ähnlich) auswählen.
 
titanico schrieb:
Danke, dachte zwar man kann direkt das Hauptverzeichnis in dem ein Paket installiert wurde herausfinden, [...]
Du solltest dich von dem Gedanken verabschieden, dass unter Linux ein Programm in einen separaten Ordner installiert wird wie z.B. unter Windows.

Es gibt einen sog. Prefix unter dem Programme installiert werden.
I.d.R. ist dies /usr - d.h. alle Dateien aus dem jeweiligen Paket landen in den entsprechenden Ordnern unterhalb von /usr (Binaries in /usr/bin, Bilbliotheken in /usr/lib, etc.).

Es ist zwar möglich Programme unter einem anderen Prefix zu installieren (z.B. /opt/kde3 für KDE-Programme oder /usr/local für selbstkompilierte Programme) allerdings wird auch in diesem Fall die Ordnerstruktur (./bin, ./lib, ./share, ...) beibehalten.
 
OP
T

titanico

Newbie
Hi,

ich habe jetzt folgende Vorgehensweise:

Ich Liste mir mit rpm -qa alle installierten rpms auf.

Dann geheh ich jedes einzelne durch und Liste mir die zugehörigen Dateien auf. Dann prüfe ich ob die Dateien sich in einem bestimmten Verzeichnis befinden.

Das ganze löuft mit einem Tool automatisch ab. Da das Ausführen von rpm -ql <rpmName> eine Menge Zeit verbrät, dauert der Durchlauf bei ca. 600 installierten rpms unakzeptabel lange.

Gibt es noch einen Weg alle Rpms mit allen ihren zugehörigen Dateien + Pfade mit einem Kommando zu ermitteln?

Sorry für die blöden Fragen aber auf der Linux Konsole bin ich ein totaler Anfänger.

Danke, Gruß

ps: rpm -qal bringt nichts, da habe ich keinen Bezug zum rpm name
 

Leviathan

Hacker
Probiers mal damit
Code:
for i in `rpm -qa`; do echo "PAKET:"; echo "$i"; echo "------------------"; rpm -ql $i; done >> temp

Gruß Dominik
 
OP
T

titanico

Newbie
Hey coole Sache!

Wusste gar nicht, dass so etwas überhaupt geht auf der Konsole :oops:

Echt geil, dank dir!!!

So nun mal schauen ob der ssh Buffer mit 130k Zeilen klar kommt :)
 
Oben