Hallo!
Ich bin noch sehr neu! Bin gerade dabei von Win XP auf Suse 9.3 umzusteigen.
Wer kann mir den Befehl nennen, woher ich weiss in welchem Packet eine bestimmte Datei steckt.
Danke vielmals für die Hilfe.
MfG
Jens
Wenn Du z.B. wissen willst, in welchem Paket die Datei /bin/bash steckt:
> rpm -qf /bin/bash
bash-2.05b-207
(absoluter Pfad ist wichtig!)
Wenn Du wissen willst, welche Dateien in einem Paket stecken:
> rpm -q bash -l
/bin/bash
/bin/sh
/etc/bash_completion.d
/usr/bin/bashbug
/usr/bin/rbash
/usr/share/doc/packages/bash
(…)
Fuer weitere Optionen:
> man rpm
Gruss, Uli
Hi,
bei Suse gibt es den Befehl “pin”.
Zuerst kopierst du die Datei “Archives.gz” von der DVD nach “/var/lib/pin” nun
kannst du mit “pin Datei” suchen.
Es ist auch möglich das du nur mit Teilen des Namens zu suchen.
Du willst z.B. wissen in welchem Paket steckt die Datei libacl.so.1.
Ein “pin acl.so” bringt dann schon Treffer.
Das geht aber nur mit Paketen die von der DVD oder CD sind, wenn du ein Paket
vom Internet installiert hast mußt du es über rpm machen und vieleicht mit
grep (man grep) kombinieren.
Martin
Da ich Suse nicht kenne, kann ich Dir über die Distributions spezifischen RPM Tools, die es auch dort sicherlich geben wird, leider nichts sagen.
Dennoch gibt es einige allgemeine Tips & Tricks rund um RPM, die vielleicht helfen. Zum Beispiel:
In der Bash Shell (quasi der Linux Kommandozeile) kann einiges mit dem Befehl “rpm” durchgeführt werden. Nebenbei bemerkt, dies ist immer schnell als das Starten eines grafischen Frontends für RPM. Beispiele:
rpm -qipl /pfad/verzeichnis/*.rpm > ~/liste_lang_alle_pakete.txt
-> Gibt sämtliche Paketinformationen (Paketinfo und enthaltene Dateien) aller RPM Pakete im Verzeichnis aus, die Ausgabe wird umgelenkt in eine Datei im Home Verzeichnis (~).
rpm -qip /pfad/verzeichnis/*.rpm > ~/liste_kurz_alle_pakete.txt
-> Gibt nur die Paketinformationen aller RPM Pakete im Verzeichnis (z.B. auf der Install-DVD) aus, die Ausgabe wird umgelenkt in eine Datei im Home Verzeichnis (~).
rpm -qa | sort > ~/liste_kurz_installierte_pakete.txt
-> Gibt die Namen der installierten RPM Pakete alphabetisch sortiert aus, die Ausgabe wird umgelenkt in eine Datei im Home Verzeichnis.
rpm -qai > ~/liste_info_installierte_pakete.txt
-> Gibt die Namen und Paketinfos der installierten RPM Pakete aus, die Ausgabe wird umgelenkt in eine Datei im Home Verzeichnis.
rpm -qail > ~/liste_lang_installierte_pakete.txt
-> Gibt die Namen, Paketinfos und alle Dateien der installierten RPM Pakete aus, die Ausgabe wird umgelenkt in eine Datei im Home Verzeichnis.
Die so erzeugten Textdateien sind mit jedem Textbetrachter (z.B. less) oder Editor (z.B. vi, joe, emacs, kwrite, OpenOffice, KOffice, …) geöffnet werden.
Wird eine bestimmte Datei gesucht, kannst Du dies beispielsweise sehr einfach und sehr schnell mit “grep” realisieren. Beispiel:
grep “kadressbuch” ~/liste*
…. zeigt Dir an, in welcher der zuvor erzeugten Textdateien die gesuchte Datei entalten ist. Diese Textliste kannst Du dann ggfls. mit less u.ä öffnen und gezielt weitersuchen bzw. nachschauen.
Ausführliche Infos zu RPM und allen Parametern sind in der “man page” enthalten, Aufruf in der Shell mit “man rpm”.
In der (von mir bevorzugten) Distribution Mandriva gibt es das Kommandozeilen-Toolpaket urpmi. Damit ist der Umgang mit RPM Paketen noch viel einfacher, so kann z.B. mit dem Tool “urpmf” nach Dateien in RPM Paketen gesucht werden. Leider scheint Suse dieses Tool nicht einzusetzen.
Thomas