PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kann man ein RPM Paket ohne das rpm Tool zu verwenden manuell entpacken?



Catonga
05.10.02, 07:00
Hallo,


Gibt es eine Möglichkeit ein RPM Paket einfach wie ein gewöhnliches Paketformat (z.b. wie tar.gz, bz2, zip etc.) zu entpacken?

Da ich als Distribution Slackware einsetze, benötige ich normalerweise kein RPM und auch keine RPM Datenbank, ich muß eigentlich nur an die Dateien
herankommen die im RPM Paket enthalten sind.

Normalerweise kann ich mit dem Slackware Tool "rpm2tgz" ein RPM Paket in ein Slackware Paket umwandeln,
aber bei diesem RPM Paket scheint irgendetwas schief zu gehen, das resultierende Slackware Paket ist
nämlich hinterher vollkommen leer.

Und wenn ich versuche das RPM Paket direkt mit
$ rpm -i -nodeps --force paketname.rpm

zu installieren, dann erhalte ich folgende Fehlermeldung:

Fehler: cannot open Group index using db3 - Datei oder Verzeichnis nicht gefunden (2)
Fehler: cannot open Requirename index using db3 - Datei oder Verzeichnis nicht gefunden (2)
Fehler: cannot open Triggername index using db3 - Datei oder Verzeichnis nicht gefunden (2)


Laut einem anderen Thread müßte ich jetzt die Berkley DB installieren, damit RPM funktioniert.
Aber mir wäre es viel lieber wenn ich an die Dateien auch so, ohne extra vorher eine Datenbank installieren zu müssen herankommen könnte.
Weil wie schon gesagt, so eine Datenbank brauche ich hinterher sowiso nicht,
ich will ja nur an die Dateien im RPM Paket herankommen.


Was für eine Art von Packer verwendet das RPM Format?
Oder führt es seinen eigenen Packer mit sich herum?

Es muß doch eine Möglichkeit geben ein RPM Paket ohne es installieren zu wollen einfach zu entpacken.

Belkira
05.10.02, 07:17
man rpm2cpio

Catonga
05.10.02, 07:38
Danke, jetzt habe ich den Stream der rpm2cpio ausspuckt in eine Datei gespeichert.

Aber was ist cpio für ein Paketformat?
Klingt irgendwie nach "cp" und "input" "output".

Was muß ich jetzt mit diesem Stream machen um die einzelnen Dateien zu erhalten?

Belkira
05.10.02, 07:57
man cpio

und so hangeln wir uns durch. ;)

Nein, ernsthaft. Den Umweg über den Stream brauchst Du nicht gehen, geht auch bequemer, z.B.:

rpm2cpio paket.rpm | cpio -im dateiname

Qeldroma
05.10.02, 20:39
:D Ähm....... Warum so kompliziert??? :D

MC (midnightcommander) kann in RPM oder tar/gz reinschauen und auch herauskopieren. Einfach wie ein Verzeichnis behandeln.

Achtung, darf auf keinen Fall EXECUTABLE sein, sonst geht er natürlich net rein sondern versucht dat dinjen zu starten :ugly:

Weiß net, ob man das extra einstellen muß, unter Mandrake und SuSE geht's so.

Christian81
05.10.02, 21:16
... und unter SuSE 8.0 kann mc dann sogar in den rpms rumsuchen und die enthaltenen Dateien entpacken :)

Belkira
05.10.02, 21:29
Ja, der Midnight Commander kann das. "rpm2cpio paket.rpm | cpio -id" zum Auspacken des gesamten Paketes halte ich trotzdem für eine schnelle Lösung.

Qeldroma
06.10.02, 00:51
Original geschrieben von Christian81
... und unter SuSE 8.0 kann mc dann sogar in den rpms rumsuchen und die enthaltenen Dateien entpacken :)

Hm?

Habe ich nicht genau das geschrieben??

Basti_litho
06.10.02, 02:41
rpm2targz

Catonga
06.10.02, 05:13
Danke an euch alle. ;)

Das mit cpio hat super geklappt.
Ich mußte den Befehl nur noch etwas anders anordnen:

$ rpm2cpio paket.rpm paket.cpio
$ cpio --extract -m --file=blu.cpio