PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit cpio "Malformed number"



GlammaKid
16.07.09, 15:33
Hallo!


Ich habe ein kleines Problem:

Ich muss dienstlich ein Band einlesen, welches ein unter sinix erstelltes informix-backup enthält.

Leider kenne ich nicht den genauen Befehl, der zum Sichern genommen wurde.

Im Moment gehe ich davon aus, dass cpio zum Sichern der Daten genommen wurde.

Wenn ich die Daten vom Band mit cpio auslese (ich benutze cygwin), kann ich die ersten ca. 600 Dateien wiederherstellen.
Danach bekomme ich folgende Fehlermeldungen:


daten/dbsich/db-sich
cpio: Malformed number €
daten/dbsich/db-sich/informix.ontape
cpio: Malformed number tape
cpio: invalid header: checksum error
cpio: Malformed number ape
cpio: Malformed number pe
cpio: Malformed number @
.
.
.
cpio: Malformed number rootdbs
cpio: Malformed number ootdbs
cpio: Malformed number otdbs
cpio: Malformed number tdbs
cpio: Malformed number dbs
cpio: Malformed number bs
cpio: Malformed number s
cpio: Malformed number dat
cpio: Malformed number date
cpio: Malformed number daten
cpio: Malformed number daten_
cpio: Malformed number daten_d
cpio: Malformed number daten_db
cpio: Malformed number aten_dbs
cpio: Malformed number ten_dbsp
cpio: Malformed number en_dbspa
cpio: Malformed number n_dbspac
cpio: Malformed number _dbspace
cpio: Malformed number dbspace
cpio: Malformed number bspace
cpio: Malformed number space
cpio: Malformed number pace
cpio: Malformed number ace
cpio: Malformed number ce


Die informix.ontape Datei dürfte mehrere GB groß sein.

Habe bereits über Google herausgefunden, dass es beim cpio mehrere Formate gibt (das neuere kann wohl nicht mehr mit großen Dateien umgehen).
Alles ausprobiert. Bei einigen Formaten startet die Wiederherstellung erst gar nicht.

In den bereits ausgelesenen Dateien befindet sich ein script mit folgendem Inhalt:


find . -print | cpio -ovcB | dd bs=256k of=/dev/rmt0

Ich gehe davon aus, dass mit diesem Befehl die Daten gesichert wurden.

Wie wäre der passende "Gegenbefehl"?

Vielen Dank im Voraus!

Aqualung
16.07.09, 15:53
dd bs=256k if=/dev/rmt0 | cpio -idvcB

Statt rmt0 kannst Du auch eine normale Datei verwenden.

Bem.: Binäre Daten bedeuten auf little-endian und big endian NICHT dasselbe. Also zum Auspacken ein System gleicher Endianess (http://de.wikipedia.org/wiki/Endianness) wie das ursprüngliche verwenden.

GlammaKid
16.07.09, 17:03
Hallo Aqualung...

Danke für die schnelle Antwort.

Ich bin kein Linux-Profi, sondern wurschtel mich da eher so gerade eben durch...

Habe das Band mit dd ausgelesen und dann festgestellt, dass sich darin das Wörtchen "ustar" befindet.

Komischerweise gab tar beim Versuch das Band auszulesen, die Fehlermeldung aus, dass es sich bei diesem Band wohl nicht um ein TAR-Archiv handeln würde.

Sobald ich aber das dd-image als Quelle genommen habe, lief das Extrahieren problemlos durch.

Ich bin leider nicht früher drauf gekommen, da TAR ja die Fehlermeldung brachte und cpio die ersten knapp über 600 Dateien wiederhergestellt hat.



Danke noch mal!!!