Prüfen ob archiv korrupt ist.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Ich habe ein script geschrieben, dass ein .tar.bz2 archiv downloadet und extrahiert. Leider kommt es häufig vor, dass Das Archiv fehler aufweist. Das heißt es wird nur ein teil extrahiert. Wenn ich versuche es mit dem Archiv Manager zu öffnen, schlägt das fehl. Gibt es eine möglichkeit zu überprüfen ob das archiv corrupt ist?

Ich benutze Ubuntu mit allen KDE und XFCE4 Packeten. Bitte helft mir. :roll:
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
theliquidwave
User
Beiträge: 221
Registriert: Sonntag 1. Juni 2008, 09:08

MD5 oder SHA1 Hash überprüfen.

~ Chris
Grüßle.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

Darauf bin ich auch schon gekommen das geht aber nicht, weil sich der Paketinhalt sich ständig ändert und weil, da wo ich das downloade kein hash steht.
Trotzdem Danke.
Gibt es eine andere möglichkeit?
[b][i]ein kleines game für die die lust haben http://konaminut.mybrute.com[/i][/b]
;-)
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Vielleicht hilft dir das hier ja weiter.

hth, querdenker
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Ich würde die Grundannahme anzweifeln, dass es bei der Übertragung von .gz oder .bz2-Dateien zu Fehlern kommt. TCP/IP macht da eigentlich keine Fehler. Erfolgt der Download auch irgendwelchen archaischen Mailboxen, die per Akkustikkoppler angesprochen werden?

Sowohl `gunzip` als auch `bunzip2` haben eine Option `-t` mit der man die Integrität der komprimierten Datei (die bereits eine CRC-Prüfsumme enthält) prüfen kann. Sollte das nicht ausreichen?

Und das die ausgepackte tar-Datei dann fehlerhaft ist, halte ich für noch unwahrscheinlicher, wenn das nicht gerade ein antikes Band-Archiv ist. Dieses Format ist einfach und wenn man die Bytes nicht selbst zusammenklöppelt, wird der Befehl `tar` korrekte Archive erzeugen. Zum Prüfen kann man ja mit dem tarfile-Modul die Datei versuchsweise einlesen und schauen, ob man bis zum Ende kommt und die Dateinamen und ihre Längen gemäß der TarInfo-Objekte sinnvoll erscheinen. Auch diese Verwaltungsdaten haben AFAIK eine CRC-Prüfsumme. Man sollte also merken, wenn die kaputt sind.

Stefan
Antworten