[gelöst]entpacken mit tar schlägt fehl

xxolli

Neuer User
Mitglied seit
24 Mrz 2006
Beiträge
166
Punkte für Reaktionen
0
Punkte
16
Hallo zusammen,

ich möchte auf meinem gefritzten Speedport ein Archiv archiv.tar.gz, das in /var/media/ftp/uStor01/tmp liegt, entpacken.

dazu verwende ich folgenden Aufruf

Code:
cd /var/media/ftp/uStor01/tmp
tar xzf archiv.tar.gz
Leider erhalte ich dann folgendene Rückmeldung
Code:
tar: corrupted octal value in tar header

Ich kann das Archiv aber auf nem,
  1. Linux-PC
  2. Windows-PC mit Speedcommander
  3. DBox2 mit Neutrino
entpacken. Also gehe ich mal davon aus, das es nicht defekt ist.
Was kann ich tun?

Gruß xxolli
 
Zuletzt bearbeitet:
Eine Vermutung: Kannst du es vielleicht mit dem "älteren" tar aus dem tools-Ordner von Freetz neu packen?
Das tar der Box ist recht alt...

Jörg
 
Danke für den Tip,
aber eigentlich will ich das Archiv ja entpackt auf der Box haben, von daher wär es ja unpraktisch wenn ich es auf dem PC neu packen würde, damit ich es auf der Box entpacken kann!?
dann kann ich es ja gleich entpackt auf die Box kopieren.
oder hab da jetzt was falsch kapiert?
 
ist schon klar, das hilft nur, wenn du es unbedingt auf der Box entpacken musst, es aber vorher bearbeiten kannst (also Aus- und wieder neu Einpacken). Du könntest alternativ versuchen, ein aktuelleres tar-Binary für die Box zu bauen, aber ob es den Aufwand wert ist, weiß ich nicht...

Jörg
 
Ich hab zwar keine Ahnung was es für ein Aufwand ist das tar neu zu bauen, aber ursprünglich hatte ich folgendes vor:

  1. Archiv aus dem Netz laden -->klappt
  2. Archiv entpacken --> klappt nicht
und das ganze völligst ohne händisches zutun, da das ganze per cron aublaufen soll.
Wie gesagt es klappt alles ausser entpacken. :confused:
 
Naja, es sieht nunmal ganz so aus, als ob das Tar auf der Box zu alt dafür wäre. Da gibts eben keine Lösung, ausser a) neues Tar bauen, oder b) Archiv für das alte Format verpacken.
 
Gibt es irgendwo eine Anleitung wie man neues tar baut? Wüsste jetzt gar nicht, wo ich anfangen soll?!
 
Im ds-mod wiki steht wie man grundsätzlich mit ds-mod/freetz Mitteln ein Programm übersetzt. Meist reicht ein passendes "configure" mit den Mipsel-Werten und der "make" Aufruf.


Jörg
 
Bei tar.gz handelt es sich um mit gunzip kompremierte tar-Archive, versuch das hier mal 1:1 auf deinem Linux PC (in dem Ordner, in dem auch dein archiv.tar.gz ist - falls die Datei anders heißt Zeile 2 des Skripts anpassen!)

Code:
mkdir tmpordner123
cp archiv.tar.gz tmpordner123/
cd tmpordner123
tar xvf archiv.tar.gz
rm archiv.tar.gz
tar cvf archiv.tar *
cd ..
mv tmpordner123/archiv.tar .
rm tmpordner123 -rf

Ich weiß nicht wie gut du dich mit Linux auskennst, deswegen hier auch noch eine knappe Erklärung was das Skript tut:
Das Skript erstellt einen neuen Ordner tmpordner123 (der hoffentlich noch nicht exestiert ^^), kopiert das archiv.tar.gz dort hin, entpackt es, löscht die Kopie und packt die entpackten Dateien neu in das unkompremierte archiv.tar (nicht tar.gz!).
Danach wird ein wenig aufgeräumt, d.h. archiv.tar wird in das selbe Verzeichnis verschoben wir archiv.tar.gz und die temporären Daten werden gelöscht.

Das wäre etwas einfacher als tar neu bauen, was dann sowieso nur wieder eine große Binary erzeugt (weil du brauchst Gunzip-Support in deinem neuen tar um die Datei zu entpacken. Das tar-Format hat sich in den letzten Jahren nämlich afaik nicht geändert ;-))

//edit:
Gruß Sebastian :-D

//edit2:
oh, es muß natürlich rm -rf sein, denn rmdir löscht nur leere Verzeichnisse *rotwerd*
 
"tar xvf archiv.tar.gz" ist auch nicht korrekt, da fehlt ein "z"
 
Oben stand 'xzf', das war also korrekt...
 
@xxolli: Sag bitte Bescheid ob es geklappt hat...
Weil wenn es nicht klappt gibt es zwei Fehlerquellen:
1. Upload per FTP im ASCII-Modus (oder Download?)
2. kaputtes tar (wäre aber sicherlich schon aufgefallen?)

Wenn 1. der Fall ist einfach mal scp probieren - Dateitransfer per ssh, ist verschlüsselt (haha, per LAN Kabel... ^^) und (auf Protokollebene [!!]) nicht so antiquitiert wie ftp (ausserdem spart man sich dann den ftp Server wenn man sowieso ssh/dropbear drauf hat :))

-OT-
"tar xvf archiv.tar.gz" ist auch nicht korrekt, da fehlt ein "z"

Jaja, immer diese Klugscheißer :p, aber zumindestens die tar-Implementierungen unter Ubuntu und Gentoo erkennen gunzipped archives automatisch, und da tar auf den meisten System gleich ist... ;-)
 
Ich meinte das tar aus Post #9, dort fehlt es. Bei meinem Fedora Core jammert tar immer wenn ich eine falsche Option angebe, Ubuntu ist nicht so mein Fall. Deshalb fällt es mir immer auf, wenn hier das Forensystem Mist bei Dateiendungen baut.
 
@archimedesmp

Wenn ich das ganze jetzt richtig verstehe brauche ich für dein Skript aber einen Linux-PC!?
Der eigentliche Sinn wäre dann aber dahin, da ich es auf der Box entpacken möchte?! :confused:

teste es aber trotzdem mal im Laufe des Wochenendes.

Gruß xxolli
 
@cuma: ist schon klar, daß Du das meintest, aber da es im ersten Post richtig war, und dort ursächlich das Problem beschrieben wurde, denke ich, daß das wohl nicht an einem fehlenden z liegen konnte.
 
Google "tar windows" und 2 klicks liefern: http://www.tugzip.de
Soll wohl auch .tar-Archive erstellen können, kann das Mangels Windows aber nicht testen.

Sorry für die was knappe Antwort, muss für eine Theorie-Klausur (FGdP) am Dienstag Lernen ;-)
Gruß Sebastian
 
Danke für die Antwort aber das Problem bei "Linux-PC" war nicht das "Linux" sondern das "PC".;)
Ich wollt ja alles auf der Box machen!

Gruß xxolli

P.S. Viel Glück bei der Klausur
 
Das Problem ist halt, dass das tar auf der Box nicht mit tar.gz Files umgehen kann, also musst du irgendwie aus dem tar.gz-File ein .tar-File machen.

Stell dir das vor wie ein Rechner ohne WinRAR, wenn du da ein RAR-Archiv entpacken willst musst du entweder aus dem RAR-Archiv bei dir ein ZIP-Archiv umwandeln oder WinRAR installieren.

Wenn du das auf der Box entpacken willst brauchst du gunzip auf der Box:
http://www.gzip.org/
Da es da aber keine Binaries für die FritzBox gibt musst du den Quelltext runterladen und crosscompilen - und das musst du lokal auf deinem Rechner machen.

Da ist es doch wesentlich einfach bei dir auf dem Rechner aus dem tar.gz ein tar zu machen womit die Fritzbox dann auch wieder umgehen kann.

Gruß Sebastian
 
ahh, ich korregiere mich selbst, wie bereits vorgeschlagen *musst* du auf dem tar der Fritz!Box (welches von der Busybox Shell bereit gestellt wird) den Parameter z verwenden, auch beim entpacken - das GNU tar unter Linux tut es allerdings wirklich von selbst.

Code:
/var/mod/root # ls
test.tar.gz
/var/mod/root # tar xvf test.tar.gz 
tar: invalid tar magic
/var/mod/root # tar xvzf test.tar.gz 
test
/var/mod/root # ls
test         test.tar.gz

Der Fehler beim weglassen von z ist allerdings ein anderer als den von dir beobachtete.
Wahrscheinlich ist deine Archiv einfach nur kaputt ;-)

//edit: Meine erste Testdatei war zu klein (hatte nur ein File mit "1" drinnen gepackt), dann sagt tar "short read", aber das ist ja auch nicht dein Fehler...

Gruß Sebastian
 
Zuletzt bearbeitet:
Jetzt kapier ich erst was du meinst, dir FritzBox kann kein gunzip. Deswegen als die Geschichten über den PC.
Da das ganze ja, wie oben beschrieben, über einen cron-Eintrag erfolgen soll, sind für mich alle Lösungen über einen PC keine wirkliche Lösung.

Demach werde ich mich mal in das Cross-Compilen einarbeiten müssen, da ich davon mal gar keine Ahnung habe.

Gruß xxolli

EDIT: Oh du hast nochmal geantwortet, aber les nochnaml Beitrag 1, da ist ein "z" drin, und kaputt ist es, glaub ich auch net ,wenn ich die gleiche Datei auf 3 anderen Systemen öffnen kann.
Werde demnach doch mal das neu kompilieren ins Auge fassen

EDIT2:
auch ein
Code:
tar xvzf
bringt die gleiche Fehlermeldung
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.