tar can't create

ath0

Well-Known Member
moin @all

ich möchte grade meinen neuaufgesetzten Mailserver mit dem schon vorhandenen Mailarchiv ausstatten. Ich mache das öffter und bis jetzt gab es keine probleme. Diesmal bekomme ich aber beim entpacken mit:

tar xf /dateixyz.tar.gz /ziel/verseichnis

den Fehler "can't create [datei_blabla]"

Das Archiv habe ich mit

tar -czpPf archiv_name.tar.gz /datei/liste

erstellt. Beim erstellen gab es bis jetzt keine Fehler nur beim entpacken zickt er.
Die verwendeten systeme sind:

Quelle: virtual box VM mit FreeBSD 8.1 x86 mit UFS
Ziel: FreeBSD 9.0 amd64 mit zfs

Könnte mir einer sagen wie ich aus tar herausbekomme warum er die Datei nicht erstellen kann?

Danke schonmal für jede hilfe :)
 
Zuletzt bearbeitet:
Was willst du damit sagen?

Edit: Überholt, Beitrag inzwischen verständlich da editiert :-D
 
Zuletzt bearbeitet:
tar ist eigentlich kein Hexenwerk

wechsle in das Verzeichnis /ziel/verzeichnis und entpacke das Archiv mit tar -xf dateixyz.tar

ich war mir eig sicher das man da früher einen Zielpfad angeben konnte, aber eben hat es nur so geklappt
 
tar ist eigentlich kein Hexenwerk

wechsle in das Verzeichnis /ziel/verzeichnis und entpacke das Archiv mit tar -xf dateixyz.tar

ich war mir eig sicher das man da früher einen Zielpfad angeben konnte, aber eben hat es nur so geklappt

In der Hektik schnell den Post ordentlich zu machen habe ich den Befehl zum entpacken nicht vollständig geschrieben. Es muss natürlich so aussehen:

Code:
tar xf /dateixyz.tar.gz -C /ziel/verzeichnis

Leider hat auch das entpacken in dem Zielverzeichnis nicht funktioniert. Weitere vorschläge? google sagt dazu auch nichts. :(

achso nach dem Tar gibt er noch

tar: Error exit delayed from previous error

hilft das?
 
tar: Error exit delayed from previous error

den gleichen Fehler hatte ich auch... bin dann direkt ins Zielverzeichnis und habe mein Archiv dort entpackt

btw... mit -C kann ich es allerdings ins Verzeichnis entpacken, das hab ich mir gleich in mein Fähnlein Fieselschweif Buch geschrieben

Bekommst du mehr Infos mit -v? Also:
Code:
tar -v -xf dateixyz.tar -C /ziel/verzeichnis
 
wie wärs mit tar -xzf datei.tar.gz ?

Wenn es gzip-komprimiert wurde, musst du tar das auch mitteilen.

Rob

(bsd)tar sollte gzip/bzip2/compress/xz Komprimierung auch erkennen, ohne das man es ihm mitteilen muss. In der Manpage steht:
Code:
−z, −−gunzip, −−gzip
(c mode only) Compress the resulting archive with gzip(1). In extract or list modes, this option
is ignored. Note that, unlike other tar implementations, this implementation recognizes gzip
compression automatically when reading archives.
 
Ich habe es jetzt mal mit der option "z" versucht, auch wenn die laut man nur für c gedacht ist, aber auch damit hatte ich keinen erfolg. Der fehler bleibt. Ich habe es schon mit "v" versucht. Leider kein gutes ergebniss, was aber eher daran liegt, dass ich die ausgabe nicht in eine Datei umgeleitet bekomme. Da "v" aber eh nur eine Liste der entpackten Dateien ausgeben soll ist das nicht das problem... oder doch?
 
Der selbe Befehl funktioniert bei anderen, auf die selbe Weise erstellten, Dateien? Das klingt als wär dein Archiv kaputt.
edit: Du hast da nicht zufällig noch irgendwelche ominösen Systemdateien drin oder?
 
Auf dem Quellsystem, welches doch schon amd64 ist nicht x86 wie oben gelogen, kann ich das Archiv einfach entpacken. Könnte es an der übertragung via SCP liegen? Ich habe die Datei nochmal übertragen aber das problem bleibt.
Wenn ich mit sha1 eine checksumme der Datei auf beiden systemen mache, ist diese exact gleich.

Edit: systemdateien sind nicht drin nur wenige configs (postfix, mysql, dovecot etc)
 
Raten wir mal weiter: Sind vielleicht irgendwelche Dateisystem-Flags wie "schg" im Spiel?
 
Raten wir mal weiter: Sind vielleicht irgendwelche Dateisystem-Flags wie "schg" im Spiel?

Nein das Archiv enthält nur mails (im maildir format verwaltet von dovecot) einige configs die wie gesagt zu postfix, mysql, dovecot und apache22 (ich glaube das war alles) gehören. Zusätzlich sind noch webseiten in dem Paket. Es läst sich sonst alles entpacken und alle dateien in dem mailverzeichnis haben die selben Rechte auf dem Quellsystem (vmail:mail)und im Archiv(root:wheel) und nach dem Entpacken (root:wheel) wenn das ganze erfolgreich läuft wird beim entpacken von einem kleinen script das verzeichnis wieder mit den ursprünglichen Rechten bestückt (vmail:mail).
Eigentlich ist es nicht schlimm das die Datei jetzt fehlt (hoffe ich) da es nur eine Mail von mir ist, aber wissen würde ich schon gerne was da los ist.
 
Wie sieht es denn ohne -C aus? Weiß gerad nich, ob es Sinn macht, mit -P einzupacken und mit -C auszupacken.
Und -p nimmt ja auch die User-/Group ID mit, ggf. sollten die auf dem Zielsystem vorhanden sein und das Ziel das Setzen der Berechtigungen erlauben?
 
Auch ohne die Option "C" bekomme ich die Fehlermaldung. Ok "P" macht evtl. keinen Sinn mehr, aber auch ohne "P" bleibt die Meldung. User und Gruppe sind vorhanden sogar mit selber U und GID. Währen sie es nicht, würde das keinen unterschied machen, da alle entpackten Dateien User und Gruppe des entpackenden erhalten, da ich beim entpacken die Option "p" nicht nutze, um diesen Fehler auszuschließen. Wobei ich das langsam mal wieder ändern könnte, würde mir ne menge chmod bzw. chown Geschichten sparen :D

Ich würde das ganze für abgeschlossen halten, da es nur genau diese eine Datei betrifft und mein Mailserver sonst wieder, wie gewohnt, sauber läuft.
Ich hatte gedacht es gibt eine Möglichkeit tar "einfach" eine bessere Fehlerbeschreibung auszuspucken, ich wollte nicht 100 Leute damit belästigen.

Vielen Dank für eure Hilfe
ath0
 
Funxt denn
tar -v -xf -C /ziel/verzeichnis dateixyz.tar

irgendwie, oder andere Varianten? Weil in der man page steht
-C directory
--directory directory Change to directory before processing the remaining
arguments.

Interessiert ja für's Knobeln nicht, was genau in der Datei drinsteht ;)
 
Läuft denn ein "tar -t -f -v <file>" mit dieser Datei ohne Fehlermeldung durch?

nein er sagt
tar: Error opening archive: Failed to open '-v'
spaß bei seite,
Code:
tar -tf
läuft durch.

@SeppoE
Wenn ich
Code:
tar -v -xf -C /ziel/verzeichnis dateixyz.tar
ausführe bekomme ich auch
tar: Error opening archive: Failed to open '-C'

Wenn Ihr noch ne idee habt, ich hebe die Datei erstmal auf :)
 
Hinter dem -f sollte immer der Dateiname folgen, daher auch die Fehlermeldungen.

manpage schrieb:
tar {-r | -u} -f archive-file [options] [files | directories]
...
-f file
Read the archive from or write the archive to the specified file.
The filename can be - for standard input or standard output. If
not specified, the default tape device will be used. (On
FreeBSD, the default tape device is /dev/sa0.)
 
Hast Du schon mal versucht, die Datei erst mit gunzip zu entpacken und dann tar drauf loszulassen? Kannst Du denn die Datei auf dem Quellsystem wieder entpacken?

Falls das "nackte" (unkomprimierte) Archiv immer noch Ärger bereitet, könntest Du mit grep mal den Bereich suchen, in dem sich die zickige Datei versteckt hält (der Dateiname steht ASCII-codiert im Header drin). Dann wären die 512 bytes interessant, die den Header für diese Datei bilden. Mit Hexdump und ein paar Kniffen lässt sich eventuell mit Gewalt die gesamte Datei da herauslösen (siehe http://en.wikipedia.org/wiki/Tar_(file_format)).
 
Zurück
Oben