tar schneidet Dateinamen ab, wenn Tarfile von Linux nach Unix (Solaris) übertragen wird

681
user685398

Welche Schritte habe ich gemacht:

Auf einem Linux - Rechner (RHEL-6): tar -cvf <tarname.tar>.

Auf einem Unix-Rechner (Solaris-10): sftp <linuxUser@server.com>und das Tarfile mit dem Unix-System verbinden.

Nun entpacken auf Unix: tar -xvf <tarname.tar>.

Beim Extrahieren der Dateien sehe ich einige der Dateien, die mit abgeschnittenen Dateinamen erstellt werden, wie folgt:

bash-3.2$ ls -lt  total 48 -rw-r--r-- 1 user group 454 Jan 13 01:53 FileNam 

Stattdessen FileName.txtbekomme ich FileNam.

tar -tvf <tarname.tar> Zeigt auch abgeschnittene Dateinamen an.

Wie kann ich die tar-Datei ordnungsgemäß extrahieren, nachdem ich sie von Linux nach Unix übertragen habe, nicht über Windows?

Hinweis: Das unter Unix übertragene Tarfile hat vollständige Dateinamen. Beim Extrahieren der Tarfile werden die Dateien mit abgeschnittenen Dateinamen erstellt.

1
Gibt es eine Chance, dass der vollständige Pfad länger als 255 Zeichen ist? jcbermu vor 7 Jahren 0
[Solaris tar] (http://ibgwww.colorado.edu/~lessem/psyc5112/usail/man/solaris/tar.1.html): Die vollständige Länge des Pfadnamens darf nicht länger als 255 Zeichen sein. Der Dateiname (oder das Blatt) darf nicht länger als 100 Zeichen sein. Das Präfix des Pfadnamens darf 155 Zeichen nicht überschreiten. Ist irgendetwas der Fall? Sehen Sie die verkürzten Namen auf dem Linux-Computer mit `tar tvf '"? Seth vor 7 Jahren 2
@Seth Beachten Sie, dass diese Einschränkungen vom POSIX-Standard für `tar`-Archive stammen. GNU tar erzeugt Archive, die diesem Standard nicht folgen. Nur "Jeorg Schilling GNU tar" von Google wurde für einige epische und beachtliche Razzien darüber geäußert, dass der GNU-Teer den POSIX-Standard in den letzten Jahrzehnten gebrochen hat. Hier ist nur einer: http://unix.derkeiler.com/Newsgroups/comp.unix.solaris/2003-08/1899.html Beachten Sie, dass Schilling die Geschichte von GNU tar und die spezifischen Standards kennt, die er bricht. Andrew Henle vor 7 Jahren 0
Sehr interessant zu wissen. Aus meiner persönlichen Benutzererfahrung würde ich vermuten, dass gnu tar inzwischen weit verbreitet ist und ein solcher wäre der defacto-Standard, auch wenn er (nach) einem offiziellen nicht folgt, mit bestimmten Dingen, die er tut. Aber so wie das Newsgroup-Posting zeigt, scheint es eine Menge Geschichte zu geben, daher bin ich möglicherweise falsch, aber letztendlich scheint es eine Ansichtssache zu sein und würde nicht helfen, das eigentliche Problem zu lösen. Die Lösung scheint zu sein, Gnu-Teer zu verwenden. Aus diesem Newsgroup-Posting scheint es, als hätte das OP beim Auspacken Warnungen über ungültige / unbekannte Header erhalten. Seth vor 7 Jahren 0

1 Antwort auf die Frage

2
Munkeh72

Francis's Antwort auf Probleme mit der Interoperabilität von tar unter Solaris und Linux ist richtig.

Sie können gtar (GNU tar) von der Sunfreeware-Site installieren, wenn Sie es finden können - Google "Sunfreeware gnu tar".

Alternativ können Sie verwenden cpiodie, die meisten tragbaren Dateiarchivierung Option zwischen * nixes. Ich bin in der Vergangenheit erfolgreich zwischen AIX, Linux, Solaris, HP-UX und Linux mit cpio gegangen, wenn ich keinen Zugriff auf gtar hatte.

Tatsächlich ist die andere Antwort rückwärts, woher die Inkompatibilität kommt. Andrew Henle vor 7 Jahren 0