tar obcina nazwy plików, gdy plik tar jest przenoszony z systemu Linux na system Unix (Solaris)

1

Jakie kroki zrobiłem:

Na komputerze z systemem Linux (RHEL-6) tar -cvf <tarname.tar>.

Na komputerze z systemem Unix (Solaris-10): sftp <[email protected]>i ftp plik tar do systemu Unix.

Teraz rozpakować na Unix: tar -xvf <tarname.tar>.

Podczas rozpakowywania plików widzę, że niektóre pliki są tworzone z obciętymi nazwami plików, jak poniżej:

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

Zamiast tego FileName.txtrozumiem FileNam.

tar -tvf <tarname.tar> wyświetla również obcięte nazwy plików.

Jak mogę poprawnie wyodrębnić plik tar po przesłaniu go z systemu Linux do systemu Unix, a nie przez system Windows?

Uwaga: plik tar przeniesiony na Uniksie ma pełne nazwy plików; dopiero po rozpakowaniu pliku tar pliki są tworzone przy użyciu skróconych nazw plików.

użytkownik685398
źródło
Czy jest szansa, że ​​pełna ścieżka ma więcej niż 255 znaków?
jcbermu
2
Tar Solaris : pełna długość nazwy ścieżki nie może przekraczać 255 znaków. Długość nazwy pliku (lub liścia) nie może przekraczać 100 znaków. Prefiks nazwy ścieżki nie może przekraczać 155 znaków. Czy coś takiego jest w tym przypadku? Czy widzisz obcięte nazwy na komputerze z systemem Linux tar tvf <file>?
Seth
@Seth Należy pamiętać, że ograniczenia te wynikają ze standardu POSIX dla tararchiwów. GNU tar tworzy archiwa, które nie są zgodne z tym standardem. Tylko Google „Jeorg Schilling GNU tar” dla niektórych epickich i znaczących rantów na temat tego, że GNU tar łamie standard POSIX w ciągu ostatnich kilku dekad. Oto tylko jeden: unix.derkeiler.com/Newsgroups/comp.unix.solaris/2003-08// Zwróć uwagę, że Schilling zna historię GNU tar i specyficzne standardy, które łamie.
Andrew Henle
Całkiem interesujące wiedzieć. Z mojego osobistego doświadczenia użytkowników zgaduję, że gnu tar jest obecnie szeroko stosowany i taki byłby standard defacto, nawet jeśli nie jest (zgodny z) oficjalnym z pewnymi działaniami. Ale podobnie jak publikowanie w grupach dyskusyjnych wydaje się, że jest w nim dużo historii, więc mogę się mylić, ale ostatecznie wydaje się, że jest to kwestia opinii i nie pomogłaby rozwiązać rzeczywistego problemu. Wydaje się, że rozwiązaniem jest użycie tar gnu. Po opublikowaniu tej grupy dyskusyjnej wydaje się, że OP powinien otrzymać pewne ostrzeżenia podczas rozpakowywania dotyczące nieprawidłowych / nieznanych nagłówków.
Seth

Odpowiedzi:

2

Odpowiedź Francisa na problemy z interoperacyjnością tar dla systemów Solaris i Linux jest poprawna.

Możesz zainstalować gtar (GNU tar) ze strony sunfreeware, jeśli go znajdziesz - Google „sunfreeware gnu tar”.

Alternatywnie, można użyć cpio, na najbardziej przenośny opcję archiwizacji plików pomiędzy * nixów. W przeszłości z powodzeniem przeszedłem między AIX, Linux, Solaris, HP-UX ↔ Linux, używając cpio, gdy nie miałem dostępu do gtar.

Munkeh72
źródło
W rzeczywistości druga odpowiedź jest wsteczna, skąd pochodzi niezgodność.
Andrew Henle