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.txt
rozumiem 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.
tar tvf <file>
?tar
archiwó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.Odpowiedzi:
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.źródło