Jak rozwiązać problem „tar: blok samotnego zera przy 60140”?


0

Otrzymuję błąd z pliku tar.gz, który został utworzony za pomocą programu winace podczas otwierania go tar vxzf package.tar.gzw systemie Linux:

tar: A lone zero block at 60140

Odpowiedzi:


3

Wygląda na to, że straciłeś jeden z sektorów dysku twardego, na którym siedział ten archiwum, więc blok pliku ma wszystkie zera. Możesz pobrać go ponownie lub przywrócić z kopii zapasowej lub czegoś innego.

Aby uzyskać drugą opinię na temat pliku, spróbuj go rozpakować gunzip, a następnie rozpakuj za pomocą tar xvf ....

Możesz także przeczytać liczniki SMART na tym dysku twardym i sprawdzić, czy zgłasza ono jakiekolwiek oczekujące, przemapowane lub przeniesione uszkodzone sektory. Jeśli znajdziesz, usuń wszystko z dysku twardego, które możesz (lub jeśli masz wystarczająco dużo ostatnich kopii zapasowych, przetestuj gdzieś swoje kopie zapasowe, aby upewnić się, że możesz przywrócić z nich wszystko), a następnie usuń dysk twardy z opcją wybraną, aby faktycznie zapisz zera lub losowe dane w każdym sektorze dysku. To jedyny sposób, aby zmusić dysk twardy do zmiany mapowania uszkodzonych sektorów. Ale gdy na dysku twardym zaczynają się pojawiać awarie sektorów, prawdopodobnie nadszedł czas, aby wymienić dysk.


0

Jest to prawdopodobnie niepoprawnie skonstruowany .tgzplik.

Blok samotnego zera oznacza właśnie to. Plik tar składa się z bloków nagłówka i przeplatanej zawartości pliku (nagłówek określa liczbę bloków treści pliku). Plik jest następnie kończony przez dwa lub więcej bloków zerowych.

Teraz, jeśli jest tylko jeden blok zerowy, a plik albo kończy się po tym, albo następują po nim bloki niezerowe, GNU tarzapisze tę diagnostykę i zakończy działanie (tak jakby plik się tam poprawnie kończył).

Jeśli straciłeś sektory dysku twardego, co prawdopodobnie spowodowałoby również gzipwyświetlenie błędu (i tar zareaguje na to), na przykład:

gzip: stdin: unexpected end of file 
tar: A lone zero block at 1754
tar: Child returned status 1
tar: Error is not recoverable: exiting now

gzippodobnie, jeśli pobieranie zostało przedwcześnie zakończone, również pojawiałyby się błędy. Bez tych błędów jest nieprawdopodobne, aby .tgzjakoś zranić ( gzipprawdopodobnie wykryje błędy bitów w strumieniu zip i poda błędy za to).

Biorąc pod uwagę, że strumień zip jest spójny, można dojść do wniosku, .tarże spakowany strumień był wadliwy (co dzieje się tylko podczas pakowania archiwum).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.