tar: Blok nol tunggal di 343398

10

ketika mencoba untuk mengekstrak file tar.gz di terminal ubuntu terjadi kesalahan pada kalimat terakhirnya di sini: tar: Blok nol tunggal di 343398

apa solusi untuk masalah ini ???

Ya ampun
sumber

Jawaban:

18

Itu tergantung apakah itu terjadi dengan semua tar.gzfile atau hanya yang ini. File khusus ini bisa rusak, jadi tidak akan terbuka dengan benar. Jika menggunakan tar ekstrak, Anda perlu menggunakan zopsi, seperti yang diperlukan ketika sebuah arsip gzip: tar xzvf <file.tar.gz>. Atau, ada baiknya juga mencoba mengekstraknyagunzip <file.tar.gz>

Untuk mengetahui apakah file tersebut rusak, jalankan gzip -t <file.tar.gz>; perintah ini akan memeriksa kesalahan file, dan jika ada ditemukan mereka akan muncul di terminal. Ini akan memberi tahu Anda apakah file tersebut rusak.

Jika file tersebut suara dan kesalahannya berulang, itu berarti mungkin masalah yang diketahui dengan tar yang terjadi ketika file tidak memiliki sepasang zero blocksdi akhir, seperti yang diharapkan oleh tar GNU. Solusi untuk ini adalah menambahkan -iopsi untuk mengabaikan zero blocks. Jadi gunakan tar ixzvf <file.tar.gz>Masalah ini didokumentasikan di sini secara rinci.


sumber
1

Hal yang sama terjadi pada saya karena saya menyalurkan stdout dan stderr melalui saluran yang tidak memisahkan stderr dan stdout (sesi terminal adb android).

Dengan begitu beberapa pesan kesalahan berakhir di arus. Ini adalah perintah yang salah:

  • Perintah salah, adb shell hanya menggabungkan stderr dan stdout secara lokal => sampah! :
    adb shell tar -cf - /some/dir \| uuencode bla | uudecode -o - > backup.tar

  • Perintah tetap:
    adb shell tar -cf - /some/dir 2>/dev/null\| uuencode bla | uudecode -o - > backup.tar

Hal yang sama akan terjadi jika Anda melakukan perintah serupa melalui SSH seperti streaming tar cepat ini ssh jika Anda lupa untuk mengarahkan ulang stderr ke / dev / null:

ssh user@host tar -czf /some/remote/path 2\>/dev/null > /local/path/to/file.tar.gz

ce4
sumber
1
Tangkapan yang bagus. Ini juga terjadi jika Anda mengatur RequestTTY yesdi ssh_config Anda. Dapat secara eksplisit dinonaktifkan dengan -T Disable pseudo-tty allocation.Bagi saya, kesalahan tar: Skipping to next headerawalnya, satu-satunya nol blok terjadi ketika saya mencoba dengan --posix..
eMPee584
0

Saya mendapatkan kesalahan ini beberapa hari yang lalu mencoba membuka arsip yang tidak di-gzip. Sumber file tidak diketahui oleh saya tetapi saya pikir pencipta dapat menggunakan catuntuk menggabungkan beberapa ter menjadi satu. Ini menyebabkan penanda nol file akhir dibaca oleh tarutilitas di tengah arsip gabungan sehingga menampilkan kesalahan "Blok tunggal nol".

Jika hal ini terjadi maka opsi --ignore-zerosatau -imungkin membantu untuk menekan kesalahan ini. Silakan lihat man taratau tautan ini sebagai referensi.

Yerden
sumber