Jawaban:
Itu tergantung apakah itu terjadi dengan semua tar.gz
file atau hanya yang ini. File khusus ini bisa rusak, jadi tidak akan terbuka dengan benar. Jika menggunakan tar ekstrak, Anda perlu menggunakan z
opsi, 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 blocks
di akhir, seperti yang diharapkan oleh tar GNU. Solusi untuk ini adalah menambahkan -i
opsi untuk mengabaikan zero blocks
. Jadi gunakan tar ixzvf <file.tar.gz>
Masalah ini didokumentasikan di sini secara rinci.
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
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 cat
untuk menggabungkan beberapa ter menjadi satu. Ini menyebabkan penanda nol file akhir dibaca oleh tar
utilitas di tengah arsip gabungan sehingga menampilkan kesalahan "Blok tunggal nol".
Jika hal ini terjadi maka opsi --ignore-zeros
atau -i
mungkin membantu untuk menekan kesalahan ini. Silakan lihat man tar
atau tautan ini sebagai referensi.
RequestTTY yes
di ssh_config Anda. Dapat secara eksplisit dinonaktifkan dengan-T Disable pseudo-tty allocation.
Bagi saya, kesalahantar: Skipping to next header
awalnya, satu-satunya nol blok terjadi ketika saya mencoba dengan--posix
..