Kesalahan ekstra-byte saat membuka ritsleting file

28

Ketika saya masuk unzip ../founation-latest.zip, ini menghasilkan ini:

peringatan [../foundation-latest.zip]: 248 byte tambahan di awal atau di dalam zipfile (tetap mencoba untuk memproses)

File ini 138KB. Ini membuka ritsleting dengan benar, tetapi mengapa saya mendapatkan kesalahan ini?

air hujan11
sumber
2
Salah satu penyebab yang mungkin adalah bahwa, dalam satu langkah perjalanannya ke sistem Anda, itu ditransfer dengan ftpdalam mode ASCII daripada mode BINARY dan beberapa byte ditambahkan. Jika Anda menggunakan ftppada tahap apa pun, jalankan ftplagi, menggunakan perintah 'bin' sebelum 'put' atau 'get'.
Mark Plotnick
Itu bisa memiliki muatan berbahaya di awal. Ini internet yang tidak bersahabat. Berhati-hatilah dengan utilitas unzip apa yang Anda gunakan untuk membuka zip seperti itu.
jbrahy
Ada banyak dugaan dalam jawaban saat ini, karena ada banyak kemungkinan penyebabnya. Akan membantu jika memiliki tautan atau salinan file yang dimaksud.
duozmo
Mengenai kemungkinan muatan tambahan berbahaya: Pada ukuran itu, Anda dapat mengunggah file ke virustotal.com untuk memeriksanya - jika tidak ada informasi pribadi di sana. Namun, saya tidak akan terlalu khawatir tentang virus di Linux, hanya jika Anda menyalin file asli di tempat lain. (Anda selalu dapat mengemas ulang file tersebut jika menurut Anda datanya lengkap.)
Ned64
Hanya untuk mengonfirmasi ini adalah Masalah. Saya mencoba membuat cadangan ruang file iTunes saya dengan zipdan dengan ditto. Yang unzipdisediakan (oleh 10.11) gagal dengan keduanya, serta dengan 7za. MacOS unzip tidak suka file zip (besar?).
Otheus

Jawaban:

37

Masalah saya adalah karena saya mencoba menggunakan "unzip" pada MAC OSX yang tidak dapat menangani hal-hal yang di-zip dengan PKZIP.

Saya bisa brew install p7zipdan unzip menggunakan perintah 7za x some_file.zip.

Saya awalnya menemukan solusi dalam artikel ini: need-pk-compat-v4-5-can-do-v2-1

duyker
sumber
4
Saya mengunduh Windows VM dari microsoft.com dan ini adalah solusi untuk unzipping.
sod
1
Ini juga dapat diterapkan pada unzip di Linux (dalam kasus saya: UnZip 6.00 dari 20 April 2009, oleh Debian.)
BradHards
2
Perlu juga disebutkan sedikit lebih cepat dan menunjukkan kemajuan.
previous_developer
Juga p7z menangani file yang lebih besar dan file dengan zip yang lebih baru
Konrads
Masalah yang sama hari ini pada gambar AWS linux. Mengunduh RPM p7zip dari timeoff.wsisiz.edu.pl/rpms.html dan arsipnya diuji dan diekstraksi tanpa masalah.
sprocket
23

Saya menemukan utas ini yang memiliki masalah serupa. Laporan bug berjudul: unzip gagal pada 5.4GB ZIP dengan "byte tambahan di awal atau di dalam zipfile" . Salah satu perbaikan yang disarankan adalah menggunakan perintah ini pada .zipfile.

$ zip -FFv foo.zip --out fixed.zip

Contoh Jalankan

$ zip -FFv foo.zip --out fixed.zip
Fix archive (-FF) - salvage what can
 Found end record (EOCDR) - says expect single disk archive
Scanning for entries...
 Local ( 1      0): copying: d1/f1   (651734 bytes)
 Local ( 1 651817): copying: d1/d2/  (0 bytes)
 Local ( 1 651905): copying: d1/d2/f3   (80 bytes)
 Local ( 1 652083): copying: d1/f23   (891 bytes)
 Local ( 1 653021): copying: d1/f27   (8764 bytes)
 Local ( 1 661837): copying: d1/f24   (14818 bytes)
 Local ( 1 676709): copying: d1/f25   (17295 bytes)
...
 Cen   ( 1 5488799949): updating: d1/f13
 Cen   ( 1 5488800052): updating: d1/f14
Zip64 EOCDR found ( 1 5488800155)...
Zip64 EOCDL found ( 1 5488800211)...
EOCDR found ( 1 5488800231)...
$ echo $?
0

saklar zip -FF

kutipan dari halaman manual zip

       -FF
       --fixfix
              Fix the zip archive. The -F option can be used if some 
              portions of the archive are missing, but requires a reasonably 
              intact central directory.   The  input  archive is scanned as 
              usual, but zip will ignore some problems.  The resulting 
              archive should be valid, but any inconsistent entries will be 
              left out.

              When doubled as in -FF, the archive is scanned from the 
              beginning and zip scans  for  special  signatures  to  
              identify  the  limits between the archive members. The single 
              -F is more reliable if the archive is not too much damaged, so 
              try this option first.

              If  the archive is too damaged or the end has been truncated, 
              you must use -FF.  This is a change from zip 2.32, where the 
              -F option is able to read a truncated archive.  The -F option 
              now more reliably fixes archives with minor damage and the -FF 
              option is  needed to fix archives where -F might have been 
              sufficient before.
              ...
slm
sumber
3

Saya telah melihat jenis kesalahan ini sebelumnya ketika arsip zip ditransfer melalui layanan web yang mengalami masalah. Setelah memeriksa langsung file zip, saya menemukan pesan kesalahan dari layanan web telah dikirim di depan file zip.

Anda dapat mencoba memeriksa file zip sebagai teks dan melihat apakah ada sesuatu yang menarik muncul di depan.

Michael Kohne
sumber
3

Baru saja mendapat peringatan ini juga. Dalam kasus saya itu disebabkan oleh mengunduhnya dengan 'curl -i' yang menyebabkan http-header muncul di awal file zip. saya konyol. Pasti ini tidak akan menjadi penyebab / solusi dalam semua kasus, tapi mungkin itu membantu seseorang ...

dknaus
sumber
2

Ini bisa berupa arsip yang mengekstrak sendiri (windows .exe) atau telah diisi karena suatu alasan.

Ricky Beam
sumber
1
Apa yang Anda maksud dengan "empuk"?
rainwater11
Bytes ekstra (biasanya nol (nol)) untuk membuat file menjadi panjang tertentu. Ini dulunya merupakan artefak dari ukuran blok transfer file (mis. Xmodem), tetapi di dunia modern, itu tidak terjadi. Itu juga bisa menjadi tanda tangan kripto. (Saya tidak punya file, jadi saya tidak tahu apa itu 248 byte itu.)
Ricky Beam
0

Saya juga punya masalah yang sama. Saya mengamati masalah ketika saya menyalin file dari Windows ke server Unix tanpa menggunakan mode bin. Cara terbaik untuk mengatasi masalah ini adalah dengan mentransfer file dalam mode bin.

Amit
sumber
(1) Informasi ini sudah disajikan dalam komentar . Tidak apa-apa, tapi ... (2) komentar memiliki informasi lebih rinci daripada jawaban ini. (3) Anda harus meningkatkan jawaban ini dengan menjelaskan apa yang Anda bicarakan. Tolong jangan menanggapi dalam komentar; edit jawaban Anda untuk membuatnya lebih jelas dan lebih lengkap.
Scott
0

Saya memiliki masalah yang sama di Linux dengan a .zip file yang lebih besar dari 4GB, ditambah dengan only DEFLATED entries can have EXT descriptorkesalahan.

Perintah 7z x menyelesaikan semua masalah saya.

Hati-hati, perintah 7z xakan mengekstrak semua file dengan path yang di-root di direktori saat ini. Opsi ini -omemungkinkan untuk menentukan direktori keluaran.

Serge Stroobandt
sumber