ฉันพบกระทู้นี้ซึ่งมีปัญหาคล้ายกัน รายงานข้อผิดพลาดเป็นเรื่อง: เปิดเครื่องรูดล้มเหลวใน 5.4GB ไปรษณีย์ด้วย "ไบต์พิเศษที่จุดเริ่มต้นหรือภายใน zipfile" หนึ่งในการแก้ไขที่แนะนำคือการใช้คำสั่งนี้ใน.zip
ไฟล์
$ zip -FFv foo.zip --out fixed.zip
ตัวอย่าง Run
$ 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
สวิตช์ -FF ของ 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.
...
ftp
ในโหมด ASCII แทนที่จะเป็นโหมด BINARY และมีการเพิ่มไบต์บางส่วน หากคุณใช้ftp
ในขั้นตอนใดก็ตามให้เรียกใช้ftp
อีกครั้งโดยใช้คำสั่ง 'bin' ก่อนที่จะ 'วาง' หรือ 'รับ'