เกิดข้อผิดพลาดเป็นพิเศษเมื่อทำการขยายไฟล์


28

เมื่อฉันป้อนunzip ../founation-latest.zipมันจะแสดงผลลัพธ์นี้:

คำเตือน [../foundation-latest.zip]: 248 ไบต์พิเศษที่จุดเริ่มต้นหรือภายใน zipfile (พยายามที่จะดำเนินการต่อไป)

ไฟล์นี้เป็น 138KB มันคลายซิปอย่างถูกต้อง แต่ทำไมฉันถึงได้รับข้อผิดพลาดนี้?


2
สาเหตุหนึ่งที่เป็นไปได้คือในขั้นตอนเดียวของการเดินทางไปยังระบบของคุณมันถูกถ่ายโอนด้วยftpในโหมด ASCII แทนที่จะเป็นโหมด BINARY และมีการเพิ่มไบต์บางส่วน หากคุณใช้ftpในขั้นตอนใดก็ตามให้เรียกใช้ftpอีกครั้งโดยใช้คำสั่ง 'bin' ก่อนที่จะ 'วาง' หรือ 'รับ'
Mark Plotnick

มันอาจมีเพย์โหลดที่เป็นอันตรายในตอนเริ่มต้น มันเป็นอินเทอร์เน็ตที่ไม่เป็นมิตร ใช้ความระมัดระวังในการคลายซิปยูทิลิตี้ที่คุณใช้เพื่อเปิด zip เช่นนั้น
jbrahy

มีการคาดเดาจำนวนมากในคำตอบปัจจุบันเนื่องจากมีสาเหตุที่เป็นไปได้มากมาย มันจะช่วยให้มีลิงค์ไปยังหรือคัดลอกไฟล์ที่เป็นปัญหา
duozmo

เกี่ยวกับเพย์โหลดพิเศษที่อาจเป็นอันตราย: ในขนาดนั้นคุณสามารถอัปโหลดไฟล์ไปยังvirustotal.comเพื่อตรวจสอบได้ - ในกรณีที่ไม่มีข้อมูลส่วนบุคคลอยู่ในนั้น อย่างไรก็ตามฉันไม่ต้องกังวลเกี่ยวกับไวรัสใน Linux มากนักถ้าคุณคัดลอกไฟล์ต้นฉบับไว้ที่อื่น (คุณสามารถบรรจุไฟล์ซ้ำได้ตลอดเวลาหากคุณคิดว่าข้อมูลเสร็จสมบูรณ์แล้ว)
Ned64

เพียงเพื่อยืนยันว่านี่เป็นปัญหา ฉันพยายามสร้างการสำรองข้อมูลของ iTunes ของฉัน filespace กับทั้งสองด้วยzip ให้ไว้ (โดย 10.11) ล้มเหลวกับทั้งสองคนนี้เป็นอย่างดีอีกด้วย MacOS unzip ไม่ชอบไฟล์ zip (ใหญ่หรือไม่) dittounzip7za
Otheus

คำตอบ:


37

ปัญหาของฉันคือเพราะฉันพยายามใช้ "unzip" บน MAC OSX ซึ่งไม่สามารถจัดการสิ่งต่าง ๆ ที่บีบอัดด้วย PKZIP

ผมสามารถที่จะและเครื่องรูดใช้คำสั่งbrew install p7zip7za x some_file.zip

ฉันพบวิธีแก้ปัญหาในบทความนี้แล้ว: need-pk-compat-v4-5-can-do-v2-1


4
ฉันดาวน์โหลด Windows VM จาก microsoft.com และนี่เป็นวิธีแก้ปัญหาสำหรับการขยายไฟล์
sod

1
สิ่งนี้สามารถนำไปใช้กับ unzip บน Linux (ในกรณีของฉัน: UnZip 6.00 จาก 20 เมษายน 2009, โดย Debian.)
BradHards

2
นอกจากนี้ยังควรพูดถึงว่ามันเร็วกว่าและแสดงให้เห็นถึงความคืบหน้า
previous_developer

นอกจากนี้ p7z ยังจัดการไฟล์และไฟล์ขนาดใหญ่ด้วย zip ที่ใหม่กว่า
Konrads

ปัญหาเดียวกันวันนี้ในภาพ AWS linux ดาวน์โหลด p7zip RPM จากtimeoff.wsisiz.edu.pl/rpms.htmlและไฟล์เก็บถาวรที่ทดสอบและแตกไฟล์โดยไม่มีปัญหา
เฟือง

23

ฉันพบกระทู้นี้ซึ่งมีปัญหาคล้ายกัน รายงานข้อผิดพลาดเป็นเรื่อง: เปิดเครื่องรูดล้มเหลวใน 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.
              ...

3

ฉันเคยเห็นข้อผิดพลาดประเภทนี้มาก่อนเมื่อไฟล์ zip ถูกถ่ายโอนผ่านเว็บเซอร์วิสที่มีปัญหา เมื่อตรวจสอบไฟล์ zip โดยตรงฉันพบว่าข้อความแสดงข้อผิดพลาดจากบริการบนเว็บถูกส่งต่อหน้าไฟล์ zip

คุณอาจลองตรวจสอบไฟล์ zip เป็นข้อความและดูว่ามีอะไรน่าสนใจปรากฏขึ้นที่ด้านหน้าหรือไม่


3

เพิ่งได้รับคำเตือนนี้เช่นกัน ในกรณีของฉันมันเกิดจากการดาวน์โหลดด้วย 'curl -i' ซึ่งทำให้ส่วนหัว http ปรากฏขึ้นที่จุดเริ่มต้นของไฟล์ zip ฉันโง่ แน่นอนว่านี่จะไม่ใช่สาเหตุ / วิธีแก้ปัญหาในทุกกรณี แต่อาจช่วยคน ...


2

อาจเป็นไฟล์เก็บถาวรแบบขยายตัวเอง (windows .exe) หรือถูกทับด้วยเหตุผลบางประการ


1
"เบาะ" หมายถึงอะไร?
rainwater11

ไบต์พิเศษ (โดยปกติจะเป็นโมฆะ (ศูนย์)) เพื่อทำให้ไฟล์มีความยาวเฉพาะ สิ่งนี้เคยเป็นสิ่งประดิษฐ์ขนาดบล็อกการถ่ายโอนไฟล์ (เช่น. xmodem) แต่ในโลกสมัยใหม่นั้นไม่ได้เกิดขึ้น มันอาจเป็นลายเซ็นดิจิตอล (ฉันไม่มีไฟล์ดังนั้นฉันจึงไม่รู้ว่ามันมีขนาด 248 ไบต์)
Ricky Beam

0

ฉันก็มีปัญหาเดียวกัน ฉันสังเกตเห็นปัญหาเมื่อฉันคัดลอกไฟล์จาก Windows ไปยังเซิร์ฟเวอร์ Unix โดยไม่ต้องใช้โหมด bin วิธีที่ดีที่สุดในการแก้ไขปัญหาคือการถ่ายโอนไฟล์ในโหมด bin


(1) ข้อมูลนี้ถูกนำเสนอในความคิดเห็นแล้ว ไม่เป็นไร แต่… (2) ความคิดเห็นมีข้อมูลรายละเอียดมากกว่าคำตอบนี้ (3) คุณควรปรับปรุงคำตอบนี้โดยอธิบายสิ่งที่คุณกำลังพูดถึง กรุณาอย่าตอบในความคิดเห็น; แก้ไขคำตอบของคุณเพื่อให้ชัดเจนและสมบูรณ์ยิ่งขึ้น
Scott

0

ฉันมีปัญหาเดียวกันบน Linux ที่มี.zipไฟล์ใหญ่กว่า 4GB ประกอบกับonly DEFLATED entries can have EXT descriptorข้อผิดพลาด

คำสั่ง7z xแก้ไขปัญหาทั้งหมดของฉันแม้ว่า

ระวังแม้ว่าคำสั่ง7z xจะแตกไฟล์ทั้งหมดด้วยพา ธ ที่ถูกรูทในไดเรกทอรีปัจจุบัน ตัวเลือก-oอนุญาตให้ระบุไดเรกทอรีผลลัพธ์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.