Điểm:10

Không thể giải nén tệp 6 GB: phần bù zipfile không hợp lệ

lá cờ es

Tôi cần giải nén một tệp khoảng 6 GB. Tuy nhiên, tôi không thể làm điều đó dù nhấp chuột phải (nó báo lỗi "kho lưu trữ trống") hoặc trong thiết bị đầu cuối, hiển thị thông tin sau cho phần sau:

$ ls
 fhs-3.0.pdf IDrive Tese.zip 'Nghiên cứu vận chuyển của Graphene ba lớp ABC và ABA cổng kép: Mở khe hở dải và điều chỉnh cấu trúc dải trong điện trường vuông góc rất lớn - Zou.pdf'

$ giải nén Tese.zip
Lưu trữ: Tese.zip
cảnh báo [Tese.zip]: 4294967296 byte bổ sung ở đầu hoặc trong tệp zip
  (vẫn cố xử lý)
tệp số 1: phần bù tệp zip không hợp lệ (sig tiêu đề cục bộ): 4294967296
  (đang cố bù lại)
 giải nén: Tese/.DS_Store          
lỗi: không đủ bộ nhớ để phát hiện bom

$ jar xvf Tese.zip
java.util.zip.ZipException: chỉ các mục nhập XÁC ĐỊNH mới có thể có bộ mô tả EXT
    tại java.base/java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:313)
    tại java.base/java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:125)
    tại jdk.jartool/sun.tools.jar.Main.extract(Main.java:1361)
    tại jdk.jartool/sun.tools.jar.Main.run(Main.java:409)
    tại jdk.jartool/sun.tools.jar.Main.main(Main.java:1681)

Tôi không nghĩ rằng tệp bị hỏng vì tôi đã giải nén cùng một tệp trong máy Mac gần đây.

PC của tôi có 15 GB RAM và 2 GB bộ nhớ trao đổi.

lá cờ us
Lưu ý rằng 4294967296 chính xác là 4 GiB nên đó là một gợi ý khác về câu trả lời của Ferrybig.
lá cờ co
Nó không đảm bảo một câu trả lời mới vì về cơ bản nó đã được mô tả trong các câu trả lời hiện có, nhưng bằng cách tra cứu thông báo lỗi bạn nhận được trên Google, có vẻ như tệp ZIP này đã được tạo trong cái gọi là chế độ phát trực tuyến mà không phải tất cả các triển khai ZIP đều được biết đến. hỗ trợ. Cái Java được đặc biệt đề cập là cái không có hỗ trợ. Vì vậy, mặc dù bản thân tệp có thể ổn, nhưng đơn giản là bạn sẽ không thể xử lý tệp bằng các công cụ đó. Sử dụng các công cụ khác hoặc giải nén nó trên một nền tảng khác có các công cụ đó.
nobody avatar
lá cờ gh
`unzip -l /path/to/your/Tese.zip` tệp zip có thể bị hỏng.
Rich Hard Fine Man avatar
lá cờ es
@nobody Tôi không nghĩ đó là trường hợp vì gần đây tôi đã giải nén cùng một tệp trên máy mac. Tuy nhiên, tôi đã làm những gì bạn đã viết và nó liệt kê các tệp bên trong zip
nobody avatar
lá cờ gh
`giải nén -v | head -n1` vui lòng [chỉnh sửa] câu hỏi của bạn.
Rich Hard Fine Man avatar
lá cờ es
@nobody chỉnh sửa câu hỏi. Tôi có thể đọc các tập tin, nhưng tôi cần phải tải chúng xuống.
Điểm:23
lá cờ in

Java chỉ hỗ trợ tệp ở định dạng ZIP, không phải ZIP64. Điều tương tự cũng xảy ra với những thứ đơn giản khóa kéo chỉ huy

Các tệp Zip có giới hạn kích thước là 4GB trừ 1 byte, Zip64 có giới hạn 16 EB trừ 1 byte. MacOS tạo các tệp zip64 khi kích thước lớn hơn mức được hỗ trợ. Công cụ mà môi trường máy tính để bàn của bạn cung cấp có thể có cùng giới hạn

Bạn cần có công cụ thích hợp để đọc tệp zip64. Trên dòng lệnh như trên có thể đọc các tệp đó, trong khi trên Java, bạn có thể sử dụng Nén Apache Commons

Rich Hard Fine Man avatar
lá cờ es
cảm ơn vì lời giải thích của bạn! Tuy nhiên, khi chạy ditto, nó nói rằng lệnh không được tìm thấy. Nhìn vào liên kết Nén Apache Commons mà bạn cung cấp, https://commons.apache.org/proper/commons-compress/zip.html, tôi không hiểu cách sử dụng nó.
lá cờ in
Java đã thêm hỗ trợ cho zip64 trong 1.7 để mọi JRE _nên_ gần đây đều có thể đọc các tệp zip64. Tôi đã sử dụng điều này trước đây cho các lọ có hơn 65 nghìn lớp. Tuy nhiên, có một hồi quy trong một số JRE nhất định: https://bugs.openjdk.java.net/browse/JDK-8226530. Vì vậy, hãy kiểm tra phiên bản JRE của bạn.
lá cờ in
Tôi chắc chắn 99% rằng không có cổng `ditto` cho Linux, và do đó không có cách nào để sử dụng nó trên Ubuntu (trừ Darling, nhưng cách đó quá phức tạp để nói ở đây). Tùy chọn tốt nhất theo kinh nghiệm của tôi đối với loại nội dung này trên Linux là `unar` (phiên bản CLI của [The Unarchiver](https://theunarchiver.com/)), _is_ có sẵn cho Linux (`sudo apt-get install unar` trên hệ thống Ubuntu và Debian).
Ismael Miguel avatar
lá cờ om
Và nếu vẫn thất bại, chỉ cần sử dụng 7Zip với WineHQ. Tôi đã sử dụng thành công nó để trích xuất các tệp RAR kỳ lạ trên Raspberry Pi bằng WineHQ với Box86.
Điểm:14
lá cờ es

Cả hai công cụ, giải néncái lọ, thông báo rõ ràng với bạn rằng tệp bị hỏng:

miguel@...$ giải nén Tese.zip
...
cảnh báo [Tese.zip]: 4294967296 byte bổ sung ở đầu hoặc trong tệp zip
  (vẫn cố xử lý)
tệp số 1: phần bù tệp zip không hợp lệ (sig tiêu đề cục bộ): 4294967296
  (đang cố bù lại)
miguel@...$ jar xvf Tese.zip
java.util.zip.ZipException: chỉ các mục nhập XÁC ĐỊNH mới có thể có EXT 
...

Nếu bạn có thể giải nén nó trên máy Mac, thì có thể một số phần mềm Mac đã tạo tệp ZIP đó, nhưng có thể ở định dạng không chuẩn (theo tiêu chuẩn hóa tệp ZIP) mà chỉ một số phần mềm Mac mới có thể hiểu được.

Bạn có thể thử truy cập lại máy Mac đó, giải nén nó ở đó rồi tạo một tệp tar được nén từ nó, sau đó đưa tệp tar đó vào PC của bạn và giải nén nó.

Joshua avatar
lá cờ cz
Tôi đã gửi lỗi cho những thứ phát nổ khi gặp phải các tệp zip lớn. ZIP64 đã tồn tại hơn một thập kỷ và là phần mở rộng của định dạng do các nhà sản xuất định dạng đưa ra với tư cách là hậu duệ hợp pháp trực tiếp của PKZIP gốc. Đã triển khai hoặc ít nhất là tăng lỗi "Zip64" không được hỗ trợ.
Rich Hard Fine Man avatar
lá cờ es
@HuHa nó bảo file bị lỗi ở đâu vậy? Tuy nhiên, đã làm những gì bạn đề nghị, ý tưởng tốt! Cảm ơn!
HuHa avatar
lá cờ es
Tôi đã chỉnh sửa câu trả lời của mình để làm nổi bật các phần chỉ ra điều đó.
barbecue avatar
lá cờ us
Có thể muốn thử sử dụng 7-zip trên đó, đã hỗ trợ ZIP64 mãi mãi.
Matthias Winkelmann avatar
lá cờ mx
Cách câu trả lời này đề cập đến máy Mac khiến tôi nhớ đến những cậu bé 12 tuổi nói về các cô gái.
ilkkachu avatar
lá cờ co
@MatthiasWinkelmann, phần nào? Vấn đề về "chỉ hiểu phần mềm Mac" hay vấn đề về "chuyển sang máy Mac, giải nén và tạo tệp tar nén"? Nếu là vế sau, tôi không chắc mình muốn biết thêm về suy nghĩ của những đứa trẻ 12 tuổi ngày nay về con gái...
Điểm:8
lá cờ ua

Bạn có thể kiểm tra xem bản sao của bạn giải nén hỗ trợ tiện ích mở rộng zip64 (và lưu trữ> 4Gig) bằng cách chạy giải nén -v và kiểm tra sự có mặt của ZIP64_SUPPORT. Dưới đây là những gì tôi nhận được khi thiết lập Ubuntu của mình. Lưu ý nó có ZIP64_SUPPORT

Nếu là của bạn giải nén không hiển thị ZIP64_SUPPORT, bạn cần một phiên bản mới hơn của giải nén.

Ngoài ra, nếu bạn giải nénZIP64_SUPPORT vấn đề là một cái gì đó khác. Bạn có thể chia sẻ bất kỳ chi tiết nào về cách tạo tệp zip không? Tệp zip có sẵn công khai ở mọi nơi không?

$ giải nén -v
$ giải nén -v
Giải nén 6.00 ngày 20 tháng 4 năm 2009, bởi Debian. Bản gốc của Info-ZIP.

Các nguồn và tệp thực thi mới nhất có tại ftp://ftp.info-zip.org/pub/infozip/ ;
xem ftp://ftp.info-zip.org/pub/infozip/UnZip.html để biết các trang web khác.

Được biên dịch với gcc 9.2.0 cho Unix (Linux ELF).

Giải nén các tùy chọn biên dịch đặc biệt:
        ACORN_FTYPE_NFS
        COPYRIGHT_CLEAN (không hỗ trợ phương pháp giảm tốc PKZIP 0.9x)
        SET_DIR_ATTRIB
        BIỂU TƯỢNG (liên kết tượng trưng được hỗ trợ, nếu RTL và hệ thống tệp cho phép)
        DẤU THỜI GIAN
        UNIXBACKUP
        USE_EF_UT_TIME
        USE_UNSHRINK (hỗ trợ phương pháp rút gọn PKZIP/Zip 1.x)
        USE_DEFLATE64 (hỗ trợ PKZIP 4.x Deflate64(tm))
        UNICODE_SUPPORT [ký tự rộng, mã hóa ký tự: UTF-8] (xử lý các đường dẫn UTF-8)
        LARGE_FILE_SUPPORT (hỗ trợ các tệp lớn trên 2 GiB)
        ZIP64_SUPPORT (hỗ trợ lưu trữ sử dụng Zip64 cho các tệp lớn)
        USE_BZIP2 (PKZIP 4.6+, sử dụng bzip2 lib phiên bản 1.0.8, 13-Jul-2019)
        VMS_TEXT_CONV
        WILD_STOP_AT_DIR
        [giải mã, phiên bản 2.11 ngày 05 tháng 01 năm 2007]

Tùy chọn môi trường giải nén và ZipInfo:
           GIẢI PHÓNG: [không có]
        UNZIPOPT: [không có]
         THÔNG TIN ZIP: [không có]
      ZIPINFOOPT: [không có]
Rich Hard Fine Man avatar
lá cờ es
giải nén của tôi dường như có ZIP64_SUPPORT. Tệp zip được tạo tự động bằng cách tải xuống một thư mục mà trước đó tôi đã tải lên bản sao lưu trực tuyến, vì vậy tệp này không có sẵn công khai.
pmqs avatar
lá cờ ua
Từ các câu trả lời khác, có gợi ý rằng tệp zip đã được tạo ở chế độ phát trực tuyến. Tiện ích `unzip` tiêu chuẩn có thể giải nén hầu hết các tệp zip được phát trực tuyến mà không gặp bất kỳ sự cố nào. Để biết chắc chắn, bạn có thể chạy [zipdetails] (https://github.com/pmqs/zipdetails/blob/main/bin/zipdetails) đối với tệp và đăng kết quả không. Thao tác này sẽ kết xuất tất cả siêu dữ liệu từ tệp zip. Đầu ra hơi dài dòng, Nếu bạn không muốn tiết lộ tên tệp trong tệp zip, hãy sử dụng tùy chọn `--redact`. [Tiết lộ đầy đủ: Tôi là tác giả của zipdetails]
Rich Hard Fine Man avatar
lá cờ es
Cảm ơn bạn đã giúp đỡ! Chạy những gì bạn nói với tôi mang lại kết quả như sau 000000000 TIÊU ĐỀ ĐỊA PHƯƠNG #1 04034B50 Không thể sử dụng giá trị không xác định làm tham chiếu ARRAY tại /usr/bin/zipdetails dòng 757. Tôi bao gồm hình ảnh thiết bị đầu cuối, https://imgur.com/a/kPjQLra. Tôi đoán tôi không làm những gì bạn nói với tôi một cách đúng đắn. Xin lỗi, điều này là rất mới đối với tôi.
pmqs avatar
lá cờ ua
Mặc dù bạn đã phá mã của tôi, nhưng đó là một kết quả thực sự thú vị. Điều đó có nghĩa là dịch vụ sao lưu bạn đang sử dụng tạo các tệp zip không chuẩn. Bạn có thể cho chúng tôi biết dịch vụ sao lưu bạn đang sử dụng không? Điều đó sẽ cho phép tôi xem liệu tôi có thể tái tạo vấn đề của bạn hay không. Một điều cuối cùng để thử. Chạy `zipdetails - - scan Teste.zip` Quá trình này có thể mất nhiều thời gian để chạy, vì vậy bạn cần kiên nhẫn.
pmqs avatar
lá cờ ua
@RichHardFineMan, số dòng được tham chiếu trong thông báo lỗi mà bạn cung cấp, 757, xuất phát từ phiên bản cũ của tập lệnh `zipdetails` đi kèm với Ubuntu. Phiên bản trên github có nhiều bản sửa lỗi để cho phép nó hoạt động với các tệp zip bất thường hơn. Trong cùng thư mục lưu trữ tệp zip của bạn, hãy chạy `wget https://raw.githubusercontent.com/pmqs/zipdetails/main/bin/zipdetails` để lấy bản sao `zipdetails` mới nhất. Sau đó chạy `perl ./zipdetails Teste.zip`. Nếu vẫn xuất hiện thông báo lỗi, vui lòng đăng thông báo tại đây và thử chạy `perl ./zipdetails --scan Teste.zip`.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.