Puncte:10

Nu se poate dezarhiva fișierul de 6 GB: offset fișier zip prost

drapel es

Trebuie să dezarhic un fișier de aproximativ 6 GB. Cu toate acestea, nu o pot face nici făcând clic dreapta (da o eroare care spune „arhivă goală”) sau în terminal, arătând următoarele pentru acesta din urmă:

$ ls
 fhs-3.0.pdf IDrive Tese.zip „Studii de transport ale grafenului tristrat ABC și ABA cu două porți: deschiderea intervalului de bandă și reglarea structurii benzii în câmpuri electrice perpendiculare foarte mari - Zou.pdf”

$ dezarhivați Tese.zip
Arhivă: Tese.zip
avertisment [Tese.zip]: 4294967296 octeți suplimentari la început sau în fișierul zip
  (incercand sa procesez oricum)
fișierul #1: offset de fișier zip prost (sigla antet local): 4294967296
  (încercând să recompenseze)
 extragerea: Tese/.DS_Store          
eroare: memorie insuficientă pentru detectarea bombei

$ jar xvf Tese.zip
java.util.zip.ZipException: numai intrările DEFLATED pot avea descriptor EXT
    la java.base/java.util.zip.ZipInputStream.readLOC(ZipInputStream.java:313)
    la java.base/java.util.zip.ZipInputStream.getNextEntry(ZipInputStream.java:125)
    la jdk.jartool/sun.tools.jar.Main.extract(Main.java:1361)
    la jdk.jartool/sun.tools.jar.Main.run(Main.java:409)
    la jdk.jartool/sun.tools.jar.Main.main(Main.java:1681)

Nu cred că fișierul este corupt, deoarece am dezarhivat același fișier într-un Mac recent.

PC-ul meu are 15 GB RAM și 2 GB memorie swap.

drapel us
Rețineți că 4294967296 este exact 4 GiB, așa că acesta este un alt indiciu pentru răspunsul lui Ferrybig.
drapel co
Nu garantează un răspuns nou, pentru că practic este deja descris în cele existente, dar prin căutarea pe Google a mesajului de eroare pe care l-ați primit, se pare că acest fișier ZIP a fost creat într-un așa-numit mod de streaming despre care nu sunt cunoscute toate implementările ZIP. a sustine. Cel Java este menționat în special ca fiind unul fără suport. Deci, deși fișierul în sine ar putea fi OK, pur și simplu nu îl veți putea gestiona cu acele instrumente. Utilizați instrumente diferite sau despachetați-l pe o altă platformă care are acele instrumente.
nobody avatar
drapel gh
`unzip -l /path/to/your/Tese.zip` fișierul zip ar putea fi corupt.
Rich Hard Fine Man avatar
drapel es
@nobody Nu cred că este cazul pentru că recent am dezarhivat același fișier pe un Mac. Cu toate acestea, am făcut ceea ce ați scris și a enumerat fișierele din zip
nobody avatar
drapel gh
`unzip -v | head -n1` te rog [editează] întrebarea ta, te rog.
Rich Hard Fine Man avatar
drapel es
@nimeni nu a editat întrebarea. Pot citi fișierele, dar trebuie să le descarc.
Puncte:23
drapel in

Java acceptă numai fișierele în format ZIP, nu ZIP64. Același lucru este valabil și pentru simplu fermoar comanda

Fișierele Zip au o limită de dimensiune de 4 GB minus 1 octet, Zip64 au o limită de 16 EB minus 1 octet. MacOS creează fișiere zip64 atunci când dimensiunea este mai mare decât cea acceptată. Instrumentul oferit de mediul desktop poate avea aceeași limitare

Aveți nevoie de instrumentele adecvate pentru a citi fișierele zip64. Pe linia de comandă idem puteți citi acele fișiere, în timp ce sunteți în Java, puteți utiliza Apache Commons Compress

Rich Hard Fine Man avatar
drapel es
Îți mulțumesc pentru explicația ta! Cu toate acestea, rulând idem, spune că comanda nu este găsită. Privind linkul Apache Commons Compress pe care l-ați furnizat, https://commons.apache.org/proper/commons-compress/zip.html, nu înțeleg cum să îl folosesc.
drapel in
Java a adăugat suport pentru zip64 în 1.7, astfel încât orice JRE recent _ar trebui_ să poată citi fișierele zip64. Am folosit acest lucru în trecut pentru borcane care aveau mai mult de 65.000 de clase. Cu toate acestea, există o regresie în anumite JRE: https://bugs.openjdk.java.net/browse/JDK-8226530. Așa că verificați versiunea dvs. JRE.
drapel in
Sunt 99% sigur că nu există un port `ditto` pentru Linux și, prin urmare, nicio modalitate de a-l folosi pe Ubuntu (cu excepția lui Darling, dar asta este _mod_prea complex pentru a vorbi aici). Cea mai bună opțiune din experiența mea pentru acest tip de lucru pe Linux este `unar` (versiunea CLI a [The Unarchiver](https://theunarchiver.com/)), care _este_ disponibilă pentru Linux (`sudo apt-get install unar` pe sistemele Ubuntu și Debian).
Ismael Miguel avatar
drapel om
Și dacă toate celelalte nu reușesc, utilizați doar 7Zip cu WineHQ. L-am folosit cu succes pentru a extrage fișiere RAR ciudate pe un Raspberry Pi cu WineHQ cu Box86.
Puncte:14
drapel es

Ambele instrumente, dezarhivați și borcan, v-a spus în mod explicit că fișierul este corupt:

miguel@...$ dezarhivați Tese.zip
...
avertisment [Tese.zip]: 4294967296 octeți suplimentari la început sau în fișierul zip
  (incercand sa procesez oricum)
fișierul #1: offset de fișier zip prost (sigla antet local): 4294967296
  (încercând să recompenseze)
miguel@...$ jar xvf Tese.zip
java.util.zip.ZipException: numai intrările DEFLATED pot avea EXT 
...

Dacă ați putea să-l dezarhivați pe un Mac, este posibil ca unele software-uri Mac să creeze acel fișier ZIP, dar poate într-un format nestandard (în ceea ce privește standardizarea fișierelor ZIP) pe care doar unele software-uri Mac îl pot înțelege.

Puteți încerca să accesați din nou acel Mac, să îl dezarhivați acolo și apoi să creați un fișier tar comprimat din el, apoi să duceți acel fișier tar pe computer și să-l despachetați.

Joshua avatar
drapel cz
Am depus erori pentru lucruri care explodează la întâlnirea cu fișiere zip mari. ZIP64 are mai mult de un deceniu și o extensie a formatului prezentat de creatorii de format ca descendent legal direct al PKZIP-ului original. Implementați-l deja sau cel puțin ridicați eroarea „Zip64” neacceptată.
Rich Hard Fine Man avatar
drapel es
@HuHa unde scrie că fișierul este corupt? Cu toate acestea, ai făcut ce mi-ai sugerat, idee bună! Mulțumiri!
HuHa avatar
drapel es
Mi-am editat răspunsul pentru a evidenția părțile care indică asta.
barbecue avatar
drapel us
Poate doriți să încercați să utilizați 7-zip pe el, care a acceptat ZIP64 pentru totdeauna.
Matthias Winkelmann avatar
drapel mx
Modul în care acest răspuns menționează Mac-urile îmi amintește de băieți de 12 ani care vorbesc despre fete.
ilkkachu avatar
drapel co
@MatthiasWinkelmann, care parte? Chestia despre „înțelegerea doar a software-ului Mac” sau despre „mersul pe un Mac, dezarhivarea și crearea unui fișier tar comprimat”? Dacă acesta din urmă, nu sunt sigur că vreau să aflu mai multe despre ce cred copiii de 12 ani de astăzi despre fete...
Puncte:8
drapel ua

Puteți testa dacă copia dvs dezarhivați acceptă extensia zip64 (și arhive >4Gig) prin rulare dezarhivați -v și verificarea prezenței ZIP64_SUPPORT. Mai jos este ceea ce primesc în configurația mea Ubuntu. Rețineți că are ZIP64_SUPPORT

Dacă ale tale dezarhivați nu se afișează ZIP64_SUPPORT, aveți nevoie de o versiune mai nouă a dezarhivați.

Alternativ, dacă dvs dezarhivați are ZIP64_SUPPORT problema este altceva. Puteți împărtăși detalii despre cum a fost creat fișierul zip? Fișierul zip este disponibil public undeva?

$ dezarhivați -v
$ dezarhivați -v
UnZip 6.00 din 20 aprilie 2009, de către Debian. Original de Info-ZIP.

Cele mai recente surse și executabile sunt la ftp://ftp.info-zip.org/pub/infozip/ ;
consultați ftp://ftp.info-zip.org/pub/infozip/UnZip.html pentru alte site-uri.

Compilat cu gcc 9.2.0 pentru Unix (Linux ELF).

Opțiuni speciale de compilare Deszip:
        ACORN_FTYPE_NFS
        COPYRIGHT_CLEAN (metoda de nereducere PKZIP 0,9x nu este acceptată)
        SET_DIR_ATTRIB
        SYMLINKS (legături simbolice acceptate, dacă RTL și sistemul de fișiere permit)
        TIMESTAMP-UL
        UNIXBACKUP
        USE_EF_UT_TIME
        USE_UNSHRINK (metoda de decomprimare PKZIP/Zip 1.x acceptată)
        USE_DEFLATE64 (acceptat PKZIP 4.x Deflate64(tm))
        UNICODE_SUPPORT [caractere largi, codare caracter: UTF-8] (tratează căile UTF-8)
        LARGE_FILE_SUPPORT (fișiere mari de peste 2 GiB acceptate)
        ZIP64_SUPPORT (arhivele care folosesc Zip64 pentru fișiere mari sunt acceptate)
        USE_BZIP2 (PKZIP 4.6+, folosind bzip2 lib versiunea 1.0.8, 13-iul-2019)
        VMS_TEXT_CONV
        WILD_STOP_AT_DIR
        [decriptare, versiunea 2.11 din 05 ianuarie 2007]

Opțiuni de mediu UnZip și ZipInfo:
           DEZIP: [niciunul]
        UNZIPOPT: [niciunul]
         ZIPINFO: [niciunul]
      ZIPINFOOPT: [niciunul]
Rich Hard Fine Man avatar
drapel es
dezarhivarea mea pare să aibă ZIP64_SUPPORT. Fișierul zip a fost creat automat, prin descărcarea unui folder pe care l-am încărcat anterior într-o copie de rezervă online, deci nu este disponibil public.
pmqs avatar
drapel ua
Din celelalte răspunsuri există o sugestie că fișierul zip a fost creat în modul de streaming. Utilitarul standard `unzip` poate extrage majoritatea fișierelor zip transmise în flux fără probleme. Pentru a ști sigur, puteți rula [zipdetails] (https://github.com/pmqs/zipdetails/blob/main/bin/zipdetails) pe fișier și postați rezultatele. Acest lucru va elimina toate metadatele din fișierul zip. Ieșirea este puțin pronunțată, dacă nu doriți să dezvăluiți numele fișierelor în fișierul zip, utilizați opțiunea `--redact`. [Dezvăluire completă: sunt autorul detaliilor zip]
Rich Hard Fine Man avatar
drapel es
Vă mulțumim pentru ajutor! Dacă rulați ceea ce mi-ați spus, rezultă următoarele 000000000 ANT LOCAL #1 04034B50 Nu se poate folosi o valoare nedefinită ca referință ARRAY la /usr/bin/zipdetails linia 757. Am inclus imaginea terminalului, https://imgur.com/a/kPjQLra. Cred că nu fac ceea ce mi-ai spus în mod corect. Îmi pare rău, acest lucru este foarte nou pentru mine.
pmqs avatar
drapel ua
Chiar dacă mi-ai spart codul, este un rezultat cu adevărat interesant. Înseamnă că serviciul de rezervă pe care îl utilizați creează fișiere zip non-standard. Ne puteți spune serviciul de rezervă pe care îl utilizați? Asta mi-ar permite să văd dacă pot reproduce problema ta. Un ultim lucru de încercat. Rulați `zipdetails - - scan Teste.zip` Acest lucru poate dura o vârstă pentru a rula, așa că trebuie să aveți răbdare.
pmqs avatar
drapel ua
@RichHardFineMan numărul de linie la care se face referire în mesajul de eroare pe care l-ați furnizat, 757, provine dintr-o versiune veche a scriptului `zipdetails` care este livrat cu Ubuntu. Versiunea de pe github are o mulțime de remedieri pentru a-i permite să funcționeze cu fișiere zip mai neobișnuite. În același director în care este stocat fișierul zip, rulați `wget https://raw.githubusercontent.com/pmqs/zipdetails/main/bin/zipdetails` pentru a obține cea mai recentă copie a `zipdetails`. Apoi rulați `perl ./zipdetails Teste.zip`. Dacă tot scoate un mesaj de eroare, postați mesajul aici și încercați să rulați `perl ./zipdetails --scan Teste.zip`.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.