Joonas' Note

Joonas' Note

[Linux/Ubuntu] End-of-central-directory signature not found. 본문

개발

[Linux/Ubuntu] End-of-central-directory signature not found.

2022. 4. 29. 21:27 joonas

    압축 파일을 압축 해제하려고 아래처럼 unzip을 실행했는데 에러가 났다.

    $ unzip dataset.zip -d data
    Archive:  dataset.zip
      End-of-central-directory signature not found.  Either this file is not
      a zipfile, or it constitutes one disk of a multi-part archive.  In the
      latter case the central directory and zipfile comment will be found on
      the last disk(s) of this archive.
    unzip:  cannot find zipfile directory in one of dataset.zip or
            dataset.zip.zip, and cannot find dataset.zip.ZIP, period.

    압축 자체가 잘못되어 포맷이 잘못되었다는건데, 이건 Windows10에서 알집으로 압축한 파일이었다.

    Windows10에서 7-zip으로 다시 압축하고 리눅스로 넘겨서 똑같이 실행했더니 해결되었다.

     

    Updated 2022-05-28:

    깨진 압축파일 복구하는 방법

    이 방법으로는 복원 가능한 일부 데이터만 살릴 수 있다.
    예를 들어, 66GB짜리 압축 파일이 20GB 정도만 전송되어서 깨진 경우에는 전송된 20GB 정도는 살릴 수도 있다 (실화)

    zip -FF data.zip --out repared_data.zip | unzip

    https://osxdaily.com/2019/05/12/how-to-fix-unzip-error-end-of-central-directory-signature-not-found/

     

    How to Fix Unzip Error “End-of-central-directory signature not found”

    Rarely, you may attempt to unzip a zip archive and come across an error that states “End-of-central-directory signature not found. Either this file is not a zipfile, or it constitutes one dis…

    osxdaily.com

     

    Updated 2022-05-29:

    위 방법으로도 복구가 되지 않는다면..

    용량이 무척 큰 파일의 경우에는, 다운로드 받는 과정에서 깨졌을 수 있다. 안정적으로 쪼개어서 (분할 압축 등) 다운로드 받은 다음에, 용량을 확인하고 다시 합쳐서 압축을 풀어보자.

    Comments