오늘날 압축 파일은 매우 널리 사용되고 있습니다. 파일 크기가 날로 커지면서 더 많은 사람들이 압축 기능을 활용하고 있는데, 압축 파일의 압축을 풀려고 할 때 "End-of-central-directory signature not found"(중앙 디렉터리 끝 서명을 찾을 수 없음) 오류 메시지가 나타나는 경우가 종종 있습니다. 이 오류는 unzip 유틸리티로 파일의 압축을 해제하려는 시점에 발생합니다.
이 오류의 원인은 생각보다 명확하며, 오류 메시지 자체에도 어느 정도 힌트가 담겨 있습니다. 가장 일반적인 원인은 다운로드한 파일이 불완전하거나 다운로드 과정에서 오류가 발생한 경우입니다. 하지만 이것이 유일한 원인은 아닙니다. 아래에서 각 원인을 자세히 살펴보겠습니다. 다행히 이 오류는 비교적 흔한 문제라서 비교적 쉽게 해결할 수 있으니 너무 걱정하지 않으셔도 됩니다.
- 손상된 파일 — 이 오류가 발생하는 주요 원인 중 하나는 손상된 파일의 압축을 풀려고 할 때입니다. 다운로드가 제대로 완료되지 않아 파일이 손상되는 경우가 대표적입니다. 이럴 때는 문제가 되는 파일을 삭제한 후 다시 다운로드하는 것이 가장 안전합니다.
- 잘못된 유틸리티 — unzip 유틸리티가 지원하지 않는 압축 형식(예: .gz 또는 gunzip 파일)에 unzip을 사용하면 해당 오류 메시지가 나타날 가능성이 높습니다. 이 경우에는 gunzip처럼 형식에 맞는 유틸리티를 사용해야 문제없이 압축을 해제할 수 있습니다.
- 분할 압축 파일 — 마지막으로, 여러 개의 파트로 나뉜 파일도 이 오류를 일으킬 수 있습니다. 즉, 압축을 풀려는 파일 외에 다른 파트들이 함께 필요한 경우입니다. 이럴 때는 파일들을 먼저 하나로 합친 후 압축을 해제해야 합니다.
원인을 살펴봤으니, 이제 이 문제를 해결할 수 있는 구체적인 방법들을 알아보겠습니다.
방법 1: 다른 압축 유틸리티 사용하기
unzip 유틸리티는 압축 파일의 끝을 알리는 코드(중앙 디렉터리 끝 서명)를 찾는 방식으로 동작합니다. 따라서 해당 코드를 찾지 못하면 위와 같은 오류 메시지가 표시되면서 압축 해제가 실패합니다. 하지만 같은 목적을 달성할 수 있는 다른 유틸리티들도 있습니다. 이러한 대안 도구들은 끝 코드를 확인하지 않기 때문에 문제가 되는 파일도 정상적으로 압축 해제할 수 있다는 장점이 있습니다.
7zip
먼저 시도해 볼 수 있는 것은 무료로 사용할 수 있는 7zip입니다. 사용 방법은 다음과 같습니다:
- 먼저 사용 중인 시스템에 7zip을 설치합니다.
- Mac 사용자라면 brew 패키지 관리자로 설치할 수 있습니다. 터미널 창에 다음 명령어를 입력하세요:
brew install p7zip
- Ubuntu 사용자라면 다음 명령어를 사용하세요:
sudo apt install p7zip-full

- Windows 사용자라면 공식 웹사이트에서 유틸리티를 다운로드하면 됩니다.
- 설치가 완료되면 다음 명령어로 압축을 해제합니다:
7z x filename.zip

- 문제가 해결되었는지 확인합니다.
Fastjar 및 Ditto
같은 문제를 겪은 다른 사용자들 사이에서 효과가 있었다고 알려진 또 다른 도구는 Java 기반의 fastjar입니다. Mac 사용자라면 시스템에 기본 내장된 ditto 유틸리티를 활용할 수 있습니다. 설치 및 사용 방법은 다음과 같습니다:
- Ubuntu에서 설치하려면 터미널 창에 다음 명령어를 실행합니다:
sudo apt install fastjar

- Windows 사용자는 SourceForge에서 유틸리티를 다운로드한 후 해당 디렉터리로 이동합니다.
- 설치가 완료되면 다음 명령어로 파일의 압축을 해제합니다:
jar xvf filename.zip

- Mac 사용자는 ditto 유틸리티를 사용하는 다음 명령어를 입력하세요:
ditto -xk YourZipfile.zip ./
- 여기서 ./는 현재 디렉터리를 의미합니다. 즉, 파일이 현재 작업 중인 디렉터리에 압축 해제됩니다.
참고:
주의할 점은 많은 사용자가 .gz 파일을 unzip 유틸리티로 압축 해제하려다가 이런 오류를 겪는다는 것입니다. .gz 파일은 반드시 그에 맞는 gunzip 유틸리티를 사용해야 제대로 압축을 풀 수 있습니다. 특히 Ubuntu 환경에서는 압축 파일이 .gz 형식인 경우가 많으므로, 이러한 파일은 gunzip 또는 tar 유틸리티를 사용해 추출하기 바랍니다.
방법 2: 파일 다시 다운로드하기
"end of central directory signature not found" 오류는 대부분 파일이 제대로 다운로드되지 않았거나 다운로드 과정에서 손상되었을 때 발생합니다. 이 경우 unzip 유틸리티가 파일을 올바르게 읽지 못해 오류 메시지를 출력하게 됩니다. 위에서 소개한 대안 유틸리티로도 해결되지 않는다면, 문제가 되는 파일을 삭제한 후 다시 다운로드하는 것이 가장 확실한 방법입니다. 파일이 온전하게 다운로드되면 별다른 문제 없이 압축이 해제될 것입니다.