IT/Unix & Linux

gzip - unexpected end of file 알아보기

슈다루냥 2020. 3. 5.
728x90

안녕하세요. 슈다 입니다.

 

gzip 명령으로 gz 파일 압축 해제 시

unexpected end of file 이라는 메세지가 출력되며 해제가 되지 않는 경우에 대해 알아보겠습니다.

 

 

 

▼ gzip : unexpected end of file 알아보기

 

발생 원인은 다양합니다.

ftp 전송 중 파일 일부만 받아지거나 다른 파일을 덮어 씌우는 등의 다양한 원인으로 인해 발생하게 됩니다.

즉, 온전하지 않은 파일에 대해 압축 해제가 진행되다 보니 gzip 에서 에러 메세지를 발생하게 됩니다.

이러한 경우 온전한 파일로 복구하지 않으면 동일한 메세지가 발생합니다.

 

 

 

 gz 파일 압축 해제

 

디렉토리에 gz 파일이 여러개 존재할 경우 아래와 같은 명령으로 압축 해제가 가능합니다.

# gzip -d /dir/*.gz

디렉토리 : /dir

gz파일 : test1.gz, test2.gz ...

 

 

 

이 경우 파일에 문제가 없으면 모든 파일의 압축이 해제됩니다.

하지만 특정 파일이 깨지거나 문제가 있는 경우 아래와 같이 메세지가 발생됩니다.

# gzip -d /dir/*.gz

gzip : /dir/test1.gz: unexpected end of file

 

 

디렉토리를 확인해보면, 문제있는 파일부터는 gz 압축이 해제되지 않은 것을 확인할 수 있습니다.

 

 

unexpected end of file 으로 인해 모든 파일의 압축이 풀리지 않을 경우

해당 파일을 다른 곳으로 옮긴 후 압축 해제 명령을 재실행 하거나

파일 별로 gzip -d 명령을 입력하여 해제합니다.

# gzip -d /dir/test1.gz

# gzip -d /dir/test2.gz

# gzip -d /dir/test3.gz

 

 

 

파일 별로 명령을 실행하면 피곤해지니, 명령어를 모아 스크립트를 만들어 실행하면 편리합니다.

# vi test.sh

 gzip -d /dir/test1.gz
 gzip -d /dir/test2.gz
 gzip -d /dir/test3.gz

 

# sh test.sh

 

 

 

깨진 파일의 경우 윈도우에서 압축프로그램을 이용해 해제하면

압축데이터를 읽어들이지 못해 에러가 발생하게 됩니다.

728x90
반응형