1. 문제 상황: 낮은 버전 Solaris에서 압축 해제 오류
Solaris 8, 9, 10 버전에서는 .tar.gz 파일을 풀려고 할 때 오류가 발생할 수 있다. 예를 들어, 다음과 같이 tar 명령어를 사용하려 할 때 디렉토리 체크섬 오류가 발생할 수 있다
$ tar -xvf pressedFile.tar.gz tar: directory checksum error (디렉토리 체크섬 오류)
2. 문제 원인: z 옵션 미지원
Solaris 2.5부터 10까지의 버전에서는 tar 명령어의 z 옵션을 지원하지 않기 때문에 직접 .tar.gz 파일을 압축 해제할 수 없다. z 옵션은 gzip 압축을 다룰 수 있게 해주는 옵션이지만, 오래된 버전의 Solaris tar에는 이 옵션이 없다.
3. 해결 방법: 낮은 버전 Solaris에서 압축 푸는 방법
낮은 버전의 Solaris에서 .tar.gz 파일을 압축 해제하려면 gunzip 명령어를 사용해 먼저 압축을 해제하고, tar로 연결하는 방식이 필요하다.
$ gunzip -c pressedFile.tar.gz | tar xvf -
4. gzip과 tar 조합의 특징
gzip은 주로 tar와 함께 사용되며, .tar.gz 파일은 zip과 유사한 알고리즘을 사용하지만 용량이 더 적게 압축되는 경향이 있다. tar로 묶은 파일들끼리 중복된 부분을 최적화하여 압축하기 때문이다. 대부분의 리눅스 배포판에서는 최신 tar 유틸리티가 z 옵션을 지원하지만, Solaris의 구버전에서는 이 방법이 필요하다.
Reference
https://datastory.tistory.com/8
https://en.wikipedia.org/wiki/Gzip
https://en.wikipedia.org/wiki/Tar_(computing)
https://linux.die.net/man/1/tar
https://stackoverflow.com/questions/7120232/untar-a-file-on-solaris-reports-tar-directory-checksum-error
https://www.ibm.com/docs/en/aix/7.1?topic=t-tar-command
'기술 노트' 카테고리의 다른 글
MacOS 개발 첫 발: 환경 설정부터 코드 호출까지 (0) | 2022.03.18 |
---|---|
Unix와 Linux: 다양한 OS 환경에서의 빌드와 자동화 경험 (0) | 2022.03.17 |
AIX에서의 XL gcc 컴파일러: 설치/삭제 가이드 (2) | 2022.03.15 |
AIX에서 오픈소스 패키지 설치하기: 리눅스와의 차이점과 필수 도구 (0) | 2022.03.14 |
AIX에서 이상적인 PS1 프롬프트 설정하기: 효율적인 작업 환경 만들기 (1) | 2022.03.13 |