.GZ 파일이란?
GZ 파일은 표준 gzip(GNU zip) 압축 알고리즘을 사용하여 생성된 압축 아카이브입니다. 여기에는 여러 압축 파일, 디렉터리 및 파일 스텁이 포함될 수 있습니다. 이 형식은 처음에 UNIX 시스템에서 압축 형식을 대체하기 위해 개발되었습니다. Linux 시스템에서 여전히 가장 일반적인 아카이브 유형 중 하나입니다. WinZip과 같은 응용 프로그램은 GZ 파일을 열어 Windows와 MacOS 모두에서 내용을 볼 수 있습니다.
GZ 파일 형식 - 추가 정보
Gzip은 아카이브 압축을 위해 DEFLATE 알고리즘을 사용하며 전체 아카이브에 압축 알고리즘을 적용한다는 점에서 ZIP 아카이브 형식과 다릅니다. 개별 파일보다는 IETF(Internet Engineering Task Force)에서 발행한 GZIP 파일 형식 사양 버전 4.3에는 파일 형식에 대한 자세한 정보가 포함되어 있습니다. 파일 형식은 다음으로 구성됩니다.
- 파일 헤더
- 선택적 헤더
- 압축 데이터
- 파일 바닥글
GZ 파일 헤더
GZ 파일 헤더는 다음과 같이 10바이트로 구성됩니다.
오프셋 | 크기 | 값 | 설명 |
---|---|---|---|
0 | 2 | 0x1f 0x8b | 마법 번호 식별 파일 형식 |
2 | 1 | 압축 방식 * 0-7(예약) * 8(수축) | |
3 | 1 | 파일 플래그 | |
4 | 4 | 32비트 타임스탬프 | |
8 | 1 | 압축 플래그 | |
9 | 1 | 운영 체제 ID |
파일 플래그
값 | 식별자 | 설명 |
---|---|---|
0x01 | FTEXT | 설정된 경우 압축되지 않은 데이터는 바이너리 데이터 대신 텍스트로 처리되어야 합니다. 이 플래그는 플랫폼 간 텍스트 파일에 대한 줄 끝 변환을 암시하지만 강제하지는 않습니다. |
0x02 | FHCRC | 파일에 헤더 체크섬(CRC-16)이 포함되어 있습니다. |
0x04 | FEXTRA | 파일에 추가 필드가 있습니다. |
0x08 | FNAME | 파일에 원본 파일 이름 문자열이 포함되어 있습니다. |
0x10 | FCOMMENT | 파일에 주석이 포함되어 있습니다. |
0x20 | 예약됨 | |
0x40 | 예약됨 | |
0x80 | 예약됨 |
운영 체제
값 | 설명 |
---|---|
0 | FAT 파일 시스템(MS-DOS, OS/2, NT/Win32) |
1 | 아미가 |
2 | VMS(또는 OpenVMS) |
3 | 유닉스 |
4 | VM/CMS |
5 | 아타리 TOS |
6 | HPFS 파일 시스템(OS/2, NT) |
7 | 매킨토시 |
8 | Z-시스템 |
9 | CP/M |
10 | 탑스-20 |
11 | NTFS 파일 시스템(NT) |
12 | QDOS |
13 | 도토리 리스코 |
255 | 알 수 없음 |
GZ 선택적 헤더
선택적 추가 헤더는 파일 플래그로 표시되는 헤더이며 원래 파일 이름, 추가 필드, 주석 및 헤더 체크섬과 같은 정보를 포함합니다.
압축 데이터
이 섹션에는 DEFLATE 압축 알고리즘을 사용하여 압축된 데이터가 포함되어 있습니다.
GZ 파일 바닥글
파일 바닥글의 크기는 8바이트이며 다음 정보를 포함합니다.
오프셋 | 크기 | 설명 |
---|---|---|
0 | 4 | 체크섬(CRC-32) |
4 | 4 | 압축되지 않은 데이터 크기 값(바이트) |
참조
- gzip - 위키백과
- RFC1952: GZIP 파일 형식 사양, IETF 제공.