Tar Gzip 아카이브 (.tar.gz)

POSIX.1 표준

Tar Gzip(.tar.gz, .tgz라고도 함)은 Linux와 오픈 소스 생태계에서 표준으로 쓰이는 소프트웨어 배포용 아카이브 형식입니다. Unix 기본 TAR 패키징과 범용 Gzip 압축을 결합합니다.

검사 및 메타데이터

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 TAR.GZ 파일을 식별합니다:

여기에 파일을 선택하거나 놓으십시오

비공개 - 파일은 기기를 벗어나지 않습니다

또는 붙여넣기 Ctrl+V
네트워크 전송 없음에 대한 개인정보 보호 보장: 외부 서버로 업로드된 데이터는 0바이트입니다. 모든 처리는 브라우저 샌드박스 내에서 로컬로 수행되었습니다.

바이트 단위 헤더 시그니처 (매직 바이트)

운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 TAR.GZ 파일을 식별합니다:

16진수 시그니처 (오프셋 0):

1F 8B 08

ASCII 표현: ..\x08

표준화: POSIX.1 ustar (RFC 1952 gzip 래핑 형식)

기술 사양

컨테이너 아키텍처RFC 1952 Gzip 압축 컨테이너 안에 담긴 POSIX ustar 또는 GNU tar 아카이브 스트림
압축2단계 패키징: TAR 직렬화 후 DEFLATE 압축
바이트 엔디안8진수 POSIX tar 블록을 감싸는 리틀 엔디안 Gzip 엔벌로프
색 공간해당 없음(아카이브 컨테이너)
채널 및 구조여러 파일로 이루어진 Unix 디렉터리 트리, 심볼릭 링크, 파일 소유권 및 권한 비트
최대 크기크기 제한 없는 스트리밍 아카이브
투명도파일 시스템 구조와 데이터를 비트 단위로 정확하게 보존하는 100% 무손실 형식
스트리밍 및 프로그레시브처음부터 끝까지 파이프로 스트리밍 가능: 한 번의 처리 과정에서 압축 해제와 파일 추출을 동시에 수행

기술 비교 매트릭스: TAR.GZ 대 경쟁사

기술적 속성TAR.GZ (현재)ZIP7ZTAR.BZ2
유닉스 권한100% 네이티브 POSIX 보존제한적 / 종종 손실됨기본 속성 보존100% 네이티브 POSIX 보존
압축률보통 (Gzip DEFLATE)보통 (ZIP DEFLATE)매우 높음 (LZMA2)높음 (Bzip2 BWT)
압축 해제 속도빠름 (~300 MB/s)빠름 (~300 MB/s)보통 (~100 MB/s)느림 (~40 MB/s)
리눅스 생태계 표준범용 오픈소스 기본값소비자 데스크톱 기본값윈도우 마니아 선호레거시 리눅스 소스 배포판

일반적인 손상 모드 및 헥스 복구 가이드

명령줄에 'gzip: stdin: invalid compressed data--format violated' 메시지가 표시됨.

근본 원인: Gzip 엔벨로프의 손상된 바이트 또는 잘린 다운로드.

복구: File2File.app 아카이브 추출기 또는 tar -izxf broken.tar.gz 명령으로 일부 데이터를 복구해 보십시오.

보안 분석 및 파서 공격 벡터

TAR.GZ 아카이브는 주의 없이 추출할 경우 압축 폭탄과 디렉터리 순회 공격의 위험을 모두 내포하고 있습니다.

알려진 공격 벡터

  • 아주 작은 .tar.gz 파일이 테라바이트 규모의 0으로 팽창하는 압축 폭탄 스타일의 증폭.
  • 권한이 있는 파일을 덮어쓰는 디렉터리 순회(예: '../../root/.ssh/authorized_keys').
  • 루트(root) 권한으로 추출하는 동안 악성 디바이스 노드 생성.

방어적 모범 사례: 권한이 없는 사용자로 아카이브를 추출하고 디렉터리 순회 공격을 막도록 모든 대상 파일 경로를 정화하십시오.

역사적 배경 및 주요 이력

2015Docker 컨테이너 배포에서 계층형 .tar.gz rootfs 이미지를 표준으로 채택했습니다.
1996IETF가 기본 Gzip 사양을 RFC 1952로 표준화했습니다.
1993GNU 프로젝트가 통합 tar -z 플래그를 도입해 .tar.gz를 기본 Linux 패키지 형식으로 정착시켰습니다.

주요 장점

  • 오픈 소스 소스 코드 릴리스, Linux 패키지 및 Docker 컨테이너 레이어의 확고한 표준
  • POSIX 권한과 심볼릭 링크를 온전히 보존하면서 Gzip으로 빠르고 안정적으로 압축
  • 완전한 스트리밍 지원: 임시 파일을 디스크에 쓰지 않고 네트워크 파이프를 통해 다운로드, 압축 해제 및 풀기 가능

기술적 제한 사항 및 단점

  • 단일 파일을 추출하려면 해당 파일의 위치까지 전체 아카이브를 압축 해제해야 함.
  • .tar.xz나 .tar.zst 같은 최신 대안에 비해 압축률이 낮음.
  • 오래된 Windows에서는 널리 지원되는 ZIP 형식보다 사용하기 불편할 수 있습니다.

흥미로운 기술적 상식

  • 8.3 파일 이름 제한이 있던 MS-DOS 시스템에서는 '.tar.gz'가 '.tgz'로 단축되었습니다.
  • 'npm install'을 실행할 때마다 npm은 백그라운드에서 .tgz (tar.gz) 패키지를 다운로드하고 추출합니다.
  • 리눅스 사용자들은 'eXtract Ze File'이라는 연상기억법(tar -xzf file.tar.gz)으로 tar.gz 파일을 추출하는 명령어를 유명하게 기억합니다.

자주 묻는 기술 질문

.tar.gz와 .zip은 어떻게 다릅니까?

.zip은 각 파일을 개별적으로 압축하며 끝에 중앙 디렉터리가 있습니다. .tar.gz는 모든 파일을 먼저 단일 스트림으로 결합하여 전체 Linux 권한과 심볼릭 링크를 보존합니다.

.tgz는 .tar.gz와 같습니까?

예. .tgz는 .tar.gz를 3글자로 줄인 확장자입니다. 원래 DOS처럼 8.3 형식의 짧은 파일 이름 제한이 있는 운영체제에서 사용하도록 만들어졌습니다.

Windows에서 .tar.gz 파일을 어떻게 추출할 수 있습니까?

WinRAR이나 7-Zip을 설치할 필요 없이, 웹 브라우저에서 File2File.app을 사용하여 .tar.gz 파일을 직접 추출할 수 있습니다.