gzip(GNU zip)이란?
gzip(GNU zip)은 파일 압축을 위한 무료 오픈 소스 알고리즘으로, GNU 프로젝트에서 관리하고 있는 소프트웨어입니다.
여기서 말하는 압축(compression)이란 저장 공간을 절약하거나 데이터 전송 속도를 높이기 위해 데이터의 크기를 의도적으로 줄이는 작업을 의미합니다. gzip은 서버 측에서 웹 페이지를 압축한 뒤 브라우저에서 이를 해제하는 방식으로 가장 널리 활용되며, 스트리밍 미디어 압축에도 많이 사용되는 형식입니다. 주로 개별 파일(예: 소프트웨어 설치용 실행 프로그램)을 압축하는 데 쓰이지만, 여러 스트림을 하나로 묶어 동시에 압축하는 용도로도 사용할 수 있습니다.
gzip은 장루프 갈리(Jean-Loup Gailly)와 마크 애들러(Mark Adler)가 유닉스 및 리눅스 초기 버전에서 사용되던 compress 형식을 대체하기 위해 개발했습니다. 기존의 compress와 비교하면 더 우수한 압축률을 제공하며, 독점 알고리즘을 포함하지 않는다는 점에서 차별화됩니다. 또한 윈도우와 매킨토시 OS를 비롯한 다양한 운영체제에서도 문제없이 사용할 수 있습니다.
gzip 파일은 확장자가 .gz이며, 10바이트 헤더, 선택적인 추가 헤더, 체크섬(checksum), 그리고 원본 압축 해제 파일의 크기를 나타내는 데이터로 구성됩니다. 여러 개의 파일을 하나로 묶어 압축하면 tar.gz 파일, 즉 흔히 '타르볼(tarball)'이라고 부르는 아카이브가 만들어집니다. gzip은 윈도우와 매킨토시에서 사용되는 zip 압축 유틸리티와 마찬가지로 deflate라는 알고리즘을 기반으로 동작합니다.
gzip으로 압축된 파일은 gunzip이라는 프로그램을 통해 손쉽게 압축을 해제할 수 있습니다.