Lzip

Lzip
개발자안토니오 디아스 디아스
발표일2008년(18년 전)(2008)
안정화 버전
1.26 / 2026년 3월 17일(7개월 전)(2026-03-17)
저장소
프로그래밍 언어C++ 또는 C
운영 체제유닉스 계열, 윈도우, 안드로이드
종류데이터 압축
라이선스GPLv2+ (자유 소프트웨어)
웹사이트www.nongnu.org/lzip/
lzip
파일 확장자.lz
인터넷 미디어 타입
application/lzip
매직 넘버0x4C, 0x5A, 0x49, 0x50
개발안토니오 디아스 디아스
포맷 종류데이터 압축
오픈 포맷?예

lzip은 자유 소프트웨어이자 명령줄 인터페이스 기반의 데이터 압축 도구이다. 이 도구는 LZMA(Lempel–Ziv–Markov chain algorithm)를 사용하며, gzip이나 bzip2와 같은 일반적인 유닉스 압축 도구 사용자들이 익숙한 사용자 인터페이스를 제공한다.

gzip이나 bzip2와 마찬가지로 연결을 지원하여 여러 파일을 압축할 수 있으나, 관례적으로는 tar나 cpio 유닉스 프로그램 등으로 생성된 아카이브 파일을 묶어서 압축한다. Lzip은 다중 볼륨 아카이브 생성을 위해 출력물을 분할할 수 있다.

Lzip으로 생성된 파일은 보통 파일 확장자로 .lz가 붙으며, 해당 데이터는 미디어 타입 application/lzip으로 설명된다.

Lzip 프로그램 제품군은 안토니오 디아스 디아스가 C++ 및 C로 작성하였으며, GNU 일반 공중 사용 허가서(GPL) 버전 2 이상의 조건에 따라 자유 소프트웨어로 배포되고 있다.

역사

7-Zip은 2000년에 마이크로소프트 윈도우용으로 출시되었다. 7-Zip의 LZMA 알고리즘은 2004년 7-Zip의 명령줄 버전(p7zip)이 이식되면서 유닉스 계열 운영체제에서 처음 사용할 수 있게 되었다. 같은 해에 lzma_alone 프로그램을 포함한 LZMA SDK가 공개되었다. 1년도 채 되지 않아 라세 콜린(Lasse Collin)이 lzma_alone에 gzip과 유사한 인터페이스를 구현한 래퍼 스크립트 세트인 LZMA Utils를 출시했다. 2008년 안토니오 디아스 디아스는 원본 LZMA 데이터 스트림 대신 체크섬과 매직 넘버를 포함한 컨테이너 포맷을 사용하는 lzip을 출시하여, LZMA를 사용하기 위한 완전한 유닉스 스타일의 솔루션을 제공했다. 2009년 LZMA Utils는 XZ Utils로 이름을 바꾸고 유사한 기능을 갖춘 자체 xz 컨테이너 포맷을 구현했다.

기능

파일 무결성

lzip은 "다중 멤버 아카이브(multimember archive)"라고 불리는 독립적으로 압축을 해제할 수 있는 데이터 섹션을 생성할 수 있다(다중 볼륨 아카이브 생성을 위한 출력 분할도 지원한다). 예를 들어, 기반 파일이 tar 아카이브인 경우, 아카이브의 다른 부분이 손상되더라도 손상되지 않은 파일을 추출할 수 있다.

파일 형식의 경우, 각 압축 스트림에 통합된 32비트 체크섬을 통해 무결성을 검사하는 데 중점을 두었다. 이는 lziprecover 프로그램과 결합되어 손상된 데이터를 탐지하고 복구하는 데 사용된다. 이 복구 도구는 아카이브의 여러 복사본을 병합할 수 있으며, 각 복사본의 서로 다른 부분이 손상된 경우에도 복구가 가능하다.

병렬 처리

lzip은 기본 배포판에서 제공하는 두 가지 병렬 인터페이스를 가지고 있다.

  • plzip은 파일을 병렬 방식으로 압축한다. 전통적인 tar 프로그램은 파일 압축 해제를 위해 해당 파일 이전의 전체 스트림을 필요로 하기 때문에, tar와 함께 사용하는 것만으로는 충분하지 않아 병렬 추출이 불가능하다.
  • tarlz는 tar와 lzip을 결합하여 RAR이나 7-Zip과 같은 최신 아카이브 도구와 유사한 병렬 아카이브 도구를 구성한다. 솔리드 압축 블록이 tar 파일 경계와 정렬되므로, 특정 파일만 추출할 때 해당 멤버 블록만 압축 해제하면 된다.

도입

가용성

대중적인 리눅스 배포판에서 lzip은 일반적으로 공식 패키지 저장소에서 설치할 수 있다.

지원

  • GNU 오토툴즈는 lzip을 지원한다. AM_INIT_AUTOMAKE에 dist-lzip을 추가하면 lzip으로 압축된 tar볼을 빌드할 수 있다.
  • GNU tar 1.23 이상 버전부터는 lzip을 사용하여 압축 파일을 투명하게 처리하는 기능을 지원한다.
  • 그놈의 아카이브 도구인 아카이브 매니저는 lzip 파일을 지원한다.

응용

같이 보기

각주

  1. ↑ Brian Lindholm (May 2009), “New Options in the World of File Compression” (독일어), 《Linux Gazette》 (162), 2011년 1월 7일에 확인함
  2. 1 2 Antonio Diaz Diaz (2011년 12월 20일). “Lzip Manual: Introduction”. Lzip can produce multimember files and safely recover, with lziprecover, the undamaged members in case of file damage. Lzip can also split the compressed output in volumes of a given size, even when reading from standard input. This allows the direct creation of multivolume compressed tar archives.
  3. ↑ Antonio Diaz Diaz (2011년 12월 20일). “Lzip Manual: Introduction”. As a self-check for your protection, lzip stores in the member trailer the 32-bit CRC of the original data and the size of the original data, to make sure that the decompressed version of the data is identical to the original.
  4. ↑ “The lzip format”. 《www.nongnu.org》.
  5. ↑ “Debian -- Package Search Results -- lzip”. 《packages.debian.org》.
  6. ↑ “Fedora Package Database -- lzip”. 2011년 7월 17일에 원본 문서에서 보존된 문서. 2011년 1월 8일에 확인함.
  7. ↑ “Search”. 《software.opensuse.org》.
  8. ↑ “List of Automake options (automake)”. 《www.gnu.org》.
  9. ↑ “GNU tar 1.32: 8.1.1 Creating and Reading Compressed Archives”. 《www.gnu.org》.
  10. ↑ “Dragora 3.0-alpha2 released”.
  11. ↑ “IANA — Time Zone Database”. 《www.iana.org》.
  12. ↑ “Index of /gnu/linux-libre/4.x/4.12-gnu”. 《ftp.gnu.org》.
  13. ↑ “NASA PDS”. 《pds.nasa.gov》.

외부 링크