정의
libzip은 ZIP 파일 포맷을 읽고, 만들고, 수정할 수 있도록 설계된 오픈소스 C 라이브러리이다. 주로 파일 압축·해제 기능을 프로그램에 통합하고자 할 때 사용되며, BSD 3절 클라우스 라이선스로 배포된다.
개요
libzip은 압축 파일 형식 표준인 ZIP(Portable Archive) 사양을 구현한다. 이 라이브러리는 파일 입출력, 압축 및 해제, ZIP64 확장 지원, 암호화 및 스트리밍 압축 등 다양한 기능을 제공한다. 리눅스·유닉스 계열 운영체제뿐 아니라 Windows 환경에서도 사용 가능하며, 여러 오픈소스 프로젝트와 상용 소프트웨어에서 압축 기능의 기반 모듈로 채택되고 있다. 주요 개발자는 Dieter Baron과 Thomas Klausner이며, 현재도 활발히 유지보수되고 있다.
어원/유래
“libzip”이라는 명칭은 “library”와 “ZIP”을 결합한 형태로, ZIP 파일 포맷을 처리하는 라이브러리임을 직관적으로 나타낸다. 정확한 명칭 선정 배경에 관한 공식 문서는 확인되지 않는다.
특징
| 구분 | 내용 |
|---|---|
| 다중 플랫폼 지원 | POSIX 호환 시스템(Linux, macOS 등) 및 Windows에서 컴파일·사용 가능 |
| 압축/해제 기능 | 압축 레벨 조절, 스트림 기반 압축, 파일 추가·삭제·수정 지원 |
| ZIP64 지원 | 4 GB를 초과하는 대용량 파일 및 아카이브에 대한 호환성 제공 |
| 암호화 | 전통적인 ZIP 암호화와 AES‑256 암호화 옵션 제공(구현 버전에 따라 상이) |
| 라이선스 | BSD 3절 라이선스 적용으로 상업적·비상업적 목적 모두에 자유롭게 사용 가능 |
| 의존성 | 기본적으로 zlib를 압축 엔진으로 사용하며, 별도 외부 의존성 없이 동작 |
| API | C 언어 기반의 함수 인터페이스 제공; 파일 핸들 관리, 에러 처리, 콜백 기능 포함 |
관련 항목
- ZIP 파일 포맷 – 압축 파일 형식의 표준 사양.
- zlib – 데이터 압축을 위한 C 라이브러리; libzip이 압축/해제에 활용한다.
- Info‑ZIP – ZIP 파일 생성·해제 도구 모음; libzip과 유사한 목적을 가진 오픈소스 프로젝트.
- libarchive – 다양한 아카이브 포맷을 지원하는 또 다른 C 라이브러리.
- BSD 라이선스 – libzip이 채택하고 있는 오픈소스 소프트웨어 라이선스 종류.