압축 파일 형식을 위한 오픈 소스 C API
TAR, ZIP, 7-ZIP, CPIO, PAX 및 ISO 형식의 스트리밍 아카이브 읽기/쓰기용 C 라이브러리.
Libarchive는 소프트웨어 개발자가 TAR, ZIP, 7-ZIP, CPIO, PAX 및 ISO9660 이미지와 같은 다양한 형식의 스트리밍 아카이브를 읽고 쓸 수 있도록 하는 오픈 소스 순수 C 라이브러리입니다. Libarchive의 가장 큰 장점은 고도로 모듈화되어 있다는 것입니다. 처음부터 다른 라이브러리에 비해 새로운 아카이브 형식을 쉽게 추가할 수 있도록 설계되었습니다.
Libarchive는 여러 인기 있는 압축 파일 형식 읽기 및 쓰기를 지원합니다. TAR, ZIP, 7-ZIP, CPIO, PAX, RAR, XAR, LHA, AR, CAB, MTREE 및 ISO 이미지와 같은 여러 인기 있는 형식을 읽습니다. 또한 TAR, ZIP, ISO, XAR, PAX, CPIO, AR, MTREE 및 SHAR 아카이브와 같은 인기 있는 형식에 대한 쓰기 지원을 제공합니다.
Libararchive 시작하기
libarchive 배포판에는 거의 모든 POSIX 계열 시스템에 libarchive, bsdtar 및 bsdcpio를 설치하는 데 사용할 수 있는 표준 Autoconf 생성 "구성" 스크립트가 포함되어 있습니다.
일반적인 설치 코드는 다음과 같습니다.
다음은 명령입니다.
$ tar xzf libarchive-2.7.0.tar.gz
$ cd libarchive-2.7.0
$ ./configure
$ make
$ make check
$ make install
"cmake" 유틸리티를 사용하여 Windows의 Visual Studio 및 Mac OS의 XCode와 같은 다양한 IDE에 대한 구성 파일을 생성할 수도 있습니다. libarchive 2.6.990a 이상에서 사용할 수 있음을 기억하십시오. 먼저 플랫폼에 적절한 버전의 cmake 도구를 구하여 설치해야 합니다.
자동 형식 감지기 사용
Libarchive는 아카이브를 읽을 때 자동 형식 감지기를 사용합니다. 여러 모듈을 사용하여 들어오는 데이터를 검사하는 내부 "입찰" 프로세스를 사용합니다. 탐지기는 Tar, Gzip, Bzip2 및 기타 널리 사용되는 압축 알고리즘으로 압축된 아카이브를 자동으로 처리합니다.
Gzip으로 압축된 TAR 아카이브에 파일 쓰기
Libarchive를 사용하면 소프트웨어 개발자가 파일 그룹을 gzip으로 압축된 tar 아카이브에 쓸 수 있습니다. 쓰기 기능은 읽기 기능에 비해 더 복잡합니다. 일반적인 절차는 먼저 구조체 아카이브 개체를 만들고, 선호하는 옵션을 설정하고, 아카이브를 초기화하고, 항목을 추가하고, 마지막으로 아카이브를 닫고 모든 리소스를 해제하는 것을 잊지 마십시오.
파일 내용 읽기를 위한 C API
Libararchive를 사용하면 컴퓨터 프로그래머가 파일 내용을 읽고 추출할 수 있습니다. 아카이브에서 파일을 추출하려면 원하는 파일 이름을 찾을 때까지 먼저 파일을 반복합니다. 그런 다음 데이터를 읽고 디스크의 파일에 쓸 수 있습니다. 압축 및 형식은 읽기에서 자동으로 감지됩니다.
C 앱 내부의 디스크에 아카이브를 추출하는 방법
Libarchive API는 컴퓨터 프로그래머에게 대부분의 아카이브를 디스크로 추출할 수 있는 기능을 제공합니다. 아카이브를 추출하려면 입력 아카이브에서 헤더를 읽고 디스크에 써야 합니다. 작업을 완료하려면 읽기 아카이브에서 데이터를 가져와서 쓰기 핸들러에 써야 합니다.