색인화된 아카이브 형식?

색인화된 아카이브 형식?

압축된 파일 아카이브를 생성하고 해당 아카이브에서 개별 파일/디렉터리를 빠르게 추출할 수 있어야 합니다.

예를 들어 문제는 tar.bz2가 이러한 작업에 가장 적합한 선택이 아닌 것 같다는 것입니다. 내 컴퓨터에서 200Mb 아카이브(50000개 파일)에서 단일 4kb 파일을 추출하는 데 17초가 걸립니다.

아카이브에서 개별 파일을 빠르게 내보낼 수 있는(Linux에서 작동하는) 아카이브 형식이 있습니까?

답변1

픽스xz의 병렬 인덱싱 버전입니다.

# Compress:
tar -I pixz -cf foo.tar.xz ./foo

# Decompress:
tar -I pixz -xf foo.tar.xz

# Very quickly list the contents of the compressed tarball:
pixz -l foo.tar.xz

# Very quickly extract a single file:
pixz -x dir/file < foo.tar.xz | tar x

답변2

Zip 형식은 각 파일을 개별적으로 압축한 다음 이를 (아카이브 내용 디렉터리와 함께) 단일 아카이브 파일로 결합합니다.

답변3

이미 언급한 zip 형식 외에도 dardump유틸리티도 이를 처리하는 데 능숙하며 zip과 달리 unix 권한을 유지합니다. 솔리드 아카이브 옵션을 사용하지 않으 려면 dar모든 것을 한 번에 압축하는 tar/gzip 방법으로 돌아가서 더 나은 압축을 제공하지만 전체 파일을 압축 해제할 때까지 압축을 풀어야 하므로 개별 파일을 추출하는 데 시간이 더 오래 걸립니다. 원하는 파일을 찾았습니다. dump큰 규모의 작은 파일 세트(수만 개)를 잘 처리하고 멀티스레드 압축을 수행할 수 있지만 ext[234] 파일 시스템만 읽습니다.

답변4

.tar.gz압축 해제 속도는 더 빠르지만 압축 크기는 최악입니다. 편집: Ignacio Vazquez-Abrams가 나를 닌자로 만들었습니다.

관련 정보