압축하려는 수백 개의 유사한 큰 파일 (각각 30MB)이 있습니다. 모든 파일 쌍에는 동일한 데이터의 99 % (1 % 미만)가 있으므로 40-50MB를 초과하지 않을 것으로 예상됩니다.
단일 파일 (와 13~15메가바이트에 30메가바이트에서 압축 할 수 있습니다 xz -1
, gz -1
, bzip2 -1
)하지만, 두 개 이상의 파일을 압축 할 때 나는 크기와 아카이브를 갖고 싶어 13-15MB + N*0.3MB
N 파일의 번호입니다.
사용하는 경우 tar
(고체 아카이브를 만드는)와 xz -6
(- 압축 사전보다 더 큰 하나 개의 파일에 정의 업데이트 -!이 충분하지 않았다 ), 나는 아직도 크기 아카이브가 N*13MB
.
나는 그 모두를 생각 gzip
하고 bzip2
그들이 사전 1MB 미만을 가지고 있기 때문에 나에게 도움이되지 않습니다, 내 타르 스트림은 반복을 매 30 MB 있습니다.
표준 도구를 사용하여 최신 Linux에서 내 문제를 어떻게 보관할 수 있습니까?
xz
빠르게 압축 하도록 조정할 수 있지만 30-60MB보다 큰 사전을 사용할 수 있습니까?
업데이트 :와 트릭을했다 tar c input_directory | xz --lzma2=dict=128M,mode=fast,mf=hc4 --memory=2G > compressed.tar.xz
. 필수 mf=hc4
및 --memory=2G
옵션 에 대해 잘 모르겠습니다 . 그러나 dict=128M
사전을 하나의 파일보다 큰 것으로 충분히 크게 mode=fast
설정하고 프로세스를보다 빠르게 만듭니다 -e
.
xz -1 --memory=2G
이 도움이되지 않아 세트에서 2 및 4 파일을 테스트했습니다.