인터넷을 통해 아카이브를 배포하려면 일반적으로 다음 사항이 우선합니다.
- 압축비 (즉, 압축기가 데이터를 얼마나 작게 만드는가);
- 압축 해제 시간 (CPU 요구 사항)
- 감압 메모리 요구 사항; 과
- 호환성 (압축 해제 프로그램이 얼마나 널리 퍼져 있는지)
압축 메모리 및 CPU 요구 사항은 그다지 빠른 컴퓨터를 사용할 수 있고 한 번만 수행하면되므로 중요하지 않습니다.
bzip2와 비교할 때 xz는 압축률이 높고 압축 해제 시간이 짧습니다. 그러나 일반적으로 사용되는 압축 설정에서는 압축을 풀기 위해 더 많은 메모리가 필요하며 [1] 다소 덜 널리 퍼져 있습니다. Gzip은 어느 것보다 적은 메모리를 사용합니다.
따라서 gzip 및 xz 형식 아카이브가 모두 게시되어 다음을 선택할 수 있습니다.
- 메모리 가 매우 제한된 머신 (<32MB) 에서 압축을 풀어야 합니다 (gzip). 커널 소스에 관해 이야기 할 때 가능성은 낮습니다.
- 사용 가능한 최소 도구 압축 풀기 : gzip
- 다운로드 시간 및 / 또는 대역폭을 절약하려는 경우 : xz
bzip2를 선택할 수있는 현실적인 요소 조합은 없습니다. 그래서 단계적으로 폐지되었습니다.
블로그 게시물 에서 압축 비교를 살펴 보았습니다 . 나는 결과를 복제하려고 시도하지 않았으며 일부 결과가 변경되었다고 생각합니다 (대부분 xz
최신 버전으로 개선 될 것으로 예상 됩니다).
(bzip2 구현이 xz보다 선호 될 수있는 특정 시나리오가 있습니다. bzip2는 xz보다 많은 제로 및 게놈 DNA 서열로 파일을 압축 할 수 있습니다. xz의 최신 버전에는 이제 데이터 복구를 허용하는 (선택적) 블록 모드가 있습니다. 손상 및 병렬 압축 및 이론상 압축 해제 시점 이후 이전에는 bzip2 만이 기능을 제공했지만 [2] 그러나 커널 배포와 관련이있는 것은 없습니다)
1 : 보관 파일 크기 xz -3
는 약 bzip -9
입니다. 그런 다음 xz는 압축을 풀기 위해 더 적은 메모리를 사용합니다. 그러나 xz -9
(예를 들어, 리눅스 커널 타르볼에 사용되는)는보다 많은 것을 사용 bzip -9
합니다. (그리고 심지어 xz -0
그 이상이 필요합니다 gzip -9
).
2 : F21 시스템 전체 변경 : lbzip2를 기본 bzip2 구현으로