bzip1은 어떻게 되었습니까?


40

bzip2는 이미 수년 동안 상당히 강력한 압축을위한 사실상의 표준이었습니다. 나 자신은 bzip2지금까지 수천 번 명령 을 입력 했으므로 bzip 또는 bzip1은 어떻게 되었습니까? 구글은 그것에 대해 나에게 많은 것을 말하지 않는 것 같아서 흥미로운 역사 수업이 될 것 같습니다.

답변:


32

bzip1998 년경에 사용 된 산술 압축과 관련된 특허 문제로 인해 원본 이 풀린 것 같습니다 . 약간의 파기 (실제로 Wikipedia 만 읽음)는 bzip2이시기부터 웹 사이트에 대한 아카이브 된 링크를 나타 냅니다.

관련 섹션에이 내용과 다른 차이점이 자세히 설명되어 있습니다.

이전 오퍼링 (bzip-0.21)과 어떤 관련이 있습니까?

bzip2는 0.21의 재 작성 및 엔지니어링 된 버전입니다. 표면적으로는 상당히 비슷해 보이지만 거의 완전히 다시 쓰여졌습니다 (몇 번 :-). 중요한 차이점은 다음과 같습니다.

  • 특허 불필요! (나는 희망한다; 위의 진술 참조). bzip-0.21은 산술 코딩을 사용했다; bzip2는 허프만 코딩을 사용하는데, 이는 일반적으로 특허 관점에서 문제가없는 것으로 간주됩니다. 두 프로그램 모두 Burrows-Wheeler 변환을 기반으로하지만, 내가 아는 한, 그것은 특허도받지 않았습니다.

  • 특히 감압시 더 빠릅니다. bzip2는 주로 허프만 코딩을 사용하기 때문에 0.21보다 50 % 이상 압축이 풀립니다. 압축 속도도 향상 시키지는 않았지만 0.21보다 30 % 빠르게 압축됩니다.

  • 미디어 오류 복구 두 프로그램 모두 기본적으로 900k 길이의 블록으로 데이터를 압축합니다. bzip2를 사용하면 각 블록이 완전히 독립적으로 처리되고 자체 체크섬을 전달하며 48 비트 시퀀스로 구분됩니다. 따라서 손상된 압축 파일이있는 경우 bzip2는 압축 된 블록을 추출하여 손상되지 않은 블록을 감지 한 후 압축을 해제 할 수 있습니다.

  • 시험 모드. 압축을 풀지 않고도 압축 파일의 무결성을 테스트 할 수 있습니다. 나는 이것을 0.21에 넣었어야했지만 너무 게으르다 (+ 그것을 출시 할 때 해킹으로 타 버렸다).

  • 매우 반복적 인 파일을 훨씬 잘 처리합니다. 이러한 파일은 모든 블록 정렬 압축기에서 최악의 경우입니다. bzip2는 이러한 파일에 대해 0.21보다 약 10 배 빠르게 실행됩니다.

  • 작은 기계를 지원합니다. bzip2는 2300k로 생성 한 파일을 압축 해제 할 수 있습니다. 즉, 4 메가 ​​시스템에서 파일의 압축을 해제 할 수 있습니다. 압축 중 최대 메모리 사용도 0.21과 비교하여 약 900k 감소하여 약 6400k로 감소합니다.

  • 더 나은 플래그 처리. 특히 긴 플래그 (예 : --this)가 지원되므로 사용하기가 더 쉽습니다.

  • 0.21이 인쇄 한 한 줄 시작 메시지가 사라졌습니다. 이것은 0.21의 가장 불만스러운 기능이었습니다. 요즘 에도 나에게 버그가 있습니다.

더 이상 0.21을 배포하지 않습니다. 그렇게하면 특허 문제가 지속되어 프로그램이 널리 사용되지 않기 때문입니다. 유용한 프로그램이기 때문에 부끄러운 일이며 많은 사람들이 좋아하는 것 같습니다. 이미 0.21을 사용하고 있다면 bzip2로 업그레이드하십시오. 안타깝게도 bzip2가 0.21의 .bz 파일을 압축 해제 할 수는 없습니다. 왜냐하면 특허 회피 운동이 무의미 해지기 때문입니다. 파일 형식 변경이 어렵다는 것을 알고 있습니다. 이제부터는 이전 버전과 호환되는 방식으로 추가 변경을 시도 할 것입니다.

또한 소스 코드 의 압축 풀기 버전에 대한 링크 이기도 bzip합니다.


5
어딘가에 일부 백업 아카이브에 원본 ​​bzip이있을 것입니다. 나는 그것을 광범위하게 사용했고 bzip2 로의 전환이 성가신 것으로 나타났습니다. 대부분의 파일에서 bzip은 더 나은 압축률을 얻었습니다.
Jules

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.