6.12. Bzip2-1.0.8

Bzip2 패키지에는 파일 압축 및 압축 해제를 위한 프로그램이 포함되어 있다. bzip2로 텍스트 파일을 압축하면 기존 gzip보다 압축률이 훨씬 높다.

예상 빌드 시간: 0.1 SBU 이하
필요 디스크 공간: 7.7 MB

6.12.1. Bzip2 설치

이 패키지의 문서를 설치하는 패치를 적용한다:

patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch

다음 명령은 심볼릭 링크를 상대적으로 생성한다:

sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile

Man 문서들을 올바른 위치에 설치하도록 만든다:

sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile

Bzip2 컴파일을 준비한다:

make -f Makefile-libbz2_so
make clean

Make 매개변수의 의미:

-f Makefile-libbz2_so

다른 Makefile 파일을 사용해서 Bzip2를 빌드한다. 여기서 Makefile-libbz2_so 파일은 동적 libbz2.so 라이브러리를 생성하고 거기에 Bzip2 유틸리티를 링크한다.

패키지를 컴파일하고 테스트한다:

make

패키지를 설치한다:

make PREFIX=/usr install

공유 bzip2 바이너리를 /bin 디렉토리에 설치하고 필요한 심볼릭 링크를 만든 후 정리한다:

cp -v bzip2-shared /bin/bzip2
cp -av libbz2.so* /lib
ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so
rm -v /usr/bin/{bunzip2,bzcat,bzip2}
ln -sv bzip2 /bin/bunzip2
ln -sv bzip2 /bin/bzcat

6.12.2. Bzip2의 내용

설치된 프로그램들: bunzip2 (bzip2로 링크), bzcat (bzip2로 링크), bzcmp ( bzdiff로 링크), bzdiff, bzegrep (bzgrep로 링크), bzfgrep (bzgrep로 링크), bzgrep, bzip2, bzip2recover, bzless (bzmore로 링크), bzmore
설치된 라이브러리들: libbz2.{a,so}
설치된 디렉토리: /usr/share/doc/bzip2-1.0.8

요약

bunzip2

bzip으로 압축된 파일을 압축 해제

bzcat

표준 출력으로 압축 해제

bzcmp

bzip으로 압축된 파일에 대해 cmp를 실행

bzdiff

bzip으로 압축된 파일에 대해 diff를 실행

bzegrep

bzip으로 압축된 파일에 대해 egrep를 실행

bzfgrep

bzip으로 압축된 파일에 대해 fgrep를 실행

bzgrep

bzip으로 압축된 파일에 대해 grep를 실행

bzip2

허프만(Huffman) 코딩과 Borrows-Wheeler 블록 정렬 텍스트 압축 알고리즘을 사용하여 파일을 압축; gzip과 같은 Lempel-Ziv 알고리즘을 사용하는 기존의 압축기보다 압축률이 더 우수함

bzip2recover

손상된 bzip 압축 파일에서 데이터 복구 시도

bzless

bzip으로 압축된 파일에 대해 less를 실행

bzmore

bzip으로 압축된 파일에 대해 more를 실행

libbz2

Burrows-Wheeler 알고리즘을 사용하여 무손실 블록 정렬 데이터 압축을 구현하는 라이브러리