Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Installing Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
Zlib-1.3.1 | Xz-5.4.6 |
8.7. Bzip2-1.0.8
Bzip2 패키지에는 파일 압축 및 압축 해제를 위한 프로그램이 포함되어 있습니다. bzip2로 텍스트 파일을 압축하면 기존 gzip보다 훨씬 더 나은 압축률을 얻을 수 있습니다.
- 빌드 시간: 0.1 SBU 미만
- 디스크 공간: 7.2MB
8.7.1. Bzip2 설치
man 페이지를 설치하는 패치를 적용합니다.
patch -Np1 -i ../bzip2-1.0.8-install_docs-1.patch
심볼릭 링크가 올바른 대상을 지정하도록 합니다.
sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile
매뉴얼 페이지가 올바른 위치에 설치되되록 합니다.
sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile
Bzip2 컴파일을 준비합니다.
make -f Makefile-libbz2_so
make clean
make 옵션 설명
- -f Makefile-libbz2_so
다른 Makefile 파일(이 경우 Makefile-libbz2_so 파일)을 사용하여 Bzip2가 빌드되고, 동적 libbz2.so 라이브러리를 생성하고 이를 Bzip2 유틸리티를 연결합니다.
패키지를 컴파일하고 테스트합니다.
make
프로그램을 설치합니다.
make PREFIX=/usr install
공유 라이브러리를 설치합니다.
cp -av libbz2.so.* /usr/lib
ln -sv libbz2.so.1.0.8 /usr/lib/libbz2.so
bzip2 공유 바이너리를 /usr/bin 디렉터리에 설치하고, 두 개의 bzip2 사본을 심볼릭 링크로 바꿉니다.
cp -v bzip2-shared /usr/bin/bzip2
for i in /usr/bin/{bzcat,bunzip2}; do
ln -sfv bzip2 $i
done
사용하지 않는 정적 라이브러리를 제거합니다.
rm -fv /usr/lib/libbz2.a
8.7.2. Bzip2 패키지 구성
- 설치된 프로그램:
bunzip2(bzip2에 링크), bzcat(bzip2에 링크), bzcmp(bzdiff에 링크), bzdiff, bzegrep(bzgrep에 링크), bzfgrep(bzgrep에 링크), bzgrep, bzip2, bzip2recover, bzless (bzmore에 링크) 및 bzmore. - 설치된 라이브러리
libbz2.so - 설치된 디렉토리
/usr/share/doc/bzip2-1.0.8
간략한 설명
- bunzip2
압축된 파일을 압축 해제합니다. - bzcat
표준 출력으로 압축 해제 - bzcmp
압축된 파일에서 cmp를 실행합니다 - bzdiff
압축된 파일에서 diff를 실행합니다 - bzegrep
압축된 파일에서 egrep을 실행합니다. - bzfgrep
압축된 파일에서 fgrep을 실행합니다. - bzgrep
압축된 파일에서 grep을 실행합니다 - bzip2
허프만 코딩과 함께 버로우즈-휠러 블록 정렬 텍스트 압축 알고리즘을 사용하여 파일을 압축합니다. 압축률은 gzip과 같은 “Lempel-Ziv” 알고리즘을 사용하는 기존 압축기보다 우수합니다. - bzip2recover
손상된 압축 파일에서 데이터 복구를 시도합니다. - bzless
압축된 파일에서 less를 실행합니다 - bzmore
압축 파일에서 more를 실행합니다 - libbz2
버로우즈-휠러 알고리즘을 사용하여 무손실, 블록 정렬 데이터 압축을 구현하는 라이브러리입니다.