6.40. Bzip2-1.0.3

Bzip2 软件包包含用于压缩和解压缩文件的程序。使用 bzip2 压缩文本文件比传统的 gzip 产生更高的压缩率。

预计构建时间: 0.1 SBU
所需磁盘空间: 3.9 MB
安装依赖于: Bash、Binutils、Coreutils、Diffutils、GCC、Glibc 和 Make

6.40.1. 安装 Bzip2

应用补丁以安装此软件包的文档

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

bzgrep 命令不会转义传递给它的文件名中的 '|' 和 '&'。这允许使用运行 bzgrep 的用户的权限执行任意命令。应用以下补丁来解决此问题

patch -Np1 -i ../bzip2-1.0.3-bzgrep_security-1.patch

准备编译 Bzip2,使用

make -f Makefile-libbz2_so
make clean

-f 标志将导致 Bzip2 使用不同的Makefile文件构建,在本例中是Makefile-libbz2_so文件,它创建一个动态libbz2.so库,并将 Bzip2 实用程序链接到它。

编译和测试软件包

make

如果重新安装 Bzip2,请首先执行 rm -vf /usr/bin/bz*,否则以下 make install 将会失败。

安装程序

make 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.40.2. Bzip2 的内容

已安装的程序: bunzip2(链接到 bzip2)、bzcat(链接到 bzip2)、bzcmp、bzdiff、bzegrep、bzfgrep、bzgrep、bzip2、bzip2recover、bzless 和 bzmore
已安装的库: libbz2.[a,so]

简短描述

bunzip2

解压缩 bzip2 压缩的文件

bzcat

解压缩到标准输出

bzcmp

对 bzip2 压缩的文件运行 cmp

bzdiff

对 bzip2 压缩的文件运行 diff

bzgrep

对 bzip2 压缩的文件运行 grep

bzegrep

对 bzip2 压缩的文件运行 egrep

bzfgrep

对 bzip2 压缩的文件运行 fgrep

bzip2

使用 Burrows-Wheeler 块排序文本压缩算法和 Huffman 编码压缩文件;压缩率比使用 “Lempel-Ziv” 算法的更传统的压缩器(如 gzip)更好

bzip2recover

尝试从损坏的 bzip2 压缩文件中恢复数据

bzless

对 bzip2 压缩的文件运行 less

bzmore

对 bzip2 压缩的文件运行 more

libbz2*

实现无损、块排序数据压缩的库,使用 Burrows-Wheeler 算法