牛骨文教育服务平台(让学习变的简单)

6.39. Gzip-1.3.5

gzip 包含用 Lempel-Ziv 编码(LZ77)来压缩和解压文件的程序。

预计编译时间: 少于 0.1 SBU所需磁盘空间: 2.2 MB

6.39.1. 安装 Gzip

Gzip 有两个安全漏洞,下面的补丁可以修正它:

patch -Np1 -i ../gzip-1.3.5-security_fixes-1.patch

为编译 Gzip 做准备:

./configure --prefix=/usr

gzexe 脚本里包含对 gzip 程序的硬路径引用。由于我们后面要改变 gzip 程序的位置,就需要用下面的命令改变脚本中的硬路径:

sed -i "s@"BINDIR"@/bin@g" gzexe.in

编译软件包:

make

这个软件包没有附带测试程序。

安装软件包:

make install

gzip 程序移动到 /bin 目录并创建一些常用的符号连接:

mv -v /usr/bin/gzip /bin
rm -v /usr/bin/{gunzip,zcat}
ln -sv gzip /bin/gunzip
ln -sv gzip /bin/zcat
ln -sv gzip /bin/compress
ln -sv gunzip /bin/uncompress

6.39.2. Gzip 的内容

安装的程序: compress(→gzip), gunzip(→gzip), gzexe, gzip, uncompress(→gunzip), zcat(→gzip), zcmp, zdiff, zegrep, zfgrep, zforce, zgrep, zless, zmore, znew

简要描述

compress 压缩和解压缩文件
gunzip 解压由 gzip 压缩过的文件
gzexe 将文件压缩成可以自解压的可执行文件
gzip 通过 Lempel-Ziv 编码(LZ77)压缩指定的文件
uncompress 解压由 gzip 压缩过的文件
zcat 将解压缩的数据写到标准输出上
zcmp 在压缩文件上调用 cmp 命令
zdiff 在压缩文件上调用 diff 命令
zegrep 在压缩文件上调用 egrep 命令
zfgrep 在压缩文件上调用 fgrep 命令
zforce 强制性地为每一个 gzip 文件加上 .gz 扩展名,这样gzip 就不会对它们再次进行压缩。这个程序可能在一个文件经过传输后名字被截短的情况下能够派上用场。
zgrep 在压缩文件上调用 grep 命令
zless 在压缩文件上调用 less 命令
zmore 在压缩文件上调用 more 命令
znew .Z格式的文件(使用 compress 压缩)转压缩成.gz格式(使用 gzip 压缩)