安装 Bzip2
命令如下:

复制代码代码如下:
make -f Makefile-libbz2_so &&
make &&
make install &&
cp bzip2-shared /bin/bzip2 &&
ln -s libbz2.so.1.0 libbz2.so &&
cp -a libbz2.so* /lib &&
rm /lib/libbz2.so &&
ln -s ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so &&
rm /usr/bin/{bunzip2,bzcat,bzip2} &&
mv /usr/bin/{bzip2recover,bzless,bzmore} /bin &&
ln -s bzip2 /bin/bunzip2 &&
ln -s bzip2 /bin/bzcat

尽管不是一个必需的部分,值得说到的是有一个Tar包用的补丁,使tar程序可以更容易地用bzip2/bunzip2来压缩和解压。如果是单纯的tar,你不得不用这样的命令:bzcat file.tar.bz | tar -xv 或 tar --use-compress-prog=bunzip2 -xvf file.tar.bz2 来使用bzip2和bunzip2。这个补丁提供了 -j 选项,你可以用这样的命令: tar -xvfj file.tar.bz2 来解压一个bzip2格式的包。应用这个补丁将在后面安装Tar包的时候说到。

简介

bzip2, bunzip2 - 一种块排序文件压缩软件,v0.9.5
bzcat - 将文件解压缩至标准输出
bzip2recover - 恢复损坏的 bzip2 文件

bzip2 采用 Burrows-Wheeler 块排序文本压缩算法和 Huffman 编码方式压缩文件。 压缩率一般比基于 LZ77/LZ78 的压缩软件好得多,其性能接近 PPM 族统计类 压缩软件。
命令行参数有意设计为非常接近 GNU gzip 的形式,但也不完全相同。
bzip2 从命令行读入文件名和参数。 每个文件被名为 "原始文件名.bz2" 的压缩文件替换。 每个压缩文件具有与原文件相同的修改时间、 权限, 如果可能的话, 还具有相同的属主, 因此在解压缩时这些特性将正确地恢复。 在某些文件系统中, 没有权限、 属主或时间的概念, 或者对文件名的长度有严格限制, 例如 MSDOS, 在这种情况下,bzip2 没有保持原文件名、 属主、 权限以及时间的机制, 从这个意义上说,bzip2 对文件名的处理是幼稚的。
bzip2 和 bunzip2 在缺省情况下不覆盖已有的文件。 如果想覆盖已有的文件,要指定 -f 选项。
如果未指定文件名, bzip2 将压缩来自标准输入的数据并写往标准输出。在这种情况下, bzip2 会拒绝将压缩结果写往终端,因为这完全无法理解并且是没有意义的。
bunzip2 (以及 bzip2 -d) 对所有指定的文件进行解压缩处理。不是由 bzip2 产生的文件将被忽略,同时发出一个警告信息。 bzip2 按下列方式由压缩文件名确定解压后的文件名:

       filename.bz2    解压成   filename
       filename.bz     解压成   filename
       filename.tbz2   解压成   filename.tar
       filename.tbz    解压成   filename.tar
       anyothername    解压成   anyothername.out
如果文件名的后缀不是下列之一: .bz2, .bz, .tbz2 或 .tbz, .bzip2 将抱怨无法确定原始文件名,并采用原文件名加 .out 作为解压缩文件名。
在压缩时,如果不提供文件名,bzip2 将从标准输入读取数据,压缩结果写往标准输出。
bunzip2 能够正确地解压由两个或更多个压缩文件连在一起的文件。 解压的结果为相应的连在一起的未压缩文件。
 bzip2 也支持对连在一起的压缩文件的完整性检查(-t选项)。
同样可采用 -c 选项将文件压缩或解压缩至标准输出。 多个文件可通过这种方式压缩或解压缩。 输出结果被依次送往标准输出。 采用这种方式对多个文件的压缩将生成包含 多个压缩文件的数据流。这样的数据流只能被 0.9.0 版或其后续版本的 bzip2 正确解压。较早版本的 bzip2 会在解压完第一个文件之后停止。
bzcat (或 bzip2 -dc) 将所有指定文件解压缩至标准输出。
bzip2 可从环境变量 BZIP2 和 BZIP 中依次读取参数, 并在命令行参数之前对其进行处理。 这是提供缺省选项的方便途径。
即使压缩后的文件略大于原文件, 压缩也总是照样进行。 小于大约 100 字节的文件压缩后倾向于变大, 因为会有一个 50 字节的数据头。 对于随机数据 (包括大多数压缩软 件的输出), 大约每字节压成 8.05 位, 放大率约为 0.5%。
bzip2 采用 32 位 CRC 校验码作自我检查,以确认解压后的文件与原始文件相同。 这可用于检测压缩文件是否损坏,并防止 bzip2 中未知的缺陷(运气好的话这种可能性非常小)。 数据损坏而未检测到的几率非常之小, 对于每个被处理的文件大约是四十亿分之一。 检查是在解压缩时进行的, 因此它只能说明某个地方出问题了。 它能帮助恢复原始未压缩的数据。可以用 bzip2recover 来尝试从损坏的文件中恢复数据。
返回值:正常退出返回 0, 出现环境问题返回 1 (文件未找到,非法的选项,I/O错误等), 返回 2 表明压缩文件损坏,出现导致 bzip2 紧急退出的内部一致性错误(例如缺陷)时返回 3。

参数
-c --stdout
    将数据压缩或解压缩至标准输出。
-d --decompress
    强制解压缩。 bzip2, bunzip2 以及 bzcat 实际上是同一个程序,进行何种操作将根据程序名确定。 指定该选项后将不考虑这一机制,强制 bzip2 进行解压缩。
-z --compress
-d 选项的补充:强制进行压缩操作,而不管执行的是哪个程序。
-t --test
    检查指定文件的完整性,但并不对其解压缩。 实际上将对数据进行实验性的解压缩操作,而不输出结果。
-f --force
    强制覆盖输出文件。通常 bzip2 不会覆盖已经存在的文件。该选项还强制 bzip2 打破文件的硬连接,缺省情况下 bzip2 不会这么做。
-k --keep
    在压缩或解压缩时保留输入文件(不删除这些文件)。
-s --small
    在压缩、 解压缩及检查时减少内存用量。 采用一种修正的算法进行压缩和测试, 每个数据块仅需要 2.5 个字节。 这意味着任何文件都可以在 2300k 的内存中进行解压缩, 尽管速度只有通常情况下的一半。
    在压缩时,-s将选定 200k 的块长度,内存用量也限制在 200k 左右, 代价是压缩率会降低。 总之,如果机器的内存较少(8兆字节或更少), 可对所有操作都采用-s选项。参见下面的内存管理。
-q --quiet
    压制不重要的警告信息。属于 I/O 错误及其它严重事件的信息将不会被压制。
-v --verbose
    详尽模式 -- 显示每个被处理文件的压缩率。 命令行中更多的 -v 选项将增加详细的程度, 使 bzip2 显示出许多主要用于诊断目的信息。
-L --license -V --version
    显示软件版本,许可证条款及条件。
-1 to -9
    在压缩时将块长度设为 100 k、200 k .. 900 k。 对解压缩没有影响。参见下面的内存管理。
--
    将所有后面的命令行变量看作文件名,即使这些变量以减号"-"打头。 可用这一选项处理以减号"-"打头的文件名, 例如:bzip2 -- -myfilename.
--repetitive-fast --repetitive-best
    这些选项在 0.9.5 及其以上版本中是多余的。 在较早的版本中,这两个选项对排序算法 的行为提供了一些粗糙的控制,有些情况下很有用。 0.9.5 及其以上版本采用了改进的算法而与这些选项无关。

例:
例a,压缩


复制代码代码如下:
[root@localhost ~]# bzip2 -z abc.sh #压缩


复制代码代码如下:
[root@localhost ~]# bzip2 -kv abc.sh #压缩原文保留

  abc.sh:   1.220:1,  6.557 bits/byte, 18.04% saved, 255 in, 209 out.

复制代码代码如下:
[root@localhost ~]# bzip2 -9 -c abc.sh >abc.bz2 #压缩原文保留

例b,解压

复制代码代码如下:
root@tnak-VirtualBox:/home/tnak# bzip2 -dv abc.sh.bz2

  abc.sh.bz2: done

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。