有段时间没有来园子了,今天从 www.kernel.org 上面下载了一个 2.6.32.2 内核压缩包,下载

下来后发现是一个  .xz  结尾的文件,一看与通常的  .gz、.bz2等格式不一样,感觉可能利用系统现有

的压缩和解压缩工具可能不能解压,测试后果然不能通过gzip、bzip呼和bzip2等工具解压。

  就在Internet上捞了一下,知道整个这个格式是 LZMA 格式的压缩文件,就是说是利用LZMA压缩

算法生成的,而前面的压缩和解压缩工具不支持这个算法。于是就又捞了一把,说是可以用7zip工具来

解压,也可以用 XZ Utils工具进行解压。  于是就逛了一圈 XZ Utils的官网:http://tukaani.org/xz/

下载了一个xz-5.0.1.tar.gz 的源码包。解压后如下所示:

[root@localhost setup_file]# cd xz-5.0.
[root@localhost xz-5.0.]# ls
ABOUT-NLS config.h COPYING dos lib NEWS tests
aclocal.m4 config.h.in COPYING.GPLv2 Doxyfile libtool PACKAGERS THANKS
AUTHORS config.log COPYING.GPLv3 Doxyfile.in m4 po TODO
autogen.sh config.status COPYING.LGPLv2. extra Makefile README windows
build-aux configure debug INSTALL Makefile.am src
ChangeLog configure.ac doc INSTALL.generic Makefile.in stamp-h1

   里面有一个README文档,打开后查看里面的内容:

       . Compile XZ Utils with debugging code using configure switches
--enable-debug and, if possible, --disable-shared. If you are
using GCC, use CFLAGS='-O0 -ggdb3'. Don't strip the resulting
binaries.

  这地方说,如果你需要编译带调试信息的代码,那么就需要在执行 ./configure 的时候带上 --enable-debug 选项。

不过一般不需要。

  然后接着往下看:

       . Try to reproduce the suspected bug. If you get "assertion failed"
message, be sure to include the complete message in your bug
report. If the application leaves a coredump, get a backtrace
using gdb:
$ gdb /path/to/app-binary # Load the app to the debugger.
(gdb) core core # Open the coredump.
(gdb) bt # Print the backtrace. Copy & paste to bug report.
(gdb) quit # Quit gdb.

  这个地方说,如果在make 或者 make install 的时候遇到 中断错误,那么就可以执行下面的命令来

检查出错的原因。 一般编译的时候,不会出错,这一步也能省略。

  然后接着往下看:

 . Translating the xz tool
-------------------------- The messages from the xz tool have been translated into a few
languages. Before starting to translate into a new language, ask
the author that someone else hasn't already started working on it. Test your translation. Testing includes comparing the translated
output to the original English version by running the same commands
in both your target locale and with LC_ALL=C. Ask someone to
proof-read and test the translation. Testing can be done e.g. by installing xz into a temporary directory: ./configure --disable-shared --prefix=/tmp/xz-test
# <Edit the .po file in the po directory.>
make -C po update-po
make install
bash debug/translations.bash | less
bash debug/translations.bash | less -S # For --list outputs

  这个地方到了正题: 编译和安装 xz 工具。

  1、这里提到了一句,与 LC_ALL 区域的相关的问题,一般情况下,这个变量不需要修改,就算

不设置为 LC_ALL=C 也没有关系。一般情况下这个变量的值为空。

  2、编译第一步:执行  ./configure 文件

./configure --disable-shared --prefix=/tmp/xz-test

  这一句用来配置编译过程,  --disable-shared 的意思是禁止共享,

               --prefix=/tmp/xz-test  表示编译后将xz安装到 /tmp/xz-test 目录下。

  3、更新po文件,

make -C po update-po

  这个命令的意思,没啥好解释的  -C po 指定Makefile的搜索路径, update-po 表示执行这个目标

  4、编译和安装

make install

  执行这个命令后,就将xz工具编译后,并安装到  /tmp/xz-test 目录下。

  我就是这么做的,所以执行  /test/xz-test/bin/xz    --help 后显示如下:

[root@localhost linux-2.6.32.61]# /tmp/xz-test/bin/xz  --help
Usage: /tmp/xz-test/bin/xz [OPTION]... [FILE]...
Compress or decompress FILEs in the .xz format. -z, --compress force compression
-d, --decompress force decompression
-t, --test test compressed file integrity
-l, --list list information about .xz files
-k, --keep keep (don't delete) input files
-f, --force force overwrite of output file and (de)compress links
-c, --stdout write to standard output and don't delete input files
- ... - compression preset; default is ; take compressor *and*
decompressor memory usage into account before using -!
-e, --extreme try to improve compression ratio by using more CPU time;
does not affect decompressor memory requirements
-q, --quiet suppress warnings; specify twice to suppress errors too
-v, --verbose be verbose; specify twice for even more verbose
-h, --help display this short help and exit
-H, --long-help display the long help (lists also the advanced options)
-V, --version display the version number and exit With no FILE, or when FILE is -, read standard input. Report bugs to <lasse.collin@tukaani.org> (in English or Finnish).
XZ Utils home page: <http://tukaani.org/xz/>

  如果你觉得麻烦,可以将路径: /tmp/xz-test/bin  添加到环境变量 PATH 中,或者临时导出一下也行。

  -d:  解压缩

  -z: 压缩文件

  -t: 测试文件的一致性

  -l: 列出文件的信息

命令如下执行:

 /tmp/xz-test/bin/xz  -d  linux-2.6.32.2.xz  

  就可以解压你的xz文件了。

  今天这个话题就说到这,希望能给你的系统使用带来方便。

【Linux_Fedora_应用系列】_5_如何安装XZ Utils 解压缩工具以及利用 xz工具来解压缩.xz文件的更多相关文章

  1. 【Linux_Fedora_应用系列】_4_安装chrome浏览器

    在前面一篇文章中,我们讨论了在Linux Fedora 14下安装WMV解码器:[Linux_Fedora_应用系列]_3_如何利用Smplayer播放WMV格式的文件 在文章中介绍的方法同样适合FC ...

  2. 【Linux_Fedora_应用系列】_2_如何安装视频播放器和视频文件解码

    在前面的一篇博文中,我们进行了音乐播放器的安装和解码器的安装.[Linux_Fedora_应用系列]_1_如何安装音乐播放器和mp3解码 这里我们来进行视频播放器的安装.我们还是通过yum方式安装. ...

  3. Mac OS X 10.8.4下面XZ Utils(*.tar.xz)压缩解压缩命令工具的安装

    主要参考:http://bbs.chinaunix.net/thread-3610738-1-1.html 现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩 ...

  4. 【Linux_Fedora_应用系列】_1_如何安装音乐播放器和mp3解码

    因为安装环境的不同,Fedora在安装后会安装不同的软件包.通常在安装的时候有多种选择: 1.桌面环境: 适合个人日常使用,安装包含办公软件(Fedora 默认安装Open Office).娱乐影音软 ...

  5. 【Linux_Fedora_应用系列】_3_如何利用Smplayer播放WMV格式的文件

    在上一篇我们成功安装了视频播放器,并且成功安装里解码器[Linux_Fedora_应用系列]_2_如何安装视频播放器和视频文件解码 安装完的Smplayer的GUI的界面程序,可以播放FLV.AVI. ...

  6. Redis系列(1)之安装

    Redis系列(1)之安装 由于项目的需要,最近需要研究下Redis.Redis是个很轻量级的NoSql内存数据库,它有多轻量级的呢,用C写的,源码只有3万行,空的数据库只占1M内存.它的功能很丰富, ...

  7. Kali linux系列之 zmap 安装

    Kali linux系列之 zmap 安装 官方文档地址:https://zmap.io/ 准备:保证有比较顺畅的更新源,可以更新系统,下载安装包. 安装 第一步:sudo apt-get insta ...

  8. Open vSwitch系列之二 安装指定版本ovs

    在ovs学习过程中,如果自己想要安装一个ovs交换机其实一条简单的命令 apt  install openvswitch 就可以了,但是这种方法只能安装低版本的ovs.在特殊情况下需要安装指定版本,例 ...

  9. kubernetes系列03—kubeadm安装部署K8S集群

    本文收录在容器技术学习系列文章总目录 1.kubernetes安装介绍 1.1 K8S架构图 1.2 K8S搭建安装示意图 1.3 安装kubernetes方法 1.3.1 方法1:使用kubeadm ...

随机推荐

  1. java-面向对象练习2

    1.按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu) 其中属性有:身高(height),名字(name),武器(weapon) 方法有:显示名字(printName), ...

  2. DDD~领域事件应用篇(订单处理变得更清晰)

    回到目录 上一讲主要说了领域事件和领域总线,这并不是一个很容易理解的文章,所以本讲实例篇主要是为了补充上一讲的理论知识,本讲实例关注的是实际中的订单处理模块,我们知道,订单处理是电子商务的核心,往往在 ...

  3. 1编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。2编写一个Java项目,定义包,在包下定义包含main方法的类。

  4. JS---DOM操作有哪一些

    一  DOM对象有哪一些 1   windos 1.属性  opener 2.方法  open(),close() 例:<script langguage="javascript&qu ...

  5. 请求一个action,将图片的二进制字节字符串在视图页面以图片形式输出

    有些时候需要将二进制图片字节在发送浏览器以图片形式显示: 下面是一些示例代码: 控制器: /// <summary> /// 将图片的二进制字节字符串在视图页面以图片形式输出 /// &l ...

  6. PHP变量在内存中的存储方式

    原文:http://www.phppan.com/tag/refcount/ 每门计算机语言都需要一些容器来保存变量数据.在一些语言当中,变量都有特定的类型,如字符串,数组,对象等等.比如C和Pasc ...

  7. javase基础复习攻略《二》

    今天就开始的真正走进JAVASE的世界,本篇介绍的是:JAVASE基础语法,大家如果有C语言的基础,对于本节内容一定感觉非常轻松,编程语言之间的都是相通的,只不过C语言属于面向过程编程,而JAVA语言 ...

  8. PHP的学习--可变函数

    PHP 支持可变函数的概念.这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它.可变函数可以用来实现包括回调函数,函数表在内的一些用途. 可变函数不能用于例如 ech ...

  9. js实现对json数据的序列化(兼容ie6以上浏览器)

    /** * 增加对JSON数据的序列化方法, * 主要用于IE6.7不支持JSON对象的浏览器 */ var xue = xue || {};xue.json = xue.json || {}; xu ...

  10. Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储

    在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...