今天尝试编译内核,下载到了一份tar.xz结尾的压缩文件,网上解决方法比较少,不过还是找到了,如下:
$xz -d ***.tar.xz
$tar -xvf ***.tar
可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。
补充:目前可以直接使用 tar xvJf ***.tar.xz来解压。
另外提供了<>,请继续阅读。
认识tar.xz格式文件是在Linux内核的官方网站上,比如最新的Linux内核3.12,就是.xz后缀的文件。
根据维基百科的解释, xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpioUnix程序创建的归档。xz 在GNU coreutils(版本 7.1 或更新)中被使用。xz 作为压缩软件包被收录在 Fedora (自Fedora 12起), Arch Linux, FreeBSD、 Slackware Linux、CRUX 和 Funtoo中。
由于 xz 文件格式的压缩率更高,已在 Linux 各发行版中广泛使用。最典型的就是Linux内核,3.12版本的xz压缩包仅72.85MB,解压后能达到518.77MB。
XZ Utils的官方网站为:http://tukaani.org/xz/
那么,如何创建和解压.xz 格式文件呢?以解压linux-3.12.tar.xz为例。
解压 xz 格式文件
方法一:
需要用到两步命令,首先利用 xz-utils 的 xz 命令将 linux-3.12.tar.xz 解压为 linux-3.12.tar,其次用 tar 命令将 linux-3.12.tar 完全解压。
xz -d linux-3.12.tar.xz tar -xf linux-3.12.tar
方法二(推荐)
tar -Jxf linux-3.12.tar.xz
创建 xz 格式文件
方法一:
也是用到两步命令,首先利用 tar 命令将 linux-3.12 文件夹打包成 linux-3.12.tar,其次用 xz-utils 的 xz 命令将 linux-3.12.tar 压缩成 linux-3.12.tar.xz。
tar -cf linux-3.12.tar linux-3.12/ xz -z linux-3.12.tar
方法二(推荐)
tar -Jcf linux-3.12.tar.xz linux-3.12/