我尝试运行:
tar -zxvf name.tar.xz
但我得到的只是:
tar: Child returned status 2
tar: Error is not recoverable: exiting now
答案1
z
GNU tar(Ubuntu 附带的版本)的标志用于tar
指定正在处理的存档使用 压缩,这通常由(或更罕见的)扩展gzip
名表示。在 GNU tar 中,如果存档未使用压缩,则使用该标志是错误的,正如您现在所经历的那样。.tar.gz
.tgz
z
gzip
使用该扩展的档案.tar.xz
使用 xz 压缩,GNU tar 中的相应标志是J
。因此,在命令中替换z
应该J
可以解决您的问题。此外,如果您的系统上未安装 xz 工具,您可能会收到“命令未找到”错误,这可以通过安装软件包来解决xz-utils
。
或者,您可以完全省略与文件类型相关的标志,只需使用-xvf
;在这种情况下,tar
将尝试通过分析文件自动检测压缩格式。(您可能还可以省去该v
标志;它只会打印提取的文件列表,这通常没用。)
答案2
.xz
是“一种使用 LZMA2 来产生非常高压缩比的压缩格式”,应该用ar
(ar
默认作为 GNU 实用程序的一部分安装)提取。
GNU
ar
程序可创建、修改和提取档案。档案是一个单一文件,其中包含其他文件的集合,其结构使得可以检索原始的单个文件(称为档案成员)。
还有更多工具(例如tar
),但无论你使用其他什么工具:确保该工具支持此功能 ->
原始文件的内容、模式(权限)、时间戳、所有者和组保存在档案中,可以在提取时恢复。
答案3
我有一个 'tar.xz',所以我习惯unxz myfile.tar.xz
解压该文件,这样我就得到了存档文件myfile.tar
。然后使用存档文件上的常规tar
命令,我就可以提取内容tar xvf myfile.tar
。
答案4
您可以使用以下命令解压 .tar.xz 文件。
句法:
tar -xJvf File_Name.tar.xz
例子:
tar -xJvf etc.tar.xz