tar:错误无法恢复:现在退出

43

当我解压doctrine时

-rw-r--r-- 1 root root 660252 2010-10-16 23:06 Doctrine-1.2.0.tgz

我总是得到这个错误消息

root@X100e:/usr/local/lib/Doctrine/stable# tar -xvzf Doctrine-1.2.0.tgz

.
.
.

Doctrine-1.2.0/tests/ViewTestCase.php
Doctrine-1.2.0/CHANGELOG

gzip: stdin: decompression OK, trailing garbage ignored
Doctrine-1.2.0/COPYRIGHT
Doctrine-1.2.0/LICENSE
tar: Child returned status 2
tar: Error is not recoverable: exiting now

解压操作可以正常工作,但我总是收到这些错误信息。

有什么线索说明我做错了什么吗?

8个回答

44

我会尝试先分别解压缩和解打包,看看会发生什么:

mv Doctrine-1.2.0.tgz Doctrine-1.2.0.tar.gz
gunzip Doctrine-1.2.0.tar.gz
tar xf Doctrine-1.2.0.tar

2
确实,错误已经消失了。不过我不确定是什么原因导致的。 - udo
4
今天我在尝试解压缩mediawiki-1.18.0.tar.gz时遇到了一个错误。我重新下载了mediawiki-1.18.0.tar.gz,然后错误就停止了。因此,我认为在初始下载过程中,文件可能已经损坏了。 - user82216

5

你的tar文件可能没有进行压缩。我曾经遇到过同样的错误,但我只有一个普通的tar文件。所以尝试删除你的命令中的z标志。z标志会将你的tar文件解压缩,并执行其他带有其他标志的命令。例如:尝试:

tar -xvf Doctrine-1.2.0.tgz

请注意我从-xvzf中删除了z。


2
如果你收到"Error is not recoverable: exiting now"的错误信息,可能是指定了不正确的路径引用。
[me@host ~]$ tar -xvf nameOfMyTar.tar -C /someSubDirectory/
tar: /someSubDirectory: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
[me@host ~]$

请确保提供正确的相对或绝对目录引用,例如:

[me@host ~]$ tar -xvf ./nameOfMyTar.tar -C ./someSubDirectory/
./foo/
./bar/
[me@host ~]$ 

你没有回答原问题,而是修复了另一个错误。 - David I.
好的,我没有回答用户的具体问题,但是标题中的错误信息与我的相同。 - Amanda

1

错误信息

输入图像描述

解决此问题的简单方法

  1. 首先删除文件
  2. 重新下载文件
  3. 再次提取文件(tar -xzvf(或-xvf)FreeFileSync**.tar.gz

输入图像描述


1

尝试使用wget获取您的存档,当我通过浏览器下载存档时,我遇到了同样的问题。然后我只需复制存档链接,在终端中使用以下命令:

wget http://PATH_TO_ARCHIVE

1
问题在于您没有安装bzip2。tar程序依赖于这个外部程序来进行压缩。 安装bzip2取决于您使用的系统。例如,在Ubuntu上,可以通过以下方式进行安装。
sudo apt-get install bzip2

GNU tar程序不知道如何压缩现有文件,例如user-logs.tar(bzip2可以)。tar程序可以通过打开到这些程序的管道,将tar归档发送到压缩实用程序,并由压缩实用程序压缩从tar读取的数据并将结果写入tar程序指定的文件名来使用外部压缩程序gzip、bzip2、xz。
或者,tar和压缩实用程序可以是同一个程序。BSD tar使用lib archive进行压缩(它们在名称上不是真正的不同)。

1
使用sudo。
sudo tar -zxvf xxxxxxxxx.tar.gz

0

出现了相同的错误代码:

tar -xvfz processed.json.gz

tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

原来文件的扩展名是 .gz,但并没有被压缩。只需删除 .gz 扩展名并打开即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接