无法使用tar -cvpzf解压完整目录

9

我在这个问题上一直烦恼...

我使用 tar -cvpzf file.tar.gz 命令压缩了一个完整的目录。

我将文件移动到另一台服务器上,尝试解压目录,但是无法成功。

bash-3.2$ tar -xvpzf news.tar.gz .       
tar: gzip: Cannot exec: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: .: Not found in archive
tar: Error exit delayed from previous errors

有人吗?
5个回答

16

您的tar命令找不到gzip。如果您没有gzip,就无法创建.gz文件。您应该在系统上寻找gzip可执行文件。这是什么样的系统?

同时,您可以省略“z”,只传输.tar文件。它会更大,但至少您能够将数据移动到其他服务器。


我真是太笨了!这就是正确的答案,这个VPS上没有安装gzip。感谢Marc指出我应该首先检查什么。 - Bernard Sfez

3

安装gzip,例如ubuntu-

apt-get install gzip

然后解压缩 -

tar -xzf file.tar.gz


3

这台 VPS 服务器没有安装 Gzip。

我应该首先检查这一部分,而不是依赖假设。

我的教训


1
安装 bzip2,然后它应该可以工作。例如在 Debian/Ubuntu 中。
sudo apt-get install bzip2

或者在 Gentoo 中。
emerge bzip2

0
如果您的目录名称为 "file/",则可以使用以下命令创建 tar.gz 文件:
tar -cvzpf file.tar.gz file/

然后使用untar解压它

tar -xvf file.tar.gz

谢谢您的建议,但是没有帮助。 我已经使用了我压缩的目录名称。bash-3.2$ tar -cvzpf news.tar.gz news_moving/ tar: gzip: Cannot exec: No such file or directory tar: Error is not recoverable: exiting now news_moving/我还创建了一个空目录以防万一,但仍然不好。 - Bernard Sfez
你必须在news_moving/的父目录下,并且具有创建tar文件的写入权限。 - sulabh
你需要使用 tar xvfz 命令来解压缩 .tar.gz 文件(注意 "z")。你可以使用 tar xvf 命令来解压缩 .tar 文件。请注意,"-" 是可选的。 - Mark Adler
@MarkAdler:tar 1.21(或大约那个版本)可以自动检测压缩,不再需要-z /等选项。虽然 - 是可选的,但最好使用它,因为旧的选项格式非常笨拙且容易出错。 - jørgensen
你说得对 - 我之前不知道 tar(至少 GNU tar)有压缩自动检测功能。而且习惯已经养成了几十年,我从不使用“-”选项,因为它曾经有一段时间是不起作用的。为了与脚本向后兼容,我相信没有使用“-”选项总是有效的。 - Mark Adler
那个新习惯没坚持多久。我在我的托管服务上遇到了 GNU tar 版本 1.14,其中省略“z”不起作用,因此我将在解压 tar.gz 时重新包含“z”。 - Mark Adler

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