解压tar.bz2文件出现错误

55

我试图在Fedora 17操作系统中提取tar.bz2文件。 我使用了以下命令:

# tar -xvjf myfile.tar.bz2
我收到了这个错误信息:

tar (child):bzip2: Cannot exec :Nosuch of file or directory
tar (child): Error is not recoverable: exitng now
tar: Child returned status 2
tar:Error is not recoverable: exitng now

我该怎么解决这个问题?

9个回答

89

请确保您已安装了bzip2bzip2-libs RPM。

看起来tar命令会调用bzip2命令,而bzip2 RPM提供了/usr/bin/bzip2。在您的情况下,tar特别尝试调用bzip2 -d来解压缩bzipped存档。

另外,这里有几个提示:

  • -v选项是不必要的。它只会给出冗长的输出,也就是列出从归档中提取的文件。大多数时候,这会打印无用的信息到您的终端。

  • 如@Skynet所说,运行file命令对您的bzip2存档进行检查,以确保其实际上是bzip2格式,会很有帮助。

  • 如@Odin所说,似乎在提取存档时不需要指定-j选项,因为tar命令似乎足够聪明,可以自动找出这一点。


63

我使用以下方法解决了这个问题:

aptitude install bzip2

跟着这样做并解决了问题,不知道为什么这样做可以解决我的问题,但确实解决了。 - LetsPlayYahtzee
在我的情况下,我缺少了bzip2,这导致我遇到了相同的错误。安装bzip2 [apt-get install bzip2] 解决了我的问题,并允许我使用命令“tar -jxvf myfile.tar.bz2”提取文件。 - Eko3alpha
请参考@Kevin S的答案以了解此内容。 - Carlos Robles

15

我在CentOS 7中发现了和你一样的错误。错误如下:

tar -jxvf target_gile.tar.bz2
 <br>tar (child): bzip2: Cannot exec: No such file or directory
<br>tar (child): Error is not recoverable: exiting now
<br>tar: Child returned status 2
<br>tar: Error is not recoverable: exiting now

然后我安装了bzip2软件包:yum install bzip2

之后,我再次使用以下命令进行提取:tar -jxvf target_gile.tar.bz2


11

您可能需要在系统上安装 bzip2

yum -y install bzip2

我遇到了同样的问题。我有两台服务器。

A: CentOS 7.6 最小安装版

B: Fedora 29 工作站

在B上创建一个tar压缩包,命令如下:

tar -jcvf  XXX.tar.bz2   /Path_to_my_dir

然后把这个tar包SCP到服务器上进行解压缩,但当我想要解压缩它时,我得到了相同的错误。最终证明,tar可以使用 bzip2您必须先安装它


3
这对我的文件有效:
binutils-2.15.tar.bz2(可在http://ftp.gnu.org/gnu/binutils/找到)
bunzip2 your-tar-file.tar.bz2

您的文件现在看起来是这样的:

your-tar-file.tar

(说明:该文件为tar压缩文件)
tar xvf your-tar-file.tar

文件将完成解压缩。

1

首先需要安装lbzip2软件包:

yum install lbzip2

然后解压该文件

tar file.tar.bz2

问候


0

您可以使用以下命令提取tar.gz或tar.bz2文件:

tar -xvf ~/sometar.tar.bz2

0

如果您在.bashrc/.zshrc中使用了一些错误的别名,也会出现此错误,例如:

alias tar='tar -cf'

当你在终端执行时

$ tar -xf file.tar

已经过去了

$ tar -cf -xf file.tar

tar (child):bzip2: Cannot exec :Nosuch of file or directory
tar (child): Error is not recoverable: exitng now
tar: Child returned status 2
tar:Error is not recoverable: exitng now

所以,你不应该为tar使用别名或做其他操作

$ unalias tar
$ tar -xf file.tar

-12

对于 bz2,您需要像这样执行:

tar -jxvf

或者,你也可以这样执行

bunzip2 myfile.tar.bz2

如需更多信息,请查看它。

tar --help

如果有疑问,可以在归档文件上运行file命令,确保它实际上是以bz2格式压缩的。


5
我认为在使用 tar 命令解压缩 bzip2 格式时,并不需要遵循一定的操作顺序。直接使用 tar -xjftar -jxf 即可。我认为唯一需要注意顺序的是 -f 选项,它需要紧接着文件名。 - Kevin S

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