如何解压下载的 tar.bz2 存档?

如何解压下载的 tar.bz2 存档?

我从以下位置下载了 YOONO-Desktop:http://www.yoono.com/,我尝试按照以下步骤安装它:

[root@localhost mpatil]# tar xfv yoono-destop-1.8.43.tar
tar: yoono-destop-1.8.43.tar: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
[root@localhost mpatil]# tar xfv yoono-destop-1.8.43
tar: yoono-destop-1.8.43: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

该文件位于 Desktop/Ram/Downloads 中。但它显示“没有这样的文件或目录”之类的错误。为什么会显示这个错误?

答案1

从你的描述来看,你的文件是用 bzip2 打包的 tar 。以下应该有效:

# You can omit the `j` on newer versions of tar
tar jxf yoono-destop-1.8.43.tar.bz2

看起来您在错误的目录中,请转到正确的目录,或将其完整路径传递给 tar。

答案2

您会收到No such file or directory错误消息,因为您登录的是 root shell。 root ( ) 的主目录/root/与您的不同(在您的情况下可能是/home/mpatil/)。

所以尝试:

tar jxf /home/mpatil/Desktop/Ram/Downloads/yoono-desktop-1.8.43.tar.bz2

要 100% 确定yoono-desktop-1.8.43.tar.bz2文件的完整路径,请首先以 root 身份运行以下命令:

updatedb

然后运行:

locate yoono-desktop-1.8.43.tar.bz2

这将为您提供该存档文件的完整路径。

或者你可以使用find

find /home -type f -name yoono-desktop-1.8.43.tar.bz2

答案3

尽管您的答案很好,但我的情况有所不同,我想与您分享......

我需要将 bz2 提取到共享主机wheretar无法帮助我解压(bzip2 和 lbzip2 出现错误,我无法安装任何东西或执行 sudo...)

我通过创建一个 php 文件并从命令行运行它来解决它(当然您也可以修改脚本以在线使用它)。

Bunzip2.php

<?php
function decompress($data)
 {
     // Decompress the file
     if (@file_exists($data)) {
         $bz = bzopen($data, 'r');
         $uncompressed = '';
         // Read the uncompressed data.
         while (!feof($bz)) {
             $uncompressed .= bzread($bz, 4096);
         }
         // Close the Bzip2 compressed file and write
         // the data to the uncompressed file.
         bzclose($bz);
         if (stripos($data, '.tbz2') !== false) {
             $newFile = str_replace('.tbz2', '.tar', $data);
         } else {
             if (stripos($data, '.tbz') !== false) {
                 $newFile = str_replace('.tbz', '.tar', $data);
             } else {
                 $newFile = str_replace('.bz2', '', $data);
             }
         }
         file_put_contents($newFile, $uncompressed);
         return $newFile;
         // Else, decompress the string
     } else {
         return bzdecompress($data);
     }
 }

decompress($argv[1]);
?>

php bunzip2.php my.tar.bz2

(我只是在github上搜索了bz2+php,我没有详细检查代码,但它确实有效;)

答案4

您可以尝试通过命令安装 bzip2:yum install bzip2 -y(Centos)并再次解压:tar -xjvf yoono-destop-1.8.43.tar.bz2

相关内容