ダウンロードしたtar.bz2アーカイブを解凍するには?

ダウンロードしたtar.bz2アーカイブを解凍するには?

下記からYOONO-Desktopをダウンロードしました。http://www.youno.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で圧縮されています。次は動作します。

# 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/あなたのホームディレクトリとは異なります(あなたの場合はそうです/home/mpatil/)。

だから試してみてください:

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

yoono-desktop-1.8.43.tar.bz2ファイルのフルパスを100%確実にするには、まず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を抽出する必要があります。共有ホスティング解凍するのに役立ちませんtar(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

関連情報