web-dev-qa-db-ja.com

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

http://www.yoono.com/ からYOONO-Desktopをダウンロードし、次の手順でインストールしようとしました。

[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

このファイルはデスクトップ/ Ram /ダウンロードにあります。しかし、「そのようなファイルやディレクトリはありません」のようなエラーを表示しています。なぜこのエラーが表示されるのですか?

6
ram

説明から、ファイルはbzip2でtarラップされているようです。以下はうまくいくはずです:

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

また、間違ったディレクトリにいるようです。正しいディレクトリに移動するか、完全パスをtarに渡します。

10
Chris Down

ルートシェルにログインしているため、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
2
Radu Rădeanu

あなたは良い答えを持っていますが、私のケースは私があなたと共有したいものとは異なりました...

共有ホスティングで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を検索しましたが、コードを詳細にチェックしませんでしたが、それは機能します;)

0
MrSimpleMind