tar: 開けません: そのようなファイルまたはディレクトリはありません

tar: 開けません: そのようなファイルまたはディレクトリはありません

私は指示に従おうとしているここUbuntu に Jetty をインストールしたいのですが、tar を使用しようとすると問題が発生します。

cd /usr/local/src
sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1

でも試してみると

sudo tar -xfz etty-distribution-9.1.0.v20131115.tar.gz

エラーが発生します

tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

何が間違っているのでしょうか? (root としても試しましたが、役に立ちませんでした)


編集

提案された回答はどれもうまくいきません。以下に、コマンド ラインからの私の試みをコピーします。何が間違っているのでしょうか?

a@b:/usr/local/src$ ls
download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
download.php?file=%2Fjetty%2Fstable-9%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz

a@b:/usr/local/src$ tar -tfz jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ tar -tfz /usr/local/src/jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ sudo tar xfz download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ sudo tar xfz jetty-distribution-9.1.0.v20131115.tar.gztar (child): jetty-distribution-9.1.0.v20131115.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ ^C
a@b:/usr/local/src$ 

答え1

ダッシュの使用と引数の順序が問題のようです:

$ tar tfz foo.tar.gz
foo
$ tar -tfz foo.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
$ tar -tzf foo.tar.gz
foo
$ tar --version
tar (GNU tar) 1.15.1

編集:私の場合は次の 2 つのコマンドが機能するようです:

wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz
tar tzf jetty-distribution-9.1.0.v20131115.tar.gz

もちろん、tar tzfを に置き換えtar xzf、 を追加する必要があるかもしれませんsudo

答え2

問題はf引数の位置にある可能性があります。アーカイブの名前はf引数の後に続くはずなので、 というファイルを開けないというエラーが表示されますz

試す:

tar -tzf jetty-distribution-9.1.0.v20131115.tar.gz

答え3

このコマンドはsudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=12 つの理由で間違っています:

  1. ダウンロードリンクは、Bashの特殊文字である&を使用しているため引用符で囲む必要があります。http://www.gnu.org/software/bash/manual/bash.html#定義
  2. 古いリンクを使用しています。jettyのダウンロードページ(eclipse.org からダウンロード) がhttp://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.3.v20140225.tar.gz&r=1正しいダウンロード リンクとして表示されます。

それ以降は、次のコマンドを使用する必要があります。

sudo wget "http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.3.v20140225.tar.gz&r=1" -O jetty-distribution-9.1.3.v20140225.tar.gz`

引数-Oは正しいファイル名に出力するのに役立ちます。

その後はtar xvf jetty-distribution-9.1.3.v20140225.tar.gz動作するはずです。

ここで、オプションはx抽出モードを使用し、v詳細情報 (抽出されるファイルの名前) を表示し、f次の引数が抽出するアーカイブへのパスであることを指定します。

圧縮されたアーカイブは自動的に認識されるため、圧縮されたアーカイブzを示すオプションは必要ありません。gziptar

最後に、-前述のオプションは私の知る限り非推奨です。

もう 1 つ:sudo本当に必要でない場合は使用しないことをお勧めします。ここでは、アーカイブをダウンロードして解凍するだけなので、ルート権限は必要なく、ホーム ディレクトリで実行できます。特に、何をしているのかよくわからない場合に、深刻な問題につながる可能性のある間違いを回避できます。

答え4

私も同じ問題を抱えていましたが、Google でここにたどり着き、問題は解決しました。1 つはファイル名の大文字に関するもので、もう 1 つはフォルダーの authoriz に関するものです。これを 777 に変更します。お役に立てば幸いです。

関連情報