
私は指示に従おうとしているここ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=1
2 つの理由で間違っています:
- ダウンロードリンクは、Bashの特殊文字である&を使用しているため引用符で囲む必要があります。http://www.gnu.org/software/bash/manual/bash.html#定義
- 古いリンクを使用しています。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
を示すオプションは必要ありません。gzip
tar
最後に、-
前述のオプションは私の知る限り非推奨です。
もう 1 つ:sudo
本当に必要でない場合は使用しないことをお勧めします。ここでは、アーカイブをダウンロードして解凍するだけなので、ルート権限は必要なく、ホーム ディレクトリで実行できます。特に、何をしているのかよくわからない場合に、深刻な問題につながる可能性のある間違いを回避できます。
答え4
私も同じ問題を抱えていましたが、Google でここにたどり着き、問題は解決しました。1 つはファイル名の大文字に関するもので、もう 1 つはフォルダーの authoriz に関するものです。これを 777 に変更します。お役に立てば幸いです。