
我正在嘗試按照說明進行操作這裡在 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
編輯:以下兩個命令似乎對我有用:
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
錯誤有兩個原因:
- 由於您使用 Bash 中的特殊字元 &,因此需要引用下載連結。看http://www.gnu.org/software/bash/manual/bash.html#Definitions
- 您正在使用舊的無效連結。前往jetty的下載頁面(http://download.eclipse.org/jetty/) 表示
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
它會自動識別它。
最後,-
據我所知,前面的選項已被棄用。
另一件事:我不建議sudo
在不是真正需要的時候使用。在這裡,您只想下載並解壓縮存檔,不需要 root 權限,您可以在主目錄中執行此操作。它可以避免犯下可能導致嚴重問題的錯誤,尤其是當您並不真正知道自己在做什麼時。
答案4
我有同樣的問題,然後谷歌把我帶到這裡,現在問題解決了。一是關於檔案名稱的大寫字母,二是資料夾授權。將其更改為 777。