2016-12-22 42 views
0

我試圖從Sourceforge在我的bash腳本下載最新版本實:graphicsmagick的下載最新版本的從SourceForge

wget -q https://sourceforge.net/projects/graphicsmagick/files/latest/download?source=files -O GraphicsMagick-LATEST.tar.gz 
tar -xzvf GraphicsMagick-LATEST.tar.gz 

的問題是,當我嘗試提取的tar.gz我收到以下錯誤

gzip: stdin: not in gzip format 
tar: Child returned status 1 
tar: Error is not recoverable: exiting now 

這意味着腳本沒有下載最新的tar.gz文件,而是下載了另一個文件類型?

爲什麼會發生這種情況,我在這裏失蹤?

回答

0

您正在強制將該文件重命名爲tar.gz擴展名。但該文件格式不同。實際上,當您直接下載鏈接時,該文件不是gz文件,而是rpm文件。

您需要直接下載所需的文件:

wget https://sourceforge.net/projects/graphicsmagick/files/graphicsmagick/1.3.25/GraphicsMagick-1.3.25.tar.gz/download -O GraphicsMagick-LATEST.tar.gz 

但在這裏,你預先定義您要下載的文件的版本。

+0

記住Sourceforge根據您的SO的拱門來選擇文件的擴展名,您可以爲Windows,Linux等定義文件。並且鏈接會爲您選擇正確的文件。 – JorgeHortelano

+1

我在這裏centos 7。如何強制定義拱以強制tar.gz下載 – user2650277

+0

我認爲Sourceforge使用您的「瀏覽器」的標題。該項目的配置對於linux用戶是'src.rpm',對於其他人''tar.gz'。當你在一個基於Linux的拱門中選擇第一個選項。我不知道如果用'wget'你可以發送不同的頭文件。 – JorgeHortelano

1

我建議:

wget -q -O - ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/GraphicsMagick-LATEST.tar.gz | tar -xzvf - 
+0

ftp服務器時間很慢 – user2650277

+0

我建議使用鏡像:ftp://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/GraphicsMagick-LATEST.tar.gz – Cyrus

1

忘掉我prevoius答案。該問題不在該文件中。當你用你當前的鏈接使用wget時,你指向一個sourceforge頁面。您沒有下載該文件,但是您正在下載HTML頁面。將您的文件重命名爲.html,您可以看到sourceforge頁面的所有代碼。

wget -q https://sourceforge.net/projects/graphicsmagick/files/latest/download?source=files -O file.html --user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0" 

將下載HTML。

您提供的鏈接有一個JavaScript重定向到正確的鏈接,具體取決於您的操作系統(正如我在其他答案中所述)。但wget無法執行此JavaScript代碼,因此不會重定向。鏈接仍在HTML中。搜索下一個字符串:

Problems with the download? Please use this 

而且這個字符串後,你可以找到直接鏈接到最新版本:

http://downloads.sourceforge.net/project/graphicsmagick/graphicsmagick/1.3.25/GraphicsMagick-1.3.25.tar.gz?r=&ts=1482426819&use_mirror=vorboss 

(備註:如果您使用--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0",鏈接爲tar.gz沒有爲.rpm

您必須因此每次下載的HTML文件,搜索HTML內的下載鏈接(與當前最新版本),並在新的使用0命令。

+0

只要我知道wget可以追蹤20個重定向。我用'curl'嘗試了。'curl -O -J -L https://sourceforge.net/projects/graphicsmagick/files/latest/download?source=files'我得到了'GraphicsMagick-1.3.25-Q16-win32-dl​​l.exe'文件 – user2650277

+0

當我添加mac的useragent獲取焦油,GZ它雖然沒有工作,雖然 – user2650277