wget, Sourceforge & Co

Jeder, der mit wget auf der Kommandozeile arbeitet, kennt die Thematik, dass der Download von Paketen/Sourcen von Sourceforge & Co schwierig ist, da die URL auf das vermeintliche Paket eine Weiterleitung ist und keinen direkten Link auf die gewünschten Daten bietet.

wget lädt bei Übernahme der URL dann nicht das gewünschte Paket herunter bzw. es wird ein kryptischer Name wie „?download“ anstatt z.B. „icinga-core.tar.gz“ vergeben.

Dieses Verhalten lässt sich durch den wget-Parameter „–trust-server-name“ beeinflussen:

~ # wget --trust-server-name http://sourceforge.net/projects/icinga/files/icinga/1.6.1/icinga-1.6.1.tar.gz/download
--2011-12-07 10:15:15--  http://sourceforge.net/projects/icinga/files/icinga/1.6.1/icinga-1.6.1.tar.gz/download
Resolving sourceforge.net... 216.34.181.60
Connecting to sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://downloads.sourceforge.net/project/icinga/icinga/1.6.1/icinga-1.6.1.tar.gz?r=&ts=1323249322&use_mirror=garr [following]
--2011-12-07 10:15:20--  http://downloads.sourceforge.net/project/icinga/icinga/1.6.1/icinga-1.6.1.tar.gz?r=&ts=1323249322&use_mirror=garr
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://garr.dl.sourceforge.net/project/icinga/icinga/1.6.1/icinga-1.6.1.tar.gz [following]
--2011-12-07 10:15:26--  http://garr.dl.sourceforge.net/project/icinga/icinga/1.6.1/icinga-1.6.1.tar.gz
Resolving garr.dl.sourceforge.net... 193.206.140.34, 2001:760:ffff:b0::34
Connecting to garr.dl.sourceforge.net|193.206.140.34|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12880538 (12M) [application/x-gzip]
Saving to: `icinga-1.6.1.tar.gz'

100%[=================================================================================================>] 12,880,538   424K/s   in 24s     

2011-12-07 10:15:55 (525 KB/s) - `icinga-1.6.1.tar.gz' saved [12880538/12880538]

Sofern man diesen Parameter als Standard nutzen möchte, empfiehlt sich der Eintrag von „trust_server_names = on“ in die Datei „/etc/wgetrc“ (global für alle Benutzer) respektive im Home Verzeichnis in die Datei „$HOME/.wgetrc“ (nur für den aktuellen Benutzer).