Downloadmanager für die Konsole

Linux bietet einige sehr effiziente Programme, um Downloads zu steuern und dabei nur wenige Systemressourcen in Beschlag zu nehmen. Genau richtig bei älteren Rechnern oder einfach nur für alle, die gerne das Maximum herausholen möchten.

Wget

Wget ist der bekannteste Downloadmanager unter Linux. Er ist praktisch in jeder Linuxdistribution standardmäßig installiert und wird in vielen Skripten eingesetzt, um Dateien aus dem Internet herunterzuladen. Eine seiner Vorgaben war Dateien auch über unzuverlässige Netze herunterladen zu können, weswegen wget auch abgebrochene Downloads an der gleichen Stelle wieder aufnehmen kann.
Wget ist nicht-interaktiv und lässt sich einsetzen, um Downloads im Hintergrund auszuführen. Die Anwendung kann dabei problemlos mit http, https und ftp umgehen. Proxies werden ebenfalls unterstützt.
Wget beherrscht den rekursiven Download von Dateien und besitzt die Fähigkeit dabei auch Links zu folgen.
Die Bedienung ist denkbar einfach:

wget http://meinedomain.de/verzeichnis/dateiname

Mit Wget lassen sich z.B. auch Dateien von ftp Servern herunterladen und direkt über stdin an mplayer übergeben, wobei in diesem Fall noch ein 8MB großer Cache genutzt wird.

wget ftp://meinedomain.de/beispiel.ogv -O - | mplayer -cache 8192 -

Wget ist die erste Wahl auf jedem Linuxsystem, wenn man so wenig Mehraufwand wie möglich haben möchte und in der Regel brauche ich auf einem Computer auch selten etwas anderes.
Noch mehr Beispiele gibt es wie gehabt mit man wget oder z.B. auch auf ubuntuusers.de.

axel

Eine der seltenen Fälle stellt sich dann ein, wenn große Dateien über eine langsame Verbindung heruntergeladen werden müssen. Seitdem ich Linux nutze und die Anbindung an die Server der zentralen Paketverwaltung meistens hervorragend sind, wurde die Notwendigkeit für einen Downloadbeschleuniger immer seltener.
Hier kommt axel ins Spiel. Axel ist winzig klein, hat keine Abhängigkeiten mit anderen Programmen und ist ideal, wenn man über http und ftp Dateien beschleunigt herunterladen möchte. Das kleine Programm startet dabei mehrere Threads, die die Leitung zum Glühen bringen.

Beispiel
axel -a -o testdatei http://meinedomain.de/verzeichnis/dateiname

Der Parameter -a zeigt eine alternative Fortschrittsanzeige an. Mit -o lässt sich die Ausgabe in einen anderen Dateinamen umbenennen. Eine Besonderheit ist die Option -Sx, wobei x für eine positive, natürliche Zahl steht. X gibt die Anzahl der Spiegelserver an, die nach der Datei durchsucht werden sollen, um den schnellstmöglichen Download zu ermitteln. Dabei wird auf die Datenbank von filesearching.com zurückgegriffen.

aria2

Aria2 ist ein vielfältiger und umfangreicher Downloadmanager für die Konsole. Er hat mehr Abhängigkeiten als axel, bietet dafür aber auch mehr Feature an.
Neben der Möglichkeit von http, https und ftp Downloads, beherrscht aria2 zusätzlich noch den Download mit Bittorrent und Metalinks.
Genauso wie bei axel lassen sich zusätzliche Threads starten, um den Download zu beschleunigen. Das Interessante dabei ist, dass aria2 in der Lage ist eine Datei gleichzeitig sowohl über http(s), ftp als auch Bittorrent herunterzuladen, zur finalen Datei zusammenzufügen und alle Dateien noch während des Downloads dem Bittorrent Schwarm anzubieten.
Beispiele aus dem Handbuch zu aria2:

Eine Datei von zwei verschiedenen HTTP Servern herunterladen

aria2c "http://host/file.zip" "http://mirror/file.zip"

Lade eine Datei von einem Host, aber mit gleichzeitig zwei Verbindungen herunter.

aria2c -x2 -k1M "http://host/file.zip"

Lade eine Datei von einem HTTP und einem FTP Server gleichzeitig herunter

aria2c "http://host1/file.zip" "ftp://host2/file.zip"

Lade alle Dateien in der Datei beispiel.txt nacheinander herunter und benutze dabei zwei gleichzeitige Verbindungen

aria2c -i beispiel.txt -j2

Weitere Beispiele gibt es im englischen aria2 Wiki.

Fazit

Wget löst im Regelfall alle Downloadprobleme und lässt sich von der Konsole auch im Hintergrund nutzen.

Axel ist die erste Wahl, wenn es auf jedes KB RAM ankommt und man oft mit langsamen Verbindungen beim Download zu kämpfen hat. Axel ist hier unschlagbar effizient.

Aria2 ist ein vollwertiges und umfangreiches Werkzeug zum Download von Dateien auf der Konsole. Es nimmt mehr Speicher als axel in Beschlag, bietet dafür aber auch mehr Möglichkeiten.

Neben dem hervorragenden rtorrent ist aria2 eine Alternative für den Download mit Bittorrent von der Konsole.
Zusammengenommen sind die Anwendungen wget, axel, aria2, rtorrent, elinks und screen ein unschlagbares Setup für die Konsole, wenn es um ressourcenschonenden und effizienten Download geht.
Ich selbst merke dabei aber immer wieder, dass entweder die Verbindung schon ausreichend schnell ist oder ich auch einfach mal ein paar Sekunden länger warten kann.
Mag aber auch sein, dass ich mit dem C64 und Amiga 500 aufgewachsen bin und mir Erfahrungen wie das Wechseln von einem Dutzend Disketten bei Monkey Island II nach jeder neuen Szene noch in Erinnerung sind. Festplatten? Hahaha.