Tutorial: Dateien herunterladen mit wget und Archivierung mit tar unter Linux
Hier ist ein ausführliches Tutorial passend zum Thema „System Engineering – Video 9“.
In der Welt des System Engineerings ist die Automatisierung von Downloads und die effiziente Verwaltung von Archiven eine Grundvoraussetzung. Dieses Tutorial zeigt dir, wie du das Werkzeug wget professionell einsetzt und es direkt mit dem Archivierungstool tar kombinierst.
1. Einführung in wget
wget ist ein freies Kommandozeilenprogramm zum Herunterladen von Dateien aus dem Internet. Es unterstützt Protokolle wie HTTP, HTTPS und FTP. Der größte Vorteil ist, dass es stabil im Hintergrund läuft, auch wenn du dich vom System abmeldest.
Grundlegender Befehl
Um eine Datei einfach herunterzuladen, nutzt du:
wget [URL]
Beispiel: wget https://example.com/software.zip
2. Wichtige wget-Optionen für System Engineers
Datei unter einem anderen Namen speichern (-O)
Standardmäßig speichert wget die Datei unter dem Namen, der in der URL steht. Mit -O kannst du den Zielnamen festlegen:
wget -O mein_neuer_name.zip https://example.com/datei.zip
Downloads fortsetzen (-c)
Falls eine Verbindung unterbrochen wurde, kannst du mit der Option -c (continue) dort weitermachen, wo der Download gestoppt hat:
wget -c https://example.com/grosse_datei.iso
Download im Hintergrund (-b)
Für sehr große Dateien, die lange brauchen, kannst du den Prozess in den Hintergrund schieben:
wget -b https://example.com/archiv.tar.gz
Die Log-Ausgaben werden standardmäßig in die Datei wget-log geschrieben.
Download-Geschwindigkeit limitieren
Um die Netzwerkbandbreite für andere Dienste zu schonen:
wget --limit-rate=500k https://example.com/datei.zip
3. wget in Kombination mit tar
Im System Engineering ist es oft effizienter, eine Datei herunterzuladen und sie sofort zu entpacken, ohne sie erst permanent auf der Festplatte zwischenzuspeichern.
Das Prinzip der Pipe (|)
Wir nutzen die Standardausgabe (stdout) von wget und leiten sie direkt an tar weiter.
Befehl: Downloaden und direkt entpacken
wget -qO- https://example.com/archiv.tar.gz | tar xzv
Erklärung der Parameter:
wget -q: "quiet" – unterdrückt die Statusausgabe von wget.wget -O-: Das großeOgefolgt von einem Bindestrich-bedeutet, dass die Datei nicht auf die Festplatte, sondern direkt an den Standard-Output (Bildschirm/Pipe) gesendet wird.|: Die Pipe leitet die Daten an den nächsten Befehl weiter.tar xzv:x: extrahieren (extract)z: entpacken (für .gz-Dateien)v: ausführliche Anzeige der Dateien (verbose)
4. tar-Grundlagen (Refresher)
Da wget oft mit Archiven arbeitet, hier die wichtigsten tar-Befehle, die jeder System Engineer kennen sollte:
- Archiv erstellen:
tar -czvf archiv_name.tar.gz /pfad/zum/ordner - Archivinhalt auflisten (ohne zu entpacken):
tar -tzvf archiv_name.tar.gz - Archiv entpacken:
tar -xzvf archiv_name.tar.gz
5. Praktisches Szenario: Automatisierung
Stell dir vor, du musst eine Software auf mehreren Servern installieren. Anstatt die Datei erst zu laden, zu speichern und dann zu entpacken, nutzt du ein Einzeiler-Skript:
#!/bin/bash
URL="https://server.com/software-latest.tar.gz"
DEST="/opt/software"
mkdir -p $DEST
wget -qO- $URL | tar -xzvC $DEST
echo "Installation abgeschlossen."
Hinweis: Die Option -C bei tar wechselt das Verzeichnis, bevor entpackt wird.
Zusammenfassung
wgetist das Standardtool für Datei-Downloads via CLI.- Mit
-O-können Daten direkt in einen Stream geleitet werden. - Die Kombination
wget ... | tar ...spart Zeit und Speicherplatz. - Im System Engineering ermöglichen diese Techniken eine schnelle und saubere Server-Konfiguration.