WGET

Download Manager

We moeten allemaal wel eens (grote) bestanden downloaden, denk maar aan een nieuwe ISO van onze favoriete distro, een distro die we willen testen of software pakketten om maar enkele te noemen. Vroeger (toen we nog trage internetverbindingen hadden) gebruikte ik hiervoor op Windows een zogenaamde “Download Manager” (getright) om deze bestanden correct te downloaden. Downloaden via de webbrowser werkte toen (en nu nog steeds) niet altijd perfect. Daarom nemen we vandaag een kijkje naar WGET. Een commando-regel download-manager voor *NIX.

wget heeft vele opties, te veel om hier allemaal te bespreken, ik ga me dus beperken tot enkele basis mogelijkheden. Voor een volledige lijst kun je altijd wget –help of de wgetmanpages of infopages raadplegen..

Laten we beginnen met de simpelste optie van WGET, het downloaden van 1 bestand (een ISO van Kali Linux):

$ wget http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso

Figuur 1. $ wget http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso

Een optie die we hieraan kunnen toevoegen is bijv de optie om in geval van een netwerk probleem het enkele keren opnieuw te proberen (-t of –tries=n) –tries=0 is ongelimiteerd.

$ wget -t 10 http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso

Figuur 2. $ wget -t 10 http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso

Wil je een download in de achtergrond uitvoeren kun je de optie (-b of –background) gebruiken. Het download-proces zal dan niet worden weergegeven op het scherm, maar worden weggeschreven naar wget-log (tenzij je met de -oof–output-file=bestandsnaam) een ander bestand kiest.

$$ wget -b https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.2.1-amd64-netinst.iso

Figuur 3. $ wget - https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.2.1-amd64-netinst.iso

De inhoud van het wget-log bestand ziet er zo uit:

$ cat wget-log | less

Figuur 4. $ cat wget-log | less

Als de server “resume” ondersteund, dus een afgebroken download verderzetten i.p.v. helemaal opnieuw te beginnen, kun je de -c of –continue optie gebruiken:

$ wget -c http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso

Figuur 5. $ wget -c http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso

De plus (+) tekens in de progress-bar geven aan wat er reeds gedownload was tijden de vorige sessie. Als de download voltooit is zal wget een melding weergeven en je terug naar de CLI prompt brengen:

Figuur 6. $ wget -c http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso (resultaat na download).

Dit is de basis, maar wat als je voor een HTTP of FTP server een gebruikersnaam en wachtwoord moet ingeven ? Dan gebruik je de opties : –user=GEBRUIKER –password=WACHTWOORD, of i.p.v. –password= kun je ook –ask-password gebruiken, dan krijg je een dialoog-venster om het wachtwoord in te geven.

Figuur 7. $ wget -c http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso –-user=patrick –-password=linuxusers.nl
Figuur 8. $ wget -c http://cdimage.kali.org/kali-2017.3/kali-linux-2017.3-amd64.iso –-user=patrick –-ask-password

Het is met WGET ook mogelijk om een volledige website te downloaden. Hiervoor kun je de -r of –recursive optie gebruiken, wget zal dan alle bestanden ýn alle subdirectories downloaden:

$ wget -r https://www.debian.org

Figuur 9. $ wget -r https://www.debian.org

Maar als je echt een volledige site wil downloaden kun je ook de -m of –mirror optie gebruiken.

$ wget -m http://www.debian.org

Figuur 10. $ wget -m http://www.debian.org

Meer informatie kun je altijd terugvinden in de manpages of de infopages