Differenze tra le versioni di "Guida wget"

Da RELug :: Reggio Emilia Linux User Group.
(Creata pagina con 'La seguente guida è stata realizzare per imparare a scaricare file, immagini, interi siti web tramite il tool '''[http://it.wikipedia.org/wiki/Wget wget]'''. == Introduzione ==…')
 
m
Riga 1: Riga 1:
 
La seguente guida è stata realizzare per imparare a scaricare file, immagini, interi siti web tramite il tool '''[http://it.wikipedia.org/wiki/Wget wget]'''.
 
La seguente guida è stata realizzare per imparare a scaricare file, immagini, interi siti web tramite il tool '''[http://it.wikipedia.org/wiki/Wget wget]'''.
 +
Il sistema su cui è stata implementata è '''Ubuntu 10.04 LTS x86_64'''.
  
 
== Introduzione ==
 
== Introduzione ==
Riga 196: Riga 197:
 
     link successivi. Da notare le immagini di Ubuntu non hanno l'intero URL specificato ma soltanto  
 
     link successivi. Da notare le immagini di Ubuntu non hanno l'intero URL specificato ma soltanto  
 
     una parte: la radice è specificata appunto in ''<base href="http://it.releases.ubuntu.com/10.04.1/">''
 
     una parte: la radice è specificata appunto in ''<base href="http://it.releases.ubuntu.com/10.04.1/">''
 +
 +
[[category:Guide]]

Versione delle 14:18, 29 set 2010

La seguente guida è stata realizzare per imparare a scaricare file, immagini, interi siti web tramite il tool wget. Il sistema su cui è stata implementata è Ubuntu 10.04 LTS x86_64.

Introduzione

Innanzitutto, che cos'è e a che cosa serve wget? E' un programma sotto licenza GNU GPL che permette di scaricare materiale dalla rete globale internet o da un rete locale. Supporta i seguenti protocolli: HTTP - HTTPS - FTP. Questo tool viene utilizzato tramite la linea di comando (ma esiste anche un'interfaccia grafica per Gnome chiamata gwget) e può tornare utile per svariati compiti, in particolar modo quando si ha a disposizione solamente una shell come nel caso della gestione di un server o di un accesso in remoto ad un computer.

Ottenere Wget

E' possibile trovarlo sulla pagina ufficiale: wget Inoltre è possibile scaricarlo direttamente via http o ftp.

Se si dispone di un sistema operativo GNU/Linux, solitamente viene installato con l'installazione base del sistema operativo stesso ma nel caso pessimo è possibile trovarlo nei propri repository (Synaptic, Adept, ecc.).
Per capire se è presente, digitare da terminale:

 aptitude search wget

Se a fianco di wget compare una i (installed) allora significa che è già installato nel sistema.

Scaricare un file

Il metodo più semplice per imparare ad utilizzare un programma è proprio quello di provarlo.

 Consiglio : utilizzate la cartella /tmp/ per fare le prove con wget, in questo modo tutto ciò
 che farete in quest'area verrà rimosso al prossimo riavvio.

Apriamo un terminale e digitiamo:

 wget it.wikipedia.org

Ciò che abbiamo fatto è stato scaricare nella cartella corrente la pagina principale di Wikipedia. E' possibile notare la facilità con cui viene scaricata una pagina web: lo stesso ragionamento lo si può fare con un file di qualsiasi tipo.

 wget http://ftp.gnu.org/gnu/wget/wget-latest.tar.bz2

Sia la pagina web che l'ultima versione di wget vengono scaricati allo stesso modo: <comando> <argomento>.

 Note
 1. Nel primo esempio è stato omesso http://: la risposta è sì, si può omettere tale parte.

Usare un file di URL

Passare tanti argomenti quanti sono i file da scaricare può diventare un'operazione onerosa e piuttosto stancante. Pensate ad esempio di dover scaricare le immagini ISO di diverse distribuzioni (Debian, Ubuntu, gNewSense, ecc.): non sarebbe più facile prendere un file e inserirci dentro tutti i vari URL e poi darlo in pasto a wget? Yeah! Possiamo fare anche questo!

La via più semplice è quella di creare un file testuale contenente gli URL dei file da scaricare, ogni indirizzo situato riga per riga. Come esempio, ecco il contenuto del file linkIso:

 http://it.releases.ubuntu.com/10.04.1/ubuntu-10.04.1-desktop-i386.iso
 http://it.releases.ubuntu.com/10.04.1/ubuntu-10.04.1-server-i386.iso
 http://it.releases.ubuntu.com/10.04.1/ubuntu-10.04.1-alternate-i386.iso
 http://it.releases.ubuntu.com/10.04.1/ubuntu-10.04.1-netbook-i386.iso

In linkIso sono presenti i link alle immagini ISO della distro Ubuntu, in particolare alla versione 10.04.1 del desktop, server, alternate e netbook. Per scaricarle in sequenza con wget dovremo soltanto digitare il seguente comando da shell:

 wget -i linkIso

Di conseguenza, verranno scaricate man mano tutte le immagino, proprio come volevamo. L'opzione -i permette di lavorare su un file semplice di testo in input.

E se volessimo inserire qualche commento? Oppure gestire file HTML? In nostro soccorso arriva l'opzione --force-html: in questo modo possiamo dare in pasto a wget anche dei file il cui contenuto è sintassi HTML. A questo punto prendiamo il file linkIso e trasformiamolo in un file HTML, inserendo dei commenti qua e là, e aggiungendo nuove distribuzioni da scaricare. Il contenuto del neonato linkIso.html sarà il seguente:

 < !-- 
 Lista delle immagini ISO delle seguenti distribuzioni GNU/Linux :
       - Debian
       - Ubuntu
       - Sabayon
       - gNewSense
       - Gentoo
       - Fedora
 	
 Le architetture supportate sono:
       - x86
       - amd64
       - ia64
       - x86_64
       - i686
 -->
 
 < !-- x86 -->
 
 < !-- DEBIAN 5.05 Lenny -->
 <base href="http://cdimage.debian.org/debian-cd/5.0.5/i386/iso-cd/">
 < !-- Net Install -->
 <a href="debian-505-i386-netinst.iso">
 
 < !-- UBUNTU 10.04.1 LTS -->
 <base href="http://it.releases.ubuntu.com/10.04.1/">
 < !-- Desktop -->
 <a href="ubuntu-10.04.1-desktop-i386.iso">
 < !-- Server -->
 <a href="ubuntu-10.04.1-server-i386.iso">
 < !-- Alternate -->
 <a href="ubuntu-10.04.1-alternate-i386.iso">
 < !-- Netbook -->
 <a href="ubuntu-10.04-netbook-i386.iso">
 
 < !-- SABAYON 5.3 -->
 <base href="ftp://na.mirror.garr.it/mirrors/sabayonlinux/iso/">
 < !-- Gnome -->
 <a href="Sabayon_Linux_5.3_x86_G.iso">
 < !-- KDE -->
 <a href="Sabayon_Linux_5.3_x86_K.iso">
 < !-- LXDE -->
 <a href="Sabayon_Linux_5.3_x86_LXDE.iso">
 < !-- XFCE -->
 <a href="Sabayon_Linux_5.3_x86_XFCE.iso">
 
 < !-- GNEWSENSE 2.3 -->
 <base href="http://cdimage.gnewsense.org/">
 <a href="gnewsense-livecd-deltah-i386-2.3.iso">
 
 < !-- GENTOO 10.1 -->
 <base href="http://mirrors.kernel.org/gentoo/releases/x86/autobuilds/current-iso/">
 < !-- Minimal -->
 <a href="install-x86-minimal-20100817.iso">
 
 < !-- FEDORA 13 -->
 <base href="http://fedora.mirror.garr.it/mirrors/fedora/linux/releases/13/Fedora/i386/iso/">
 < !-- Net Install -->
 <a href="Fedora-13-i386-netinst.iso">
 
 < !-- amd64 -->
 
 < !-- DEBIAN 5.05 Lenny -->
 <base href="http://cdimage.debian.org/debian-cd/5.0.5/amd64/iso-cd/">
 < !-- Net Install -->
 <a href="debian-505-amd64-netinst.iso">
 
 < !-- UBUNTU 10.04.1 LTS -->
 <base href="http://it.releases.ubuntu.com/10.04.1/">
 < !-- Desktop -->
 <a href="ubuntu-10.04.1-desktop-amd64.iso">
 < !-- Server -->
 <a href="ubuntu-10.04.1-server-amd64.iso">
 < !-- Alternate -->
 <a href="ubuntu-10.04.1-alternate-amd64.iso">
 
 < !-- SABAYON 5.3 -->
 <base href="ftp://na.mirror.garr.it/mirrors/sabayonlinux/iso/">
 < !-- Gnome -->
 <a href="Sabayon_Linux_5.3_amd64_G.iso">
 < !-- KDE -->
 <a href="Sabayon_Linux_5.3_amd64_K.iso">
 < !-- LXDE -->
 <a href="Sabayon_Linux_5.3_amd64_LXDE.iso">
 < !-- XFCE -->
 <a href="Sabayon_Linux_5.3_amd64_XFCE.iso">
 
 < !-- GENTOO 10.1 -->
 <base href="http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-iso/">
 < !-- Minimal -->
 <a href="install-amd64-minimal-20100819.iso">
 
 < !-- ia64 -->
 
 < !-- DEBIAN 5.05 Lenny -->
 <base href="http://cdimage.debian.org/debian-cd/5.0.5/ia64/">
 < !-- Net Install -->
 <a href="iso-cd/debian-505-ia64-netinst.iso">
 
 < !-- GENTOO 10.1 -->
 <base href="http://distfiles.gentoo.org/releases/ia64/autobuilds/current-iso/">
 < !-- Minimal -->
 <a href="install-ia64-minimal-20100826.iso">
 
 < !-- x86_64 -->
 
 < !-- FEDORA 13 -->
 <base href="http://fedora.mirror.garr.it/mirrors/fedora/linux/releases/13/Fedora/x86_64/iso/">
 < !-- Net Install -->
 <a href="Fedora-13-x86_64-netinst.iso">
 < !-- Live -->
 <base href="http://fedora.mirror.garr.it/mirrors/fedora/linux/releases/13/Live/x86_64/">
 <a href="Fedora-13-x86_64-Live.iso">
 
 < !-- i686 -->
 
 < !-- FEDORA 13 -->
 <base href="http://fedora.mirror.garr.it/mirrors/fedora/linux/releases/13/Live/i686/">
 < !-- Live -->
 <a href="Fedora-13-i686-Live.iso">

Il suddetto file è un ottimo esempio per scaricare tantissimi file, lasciando wget a lavorare mentre nel frattempo si compiono altre operazioni sulla stessa macchina.

 Consiglio : si può utilizzare l'opzione -b per mandare l'esecuzione di wget in background.
 Al termine dell'esecuzione, verrà scritto il resoconto in un file nominato wget-log nella cartella presente.
 Note
 1. In HTML il commento è delimitato dal costrutto ': per poter visionare il contenuto 
    corretto del file linkIso.html è stato necessario modificare il costrutto in < !-- -->.
 2. Il costrutto <base href="URL"> permette di impostare un link base di riferimento per i 
    link successivi. Da notare le immagini di Ubuntu non hanno l'intero URL specificato ma soltanto 
    una parte: la radice è specificata appunto in <base href="http://it.releases.ubuntu.com/10.04.1/">