Differenze tra le versioni di "Guida wget"
MiB (discussione | contributi) (Annullata la modifica 615 di 98.142.220.11 (discussione)) |
(pagina ripristinata) |
||
Riga 2: | Riga 2: | ||
Il sistema su cui è stata implementata è '''Ubuntu 10.04 LTS x86_64'''. | 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 '''[http://it.wikipedia.org/wiki/GNOME Gnome]''' chiamata '''[http://projects.gnome.org/gwget/ 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 == | == Ottenere Wget == | ||
Riga 35: | Riga 39: | ||
'''1.''' Nel primo esempio è stato omesso ''http://'': la risposta è sì, si può omettere tale parte. | '''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/">'' | ||
+ | |||
+ | [[category:Guide]] |
Versione attuale delle 10:14, 26 apr 2011
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/">