Jigdo
Versioni Compatibili Debian 4 "etch" Debian 5 "lenny" Debian 6 "squeeze" ERRORE: utilizzare "unstable_2024" come parametro al posto di " Sid "! Vedi qui. |
Introduzione
Jigdo (Home Page) è uno strumento veramente potente: permette di scaricare i singoli file che compongono una ISO e di creare quest'ultima a partire da quanto scaricato.
Anche se può sembrare una cosa inutile, in questo caso risulta una delle alternative più veloci e semplici (questo lo vedremo in seguito) per scaricare e mantenere aggiornate le ISO di Debian.
Installazione
Jigdo è, ovviamente, disponibile come pacchetto Debian:
# aptitude install jigdo-file
Per gli utenti di altre distribuzioni è scaricabile presso la Home Page del progetto, dove sono presenti anche le versioni per gli altri sistemi operativi.
Come funziona
Il principio è molto semplice: vengono scaricati i singoli file facenti parte dell'immagine del CD/DVD per poi riassemblarli nell'immagine finale. Questo porta parecchi vantaggi, sia per chi deve scaricare l'immagine, sia per chi rende disponibili i file da scaricare:
Per chi scarica:
- dopo il primo download vengono scaricati solo i pacchetti aggiornati;
- minor banda richiesta;
- possibilità di interruzione del processo;
- in caso di interruzione prolungata, i file non aggiornati verranno riutilizzati;
- un mirror dei repository Debian, in questo caso, può essere usato sia come un normale mirror, sia con Jigdo per creare le immagini.
Per i mirror:
- vengono gestiti file piccoli;
- quando ci sono degli aggiornamenti questi non comportano il download di tutta l'immagine, ma solo dei file che hanno subito modifiche;
- minor carico in caso di utilizzo di Jigdo da parte degli utenti;
- un mirror dei repository Debian, in questo caso, può essere usato sia come un normale mirror, sia con Jigdo per creare le immagini.
Primo download di una ISO
I file .jigdo
sono reperibili direttamente sul sito Debian.Org, esattamente a questa pagina.
Supponiamo di voler scaricare il primo CD di Squeeze, con KDE; i passi da seguire sono i seguenti:
- creare una directory di lavoro:
$ mkdir squeeze $ cd squeeze == Primo Download di una iso == Il primo download di una iso è semplicissimo: una volta posizionati nella directory contenente i file <code>.jigdo</code>, è sufficiente lanciare il comando <pre> $ jigdo-lite debian-31r0a-i386-binary-1.jigdo
(in questo caso si suppone di voler scaricare il primo CD di Sarge, in linea con l'esempio precedente).
Verranno poste alcune domande, che ci permetteranno di personalizzare il processo di download dei file.
If you already have a previous version of the CD you are downloading, jigdo can re-use files on the old CD that are also present in the new image, and you do not need to download them again. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start downloading the remaining files. Files to scan:
Questa opzione ci sarà molto utile in futuro, per ora, a meno che non si dispone di un cd di Sarge, non è necessario rispondere. Continuiamo con il processo premendo [invio].
----------------------------------------------------------------- The jigdo file refers to files stored on Debian mirrors. Please choose a Debian mirror as follows: Either enter a complete URL pointing to a mirror (in the form `ftp://ftp.debian.org/debian/'), or enter any regular expression for searching through the list of mirrors: Try a two-letter country code such as `de', or a country name like `United States', or a server name like `sunsite'. Debian mirror [http://debian.fastweb.it/debian/]:
La seconda domanda ci permette di scegliere il mirror da cui scaricare. Consiglio vivamente di scegliere un mirror italiano, così da alleggerire il carico di quelli centrali. In questo caso è stato scelto http://debian.fastweb.it/debian/, se non si conoscono gli indirizzi esatti dei mirror, è possibile inserire semplicemente le due lettere del paese (nel nostro caso it).
----------------------------------------------------------------- Merging parts from `file:' URIs, if any... Found 0 of the 1192 files required by the template Will not create image or temporary file - try again with different input files
La configurazione pre-download è terminata, Jigdo provvederà, ora, a scaricare tutti i file necessari per la creazione dell'immagine. Ogni 10 pacchetti verrà mostrata una scritta come quella riportata sopra, che ci informerà sull'andamento del download. Sempre ogni 10 file scaricati, verrà aggiornata l'immagine (che verrà creata dopo i primi 10 pacchetti correttamente scaricati):
FINISHED --11:17:54-- Downloaded: 1,602,276 bytes in 10 files Found 10 of the 1192 files required by the template 57% 374622k/655444k writing image
Il download continuerà fino a quanto non saranno scaricati tutti i file componenti l'immagine.
FINISHED --19:51:35-- Downloaded: 482,660 bytes in 2 files Found 2 of the 2 files required by the template Successfully created `debian-31r0a-i386-binary-1.iso' ----------------------------------------------------------------- Finished!
Bene, ora i file necessari sono stati scaricati ed è stata creata l'immagine debian-31r0a-i386-binary-1.iso
.
Ora viene eseguito un check aggiuntivo, per verificare l'integrità dell'immagine.
The fact that you got this far is a strong indication that `debian-31r0a-i386-binary-1.iso' was generated correctly. I will perform an additional, final check, which you can interrupt safely with Ctrl-C if you do not want to wait. OK: Checksums match, image is good!
L'immagine è stata scaricata e costruita senza errori, ora possiamo masterizzarla e utilizzarla normalmente.
Degna di nota è la possibilità di interruzione del processo, che può essere ripreso in seguito esattamente dal punto in cui è stato interrotto. Ogni volta che si ricomincerà a scaricare l'immagine, si verrà avvisati dell'esistenza della directory debian-31r0a-i386-binary-1.iso.tmpdir
(il nome è relativo al primo cd di Sarge):
The temporary directory `debian-31r0a-i386-binary-1.iso.tmpdir' already exists. Its contents ARE GOING TO BE DELETED (possibly after having been copied to the image, if they are of interest for it). If you do not want this to happen, press Ctrl-C now. Otherwise, press Return to proceed. :
In questo caso possiamo tranquillamente ignorare il messaggio premendo [invio] e continuare con il download.
Aggiornamento di una iso
L'aggiornamento di una iso è un processo quasi identico a quello descritto nel paragrafo precedente.
È necessario scaricare i file .jigdo
e .template
aggiornati (sostituendoli a quelli vecchi) e seguire una delle seguenti vie per recuperare i file ancora validi presenti nella vecchia iso (così da velocizzare al massimo il processo di download).
Supponiamo di aver scaricato Sarge, e che sia stata rilasciato un aggiornamento (3.1r1
). Con Jigdo possiamo evitare di scaricare tutte le immagini, scaricando solamente i file che sono stati aggiornati.
Da una .iso
Se abbiamo conservato l'iso dei cd è possibile montarle in loop ed utilizzarle come se fosse un normale cd. Per montare una immagine in loop dobbiamo essere root ed avere una directory dove far montare il contenuto (supponiamo /mnt/loop/
).
# mount -o loop debian-31r0a-i386-binary-1.iso /mnt/loop
se tutto è andato bene, in /mnt/loop
troveremo il contenuto del primo cd di Sarge:
# ls -l /mnt/loop/ total 315 -r--r--r-- 1 root root 11100 Jun 7 13:50 README.html -r--r--r-- 1 root root 83434 Jun 4 20:04 README.mirrors.html -r--r--r-- 1 root root 45512 Jun 4 20:04 README.mirrors.txt -r--r--r-- 1 root root 5926 Jun 7 13:50 README.txt -r--r--r-- 1 root root 60 Jun 7 13:50 autorun.bat -r--r--r-- 1 root root 29 Jun 7 13:50 autorun.inf lr-xr-xr-x 1 root root 1 Jun 7 13:50 debian -> . dr-xr-xr-x 3 root root 2048 Jun 7 13:50 dists dr-xr-xr-x 5 root root 4096 Jun 7 13:50 doc dr-xr-xr-x 4 root root 2048 Jun 7 13:50 install dr-xr-xr-x 2 root root 4096 Jun 7 13:50 isolinux -r--r--r-- 1 root root 156641 Jun 7 14:17 md5sum.txt dr-xr-xr-x 2 root root 2048 Jun 7 13:50 pics dr-xr-xr-x 4 root root 2048 Jun 7 13:50 pool dr-xr-xr-x 3 root root 2048 Jun 7 13:50 tools
Ora scarichiamo i nuovi file .jigdo
e .template
come se si trattasse di un nuovo download e procediamo come sopra, con l'unico accorgimento di indicare, /mnt/loop
come risposta alla seguente domanda:
If you already have a previous version of the CD you are downloading, jigdo can re-use files on the old CD that are also present in the new image, and you do not need to download them again. Mount the old CD ROM and enter the path it is mounted under (e.g. `/mnt/cdrom'). Alternatively, just press enter if you want to start downloading the remaining files. Files to scan: /mnt/loop
Il programma si occuperà di prendere i file riutilizzabili, evitando di riscaricarli. Il resto del processo si svolge come per un download normale.
Da un Cd/Dvd
Se invece si dispone solo dell'immagine masterizzata è sufficiente montarle il CD/DVD ed indicare, alla richiesta di un percorso in cui cercare dei file riutilizzabili il punto di mount del lettore CD/DVD.
Configurazione
Jigdo salva alcune impostazioni nel file ~/.jigdo-lite
.
Eccone un esempio:
jigdo='' debianMirror='http://debian.fastweb.it/debian/' tmpDir='.' jigdoOpts='--cache jigdo-file-cache.db' wgetOpts='--passive-ftp --dot-style=mega --continue --timeout=30 --limit-rate=110K' scanMenu='/store3/Sarge/loop/ '
La personalizzazione più importante è certamente quella relativa a wget: è possibile specificare le opzioni da passare a questo programma tramite la voce wgetOpts. Nel mio caso ho aggiunto --limit-rate=110K
così da limitare la velocità di download a 110Kbyte, evitando la saturazione della banda.
Link
Conclusioni
Anche se a prima vista Jigdo sembra uno strumento complesso e macchinoso, non è così. Jigdo rappresenta uno strumento veloce e utile per il download di immagini .iso e per il loro aggiornamento, permettendo di risparmiare molto tempo dopo il primo download.
A tutti gli scettici consiglio di scaricarlo per provare... diventerà uno strumento fondamentale!
Autore: MaXeR