Attivare un mirror per le immagini di USB/CD/DVD Debian
Per realizzare un sito mirror delle immagini dei CD Debian, occorre una macchina Linux o Unix-like con connessione ad internet permanente e affidabile. I siti mirror delle immagini dei CD contengono le immagini .iso dei CD e dei DVD di varie dimensioni, i file per jigdo (.jigdo e .template), i file per BitTorrent (.torrent) ed i codici di verifica delle immagini (SHA512SUMS* and SHA256SUMS*).
- Sito principale
- Creare un mirror tramite FTP e HTTP non è raccomandato
- Creare un mirror tramite rsync è accettabile
- Creare un mirror tramite jigdo-lite non è raccomandato
- Creare un mirror tramite jigdo-mirror è raccomandato
- Come diventare un push mirror
- Esclusione di alcuni file dal mirror
- Norme sui nomi e requisiti sulle dimensioni delle immagini .iso
- Registrare il mirror
Sito principale
Di seguito sono riportati gli indirizzi dei siti principali ma, se possibile, si prega di considerare la possibilità di creare un mirror a partire da un altro mirror più vicino (elenchi: HTTP/FTP, rsync). L'accesso al sito principale potrebbe essere impedito in prossimità del periodo di rilascio.
Inoltre fare attenzione all'enorme quantità di dati memorizzata in queste directory; si consulti la prossima sezione per i dettagli su come limitare la dimensione escludendo determinati file.
- Immagini di stable (aggiornate a ogni rilascio di stable):
https://cdimage.debian.org/debian-cd/
rsync://cdimage.debian.org/debian-cd/ - Immagini settimanali:
https://cdimage.debian.org/cdimage/weekly-builds/
rsync://cdimage.debian.org/cdimage/weekly-builds/ - Immagini giornaliere:
https://cdimage.debian.org/cdimage/daily-builds/
rsync://cdimage.debian.org/cdimage/daily-builds/
Creare un mirror tramite FTP e HTTP non è raccomandato
Non si dovrebbero usare FTP o HTTP per aggiornare i mirror. Questi metodi di trasferimento hanno un'alta probabilità di fallimento considerando l'enorme dimensione dei file.
Inoltre, HTTP e FTP non includono il controllo d'integrità dei dati scaricati: in questo modo è più difficoltoso individuare se i dati sono corrotti.
Creare un mirror tramite rsync è accettabile
Il programma rsync è una buona soluzione per la creazione di un mirror. È meno efficace delle altre soluzioni specifiche per Debian ma potrebbe essere più facile da configurare. Inoltre assicura che tutti i file sono trasferiti correttamente e che i metadati (p.es. le marcature temporali) sono sincronizzati con i file dati.
Consultare la sezione Esclusione di alcuni file dal mirror per vedere degli esempi delle opzioni --include e --exclude. L'elenco dei mirror rsync è disponibile su una pagina separata.
Si usino quantomeno le opzioni --times --links --hard-links --partial --block-size=8192. Questo manterrà la data di modifica, i symlink e gli hardlink, usando una dimensione del blocco di 8192 byte (il più efficiente per le immagini dei CD). Quando la data di modifica e la dimensione sono le medesime, rsync lascerà semplicemente il file com'è, quindi solo --times è realmente obbligatorio.
Creare un mirror tramite jigdo-lite non è raccomandato
Le versioni più recenti del programma jigdo-lite permettono di scaricare le immagini in blocchi. Nonostante questo, non si raccomanda l'uso di jigdo-lite per creare dei mirror Debian: usare jigdo-mirror.
Creare un mirror tramite jigdo-mirror è raccomandato
Questo vuol dire: fare i mirror dei file .iso con jigdo-mirror, poi (se si vuole anche fare un mirror con altri tipi di file, per esempio i file .jigdo e .template) eseguire rsync sulla directory per prelevare il resto. Gli script disponibili in questa pagina possono essere di aiuto per la configurazione.
Molte persone manutengono mirror Debian "regolari" (debian), o hanno accesso a tali mirror. Questo significa che i .deb inclusi nelle immagini USB/CD/DVD risultano già disponibili. Quindi, perché non si possono usare gli stessi file nelle immagini USB/CD/DVD?
jigdo-mirror è un programma che consente di generare un set
di immagini dei CD/DVD Debian usando i file da un mirror normale
,
più alcuni file template di jigdo.
Prima di tutto sono necessari i template di jigdo: consultare la pagina con le informazioni su jigdo per i collegamenti. Scaricare i file per ogni architettura per la quale si ha intenzione di creare le immagini.
Per configurare il programma, creare il file ~/.jigdo-mirror. Ecco un esempio:
jigdoDir="/dove_tieni_i_mirror/debian-cd/current/jigdo" imageDir="/dove_tieni_i_mirror/debian-cd/current/images" tmpDir="/dove_tieni_i_mirror/debian-cd/current/images" debianMirror="file:/dove_tieni_i_mirror/debian" include='i386/|sparc/|powerpc/|source/'; exclude='-1\.'
Le variabili include e exclude contengono la lista delle architetture per le quali si intende creare le immagini (sono ammesse espressioni regolari). Per maggiori informazioni, si veda la pagina di manuale di jigdo-mirror o il codice stesso (è uno script di shell molto commentato).
Dopo la configurazione, si lanci semplicemente jigdo-mirror, il quale dovrebbe fare tutto da solo. Produrrà parecchio output e probabilmente ci metterà un po' quindi consigliamo di lanciarlo e redirigere l'output su un file.
Come diventare un push mirror
Ogni volta che sono disponibili delle nuove immagini il sito centrale può inviare un messaggio ai suoi mirror per fare in modo che questi inizino immediatamente l'aggiornamento. In questo modo i nuovi dati sono "spinti" oltre che "presi" dai mirror durante i loro aggiornamenti quotidiani. Questo comporta una propagazione più rapida del rilascio delle nuove immagini.
Se si vuole che il proprio mirror entri a far parte di questo sistema di aggiornamento si consulti questa pagina.
Esclusione di alcuni file dal mirror
Per ridurre la quantità di spazio necessaria al mirror dei CD Debian, è possibile escludere alcuni file dalla procedura di creazione del mirror. Le istruzioni seguenti includono le opzioni di rsync ma possono essere utili anche si utilizza una utilità diversa per la creazione del mirror. Con rsync le opzioni --include e --exclude sono valutate nell'ordine in cui appaiono e la prima opzione che verifica il modello determina se un file deve essere incluso o escluso dal mirror.
- Esclusione dei sorgenti:
--exclude=source/
Evita che le immagini contenenti il codice sorgente siano incluse nel mirror. Si noti che alcune persone considerano inappropriato offrire su un server dei programmi binari rilasciati con licenza GPL senza offrire anche il codice sorgente di questi programmi sullo stesso server. - Esclusione delle immagini complete:
--include='*netinst*.iso'
--exclude='*.iso'
Esclude tutte le immagini di USB/CD/DVD per tutte le architetture tranne le immagini .iso per l'installazione da rete. Si raccomanda di includere sempre nel mirror queste immagini: considerata la loro dimensione sono estremamente utili! - Esclusione delle immagini complete delle architetture
non-i386:
--include='*netinst*.iso' --include='i386/**.iso'
--exclude='*.iso'
Come il precedente ma include tutte le immagini di USB/CD/DVD per l'architettura i386. - Esclusione delle immagini complete, eccetto dei CD da
1 a 3 per i386: --include='*netinst*.iso'
--include='i386/**-[1-3].iso' --exclude='*.iso'
L'insieme completo delle immagini per i386 potrebbe richiedere troppo spazio se si includono anche le immagini dei DVD e dei DVD a doppio strato. Questo esclude tutte le immagini .iso tranne le immagini per l'installazione da rete e i primi tre DVD per l'architettura i386. - Esclusione di più architetture a eccezione di i386:
--exclude=alpha/ --exclude=arm/ --exclude=hppa/ --exclude=hurd/
--exclude=ia64/ --exclude=m68k/ --exclude=mips/ --exclude=mipsel/
--exclude=powerpc/ --exclude=s390/ --exclude=sh/
--exclude=sparc/
Include solamente l'insieme delle immagini complete per i386, non include nessuno dei file .jigdo, .iso, ecc. delle altre architetture.
Controllare attentamente l'elenco delle architetture prima di fare la copia; l'elenco cambia e questi esempi potrebbero non essere aggiornati!
Norme sui nomi e requisiti sulle dimensioni delle immagini .iso
Le diverse versioni delle immagini .iso sono distinguibili in base al loro nome, questo permette di ridurre i tipi di immagini sul proprio mirror:
- *-netinst.iso: un'immagine per ciascuna architettura, fino a 500 MB.
- *-dvd.iso (DVD singolo strato): più immagini solo per i386, ciascuna grande fino a 4482 MB. Per buster ci sono fino a 16 immagini d DVD per architettura. I server Debian forniscono solo un piccolo insieme di immagini di DVD in formato .iso da scaricare: 3 per amd64, 3 per i386 e 1 per ogni altra architettura. Le immagini rimanenti sono fornite solo tramite jigdo.
- *-bd.iso (Blu-Ray singolo-strato: come prima a eccezione del fatto la dimensione delle singole immagini può arrivare a 23 GB. Queste immagini sono disponibili solo tramite jigdo per pochissime architetture (amd64 e i386) e i sorgenti.
- *-dlbd.iso (Blu-Ray doppio-strato): come prima a eccezione del fatto la dimensione delle singole immagini può arrivare a 48 GB. Queste immagini sono disponibili solo tramite jigdo per pochissime architetture (amd64 e i386) e i sorgenti.
- *-STICK16GB*.iso (immagini per USB 16GB): come prima a eccezione del fatto la dimensione delle singole immagini può arrivare a 16 GB. Queste immagini sono disponibili solo tramite jigdo per pochissime architetture (amd64 e i386).
Registrare il mirror
Per rendere il mirror utile per un maggior numero di persone, è possibile registrarlo nella nostra lista dei mirror, come questa o questa. Comunque, visto che le immagini complete sono file molto grandi, l'aggiunta del proprio mirror alla nostra lista, potrebbe provocare parecchi gigabyte di traffico di rete giornaliero.
Si può anche registrare il proprio mirror sia compilando la maschera per l'aggiunta di mirror (notare che i campi CDImage-* sono quelli importanti), o mandando una e-mail a debian-cd@lists.debian.org.
Apprezziamo tutti i nuovi mirror di immagini dei CD. Grazie in anticipo!