Creare un mirror dell'archivio Debian

Se creare un mirror

I nuovi mirror sono sempre ben accetti ma ogni potenziale gestore di un nuovo mirror dovrebbe rispondere alle seguenti domande prima di avviare un proprio mirror:

Cosa mettere nel mirror

La pagina principale dei mirror elenca gli archivi disponibili.

Visitare la pagina delle dimensioni dei mirror per informazioni più precise riguardo la grandezza dei mirror.

La directory debian-security/ contiene solamente gli aggiornamenti di sicurezza rilasciati dal Debian Security Team. Nonostante sembri interessante, non è consigliabile agli utenti di recuperare gli aggiornamenti di sicurezza da un mirror, invece è raccomandato scaricarli dal servizio distribuito security.debian.org. Si raccomanda di not fare il mirror di questo repository.

Da dove sincronizzarsi

ftp.debian.org non è la locazione canonica dei pacchetti Debian, invece è solamente uno dei tanti server che sono aggiornati da un server interno di Debian. Ci sono molti mirror pubblici che gestiscono rsync da cui poter fare la sincronizzazione. Si raccomanda di utilizzarne uno rete-geograficamente vicino.

Si deve evitare di scegliere come fonte un qualsiasi nome che viene risolto in più di un indirizzo (come ftp.us.debian.org) perché nel caso che un server non sia disponibile la sincronizzazione potrebbe avvenire con server in stato diverso diverso da quello con cui si è solitamente collegati e quindi perdere la sincronia. Notare anche che l'unico servizio di cui è garantita l'esistenza per ftp.CC.debian.org è HTTP. A chi vuole fare il mirror usando rsync si consiglia di scegliere il nome della macchina che attualmente sta fornendo il servizio per ftp.CC.debian.org (consultare la lista /debian/project/trace sul server per conoscerlo).

Come sincronizzarsi

Il metodo raccomandato per sincronizzarsi è l'insieme di script ftpsync, disponibile in tre formati:

Si raccomanda di non usare script fatti da soli né di usare direttamente rsync. L'uso di ftpsync assicura che gli aggiornamenti sono in modo da non confondere apt, in particolare ftpsync elabora traduzioni, contenuti e altri file con metadati in modo che apt non trovi errori di validazione nel caso un utente esegua un aggiornamento mentre è in corso la sincronizzazione del server. Inoltre produce anche un file di traccia con molte informazioni utili per determinare se il mirro funziona, quali architetture espone e da dove si sincronizza.

Mirroring parziale

Considerando le già grandi dimensioni dell'archivio Debian, potrebbe essere consigliabile fare il mirror solo di parti dell'archivio. I mirror pubblici dovrebbero esporre tutte le varianti (testing, unstable, ecc.) ma potrebbero restringere l'insieme delle architeture. Proprio per questo scopo il file di configurazione di ftpsync dispone delle impostazioni ARCH_EXCLUDE e ARCH_INCLUDE.

Quando sincronizzarsi

L'archivio principale viene aggiornato quattro volte al giorno. I mirror solitamente iniziano la sincronizzazione intorno alle 03:00, 09:00, 15:00 e 21:00 (tutti orari UTC) ma questi non sono mai orari definitivi e ogni mirror non si dovrebbe fissare su quelli.

Il mirror andrebbe aggiornato dopo qualche ora rispetto agli aggiornamenti dell'archivio principale. È opportuno controllare se il mirror utilizzato per la sincronizzazione crea un file timestamp nella sua directory project/trace/. Il file di timestamp sarà chiamato come il sito, e conterrà l'orario di completamento dell'ultimo aggiornamento. Aggiungere un paio di ore da quell'orario (per essere sicuri) e avviare la sincronizzazione a quell'ora.

È essenziale che il proprio mirror sia sincronizzato con l'archivio principale. Un minimo di 4 aggiornamenti ogni 24 ore garantiranno che il proprio mirror sia un vero specchio dell'archivio. I mirror non sincronizzati con l'archivio principale non saranno inseriti nell'elenco ufficiale dei mirror.

La maniera più semplice per sincronizzarsi ogni giorno è usare cron. Consultare man crontab per dettagli.

Notare che se l'aggiornamento del proprio mirror viene attivato tramite il meccanismo di push, allora questa operazione non è necessaria.

Avvio del mirroring con push

Il push mirroring è una forma di mirroring basata su rsync che è stata sviluppata per minimizzare i tempi che impiegano i cambiamenti dell'archivio a raggiungere i vari mirror. Il server di origine usa un trigger SSH per avvisare i mirror destinatari di aggiornarsi. Per una descrizione più dettagliata del funzionamento, perché è più sicuro e come creare un push mirror, consultare la spiegazione completa.

Ulteriori impostazioni raccomandate

I mirror pubblici dovrebbero rendere disponibile l'archivio Debian in HTTP come /debian.

Inoltre, assicurarsi che sia possibile vedere l'elenco della directory (con i nomi dei file completi) e che funzionino i collegamenti simbolici. Con Apache dovrebbe essere sufficiente:

<Directory /percorso/al/vostro/mirror/debian>
   Options +Indexes +SymlinksIfOwnerMatch
   IndexOptions NameWidth=* +SuppressDescription
</Directory>

Come aggiungere un mirror alla lista dei mirror

Per inserire il proprio mirror nell'elenco ufficiale è necessario:

Una volta che il mirror è pronto, deve essere registrato in Debian per essere inserito nella lista dei mirror. Gli invii delle registrazioni possono essere effettuati utilizzando il nostro semplice form web.

Problemi o domande possono essere inoltrati a [email protected].

Liste di messaggi

Ci sono due liste di messaggi, entrambe in lingua inglese, sui mirror Debian: debian-mirrors-announce e debian-mirrors. Tutti i gestori di mirror sono invitati a iscriversi alla lista degli annunci perché è usata per tutti gli annunci importanti. Questa lista è moderata e non ha molto traffico. La seconda lista è destinata alla discussione generale ed è aperta a tutti.

Per qualsiasi domanda che non abbia trovato risposta in queste pagine web, è possibile contattaci all'indirizzo [email protected] oppure tramite il canale IRC #debian-mirrors su irc.debian.org.

Note per mirror privati (parziali)

A chi vuol gestire un mirror solo per il proprio sito e si ha bisogno solo di esporre un sottoinsieme delle varianti (per esempio stable), si consiglia di usare debmirror.