Il repository CD e il repository software sono due componenti distinti (hanno persino pagine separate del Launchpad: cdmirror e archivemirrors ). Pertanto, rispecchiarli sono due compiti distinti. Inoltre, mentre le varie versioni hanno diverse cartelle nel repository CD, condividono un repository software. Quindi puoi specchiare selettivamente le immagini per gusto, ma non il software. Per il repository software, è possibile eseguire il mirroring selettivo in base a:
- rilasciare (
trusty
, precise
ecc)
- Architettura (
amd64
, i386
ecc)
- tipo di pacchetto (binario [
deb
] vs source [ deb-src
])
- canali (
trusty
, trusty-updates
, trusty-backports
, etc.)
- sezioni (
main
, multiverse
ecc)
Per eseguire il mirroring del repository software, utilizzare apt-mirror
.
apt-mirror
è configurato usando /etc/apt/mirror.list
. Ha un formato molto simile a sources.list
. Il file di configurazione installato dal pacchetto ha alcune opzioni commentate che elencano i loro valori predefiniti. Se lo desideri, puoi decommentarli e modificarli.
Per eseguire il mirroring di un repository, è necessario aggiungere una riga mirror.list
come si farebbe per sources.list
:
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
L'impostazione predefinita è il mirroring solo dell'architettura dell'host, quindi se si utilizza Ubuntu a 64 bit, amd64
verrà eseguito solo il mirroring. Devi aggiungere un'altra riga del modulo:
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
E per i pacchetti sorgente:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Se stai cercando un mirror ragionevolmente completo, queste linee sarebbero il minimo (consiglierei anche il -updates
canale):
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
Infine, è necessario aggiungere una clean
riga in modo che i pacchetti non più disponibili nel repository vengano filtrati per la rimozione:
clean http://us.archive.ubuntu.com/ubuntu
Supponi che le tue variabili siano così (i valori predefiniti):
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set cleanscript $var_path/clean.sh
Poi:
- Il repository verrà eseguito il mirroring di
$mirror_path/parent-hostname/directory
(quindi /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
)
- Lo
clean.sh
sarà (che sarà un insieme di rm
comandi per eliminare pacchetti e directory obsoleti) /var/spool/apt-mirror/var/clean.sh
.
- I registri andranno a
/var/spool/apt-mirror/var
.
Il apt-mirror
pacchetto installa un cron job ( /etc/cron.d/apt-mirror
), che dovresti modificare per abilitare (decommentando la riga che contiene /usr/bin/apt-mirror
). Dovresti anche aggiungere un cron job per l'esecuzione clean.sh
(lo eseguo settimanalmente).
Ovviamente, dovresti sostituirlo http://us.archive.ubuntu.com./ubuntu
con qualunque specchio tu preferisca.