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, preciseecc)
- Architettura (
amd64, i386ecc)
- tipo di pacchetto (binario [
deb] vs source [ deb-src])
- canali (
trusty, trusty-updates, trusty-backports, etc.)
- sezioni (
main, multiverseecc)
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.listcome 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, amd64verrà 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 -updatescanale):
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 cleanriga 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.shsarà (che sarà un insieme di rmcomandi per eliminare pacchetti e directory obsoleti) /var/spool/apt-mirror/var/clean.sh.
- I registri andranno a
/var/spool/apt-mirror/var.
Il apt-mirrorpacchetto 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./ubuntucon qualunque specchio tu preferisca.