Das CD-Repository und das Software-Repository sind zwei unterschiedliche Komponenten (sie haben sogar separate Launchpad-Seiten: CD-Spiegel und Archiv-Spiegel ). Daher sind das Spiegeln zwei unterschiedliche Aufgaben. Während die verschiedenen Varianten unterschiedliche Ordner im CD-Repository haben, teilen sie sich ein Software-Repository. Sie können also die Bilder selektiv nach Geschmack spiegeln, nicht jedoch die Software. Für das Software-Repository können Sie selektiv spiegeln, basierend auf:
- Freisetzung (
trusty, precise, etc.)
- Architektur (
amd64, i386, etc.)
- Pakettyp (binär [
deb] vs Quelle [ deb-src])
- Kanäle (
trusty, trusty-updates, trusty-backports, etc.)
- Abschnitte (
main, multiverse, etc.)
Verwenden Sie zum Spiegeln des Software-Repositorys apt-mirror.
apt-mirrorwird konfiguriert mit /etc/apt/mirror.list. Es hat ein sehr ähnliches Format sources.list. Die vom Paket installierte Konfigurationsdatei enthält einige auskommentierte Optionen, in denen die Standardeinstellungen aufgeführt sind. Wenn Sie möchten, können Sie diese auskommentieren und ändern.
Um ein Repository zu spiegeln, müssen Sie eine Zeile hinzufügen, mirror.listwie Sie es für Folgendes tun würden sources.list:
deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Standardmäßig wird nur die Architektur des Hosts amd64gespiegelt. Wenn Sie also ein 64-Bit-Ubuntu verwenden, wird nur gespiegelt. Sie müssen eine weitere Zeile des Formulars hinzufügen:
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Und für Quellpakete:
deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
Wenn Sie nach einem einigermaßen vollständigen Spiegel suchen, sind diese Zeilen das Minimum (ich würde auch den -updatesKanal empfehlen ):
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
Schließlich müssen Sie eine cleanZeile hinzufügen , damit Pakete, die nicht mehr im Repository verfügbar sind, zum Entfernen gefiltert werden:
clean http://us.archive.ubuntu.com/ubuntu
Angenommen, Ihre Variablen sind also (die Standardeinstellungen):
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
Dann:
- Das Repository wird gespiegelt auf
$mirror_path/parent-hostname/directory(so /var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu)
- Das
clean.sh(das ist eine Reihe von rmBefehlen zum Löschen veralteter Pakete und Verzeichnisse) wird sein /var/spool/apt-mirror/var/clean.sh.
- Die Protokolle gehen zu
/var/spool/apt-mirror/var.
Das apt-mirrorPaket installiert einen Cron-Job ( /etc/cron.d/apt-mirror), den Sie bearbeiten sollten, um ihn zu aktivieren (indem Sie die Zeile mit dem Kommentar auskommentieren /usr/bin/apt-mirror). Sie sollten auch einen Cron-Job zum Ausführen hinzufügen clean.sh(ich führe ihn wöchentlich aus).
Natürlich sollten Sie durch einen http://us.archive.ubuntu.com./ubuntubeliebigen Spiegel ersetzen, den Sie bevorzugen.