it-swarm.com.de

Wie erstelle ich ein lokales Repository mit apt-mirror und mirrorkit?

Ein lokales Repository kann sehr nützlich sein. Es ist möglich, rsync zu verwenden, um einen Repository-Spiegel zu erstellen. Dies führt jedoch dazu, dass alle Versionen heruntergeladen werden, auch ältere, und dies würde Folgendes beinhalten Dateien für Architekturen, die möglicherweise nicht benötigt werden.

apt-mirror ermöglicht die selektive Auswahl von Teilen des Repositorys. mirrorkit bietet ein Front-End für apt-mirror.

Was ist der beste Weg, um einen lokalen Repository-Spiegel für ausgewählte Teile des Ubuntu-Archivs zu erstellen?

Zum Beispiel könnte man Folgendes einbeziehen:

  • Main, Restricted, Universe, Multiverse, All Ubuntu und Lubuntu, jedoch ohne andere Derivate wie Kubuntu und Xubuntu.

  • Nur AMD64 und i386 schließen aber andere Architekturen aus.

  • Nur Trusty Tahr, aber kein Precise Penguin oder Utopic Unicorn.

Möglicherweise möchten Sie den Prozess so konfigurieren, dass er von einem lokalen Spiegel heruntergeladen wird und nicht von den Hauptarchiven.

Wie kann ich ein lokales Repository mit apt-mirror und mirrorkit für eine ausgewählte Architektur, ein Release oder eine Ubuntu-Variante erstellen?

8
user75798

Das CD-Repository und das Software-Repository sind zwei unterschiedliche Komponenten (sie haben sogar separate Launchpad-Seiten: cdmirrors und archivemirrors ). Das Spiegeln ist daher eine von zwei Aufgaben. Während die verschiedenen Versionen unterschiedliche Ordner im CD-Repository haben, teilen sie sich ein Software-Repository. Sie können also die Bilder nach Geschmack selektiv spiegeln, nicht jedoch die Software. Für das Software-Repository können Sie selektiv spiegeln, basierend auf:

  • release (trusty, precise, etc.)
  • architektur (_AMD64_, _i386_ usw.)
  • pakettyp (binär [deb] vs. Quelle [_deb-src_])
  • kanäle (trusty, _trusty-updates_, _trusty-backports_ usw.)
  • abschnitte (main, multiverse usw.)

Verwenden Sie apt-mirror , um das Software-Repository zu spiegeln.

_apt-mirror_ wird mit /etc/apt/mirror.list konfiguriert. Es hat ein Format, das sources.list sehr ähnlich ist. 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 kommentieren und ändern.

Um ein Repository zu spiegeln, müssen Sie _mirror.list_ eine Zeile hinzufügen, wie Sie es für _sources.list_ tun würden:

_deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
_

Standardmäßig wird nur die Host-Architektur gespiegelt. Wenn Sie also auf einem 64-Bit-Ubuntu arbeiten, wird nur _AMD64_ 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 Kanal _-updates_ 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 clean -Zeile 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 lauten wie folgt (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 in _$mirror_path/parent-hostname/directory_ (also _/var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu_) gespiegelt.
  • Der _clean.sh_ (dies ist eine Reihe von rm Befehlen zum Löschen veralteter Pakete und Verzeichnisse) ist _/var/spool/apt-mirror/var/clean.sh_.
  • Die Protokolle gehen zu _/var/spool/apt-mirror/var_.

Das Paket _apt-mirror_ installiert einen Cron-Job (_/etc/cron.d/apt-mirror_), den Sie zum Aktivieren bearbeiten sollten (indem Sie die Zeile mit _/usr/bin/apt-mirror_ auskommentieren). Sie sollten auch einen Cron-Job hinzufügen, um _clean.sh_ auszuführen (ich führe ihn wöchentlich aus).

Natürlich sollten Sie _http://us.archive.ubuntu.com./ubuntu_ durch den von Ihnen bevorzugten Spiegel ersetzen.

9
muru

Ich empfehle apt-cacher für diejenigen mit begrenztem Platzangebot oder für diejenigen, die in ihren Ländern überdurchschnittliche Internetpreise haben.

angeblich benötigt apt-mirror mindestens 15 GB für jede Version (32/64 Bit) der gewünschten Distribution. apt-cacher verwendet nur die Pakete, die Sie installiert haben.

Lesen Sie Erstellen Sie ein lokales Ubuntu-Repository mit Apt-Mirror und Apt-Cacher für weitere Details/Anweisungen.

2
nyxee