Wie erstelle ich ein lokales Repository mit apt-Mirror und Mirrorkit?

9

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

apt-mirrorermöglicht die selektive Auswahl von Teilen des Repositorys. mirrorkitbietet 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 einschließen:

  • Main, Restricted, Universe, Multiverse, All Ubuntu und Lubuntu schließen jedoch andere Derivate wie Kubuntu und Xubuntu aus.

  • Nur AMD64 und i386, aber andere Architekturen ausschließen.

  • 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 und nicht von den Hauptarchiven heruntergeladen wird.

Wie kann ich ein lokales Repository mit apt-mirrorund mirrorkitfür eine ausgewählte Architektur, Version oder Ubuntu-Variante erstellen ?

user75798
quelle
Kubuntu ausschließen? Sie meinen, die Kubuntu-ISOs ausschließen oder ein Paket ausschließen, das von Kubuntu verwendet wird?
Muru
Schließen Sie beispielsweise die Kubuntu- und Xubuntu-ISOs aus. Vielleicht gibt es sehr viele davon (Precise Kubuntu ARM, Precise Kubuntu i386, Quantal Kubuntu ARM, Quantal Kubuntu i386 ...) und der erste Spiegel-Download könnte ohne diese ISOs schneller abgeschlossen werden. Aber wenn es nur noch ein paar Gigabyte sind, ist es vielleicht nicht so wichtig.
user75798
1
Die ISOs werden getrennt von den Paketen gehostet. Sie können apt-Mirror also wie gewohnt verwenden, um die Paketrepositorys zu spiegeln, und ein anderes Tool für die ISOs verwenden. Die Frage wird dann zu geeigneten Ausschlussfiltern für dieses Tool (z. B. rsync).
Muru
"Sie können Apt-Mirror wie gewohnt verwenden." Es tut mir leid, ich weiß nicht, wie ich das machen soll. Genau das möchte ich erklären.
user75798

Antworten:

9

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.

muru
quelle
1
Ist es wirklich deb-amd64oder deb arch=amd64? Letzteres kann ich nur in der Manpage finden
Anwar
1
@Anwar der erstere. Letzteres ist für sources.list, das ein ähnliches, aber nicht identisches Format hat. Siehe manpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.html , wo deb-powerpcim Beispiel.
20.
Oh! Ich hatte keine Erfahrung mit Apt-Mirror. Ich dachte, es wäre für sources.list. Danke
Anwar
2

Ich empfehle apt-cacher für diejenigen mit begrenztem Platz oder für diejenigen mit exorbitanten Internetpreisen in ihren Ländern.

apt-Mirror benötigt angeblich mindestens 15 GB für jede Version (32/64 Bit) der gewünschten Distribution. apt-cacher verwendet nur die von Ihnen installierten Pakete.

Weitere Informationen / Anweisungen finden Sie unter Erstellen eines lokalen Ubuntu-Repositorys mit Apt-Mirror und Apt-Cacher .

Nyxee
quelle