Lokale Repositories mit ‚apt-mirror‘ in Ubuntu- und Debian-Systemen einrichten

Wenn heute der Datenverkehr und die Internetgeschwindigkeiten selbst für gewöhnliche Internetkunden in den Größenordnungen von Gigabyte pro Sekunde gemessen werden, fragen Sie sich vielleicht, was der Zweck ist, einen lokalen Repository-Cache im LAN einzurichten?

Setup Local Repositories in Ubuntu

Einer der Gründe besteht darin, den Internet-Bandbreitenverbrauch zu reduzieren und die Geschwindigkeit beim Abrufen von Paketen aus dem lokalen Cache zu erhöhen. Aber ein weiterer wichtiger Grund sollte auch die Privatsphäre sein. Stellen Sie sich vor, dass die Clients Ihrer Organisation im Internet eingeschränkt sind, aber ihre Linux-Systeme regelmäßige Systemupdates für Software und Sicherheit benötigen oder einfach neue Softwarepakete benötigen. Um es weiter zu verdeutlichen, ein Server, der in einem privaten Netzwerk läuft, geheime sensible Informationen nur für ein eingeschränktes Netzwerksegment enthält und niemals dem öffentlichen Internet ausgesetzt werden sollte.

Dies sind nur einige Gründe, warum Sie einen lokalen Repository-Spiegel auf Ihrem LAN einrichten sollten, einen Edge-Server für diese Aufgabe delegieren und interne Clients konfigurieren sollten, um Software aus seinem Cache-Spiegel abzurufen.

Ubuntu bietet das Paket apt-mirror zur Synchronisierung des lokalen Caches mit den offiziellen Ubuntu-Repositories an, einen Spiegel, der über einen HTTP– oder FTP-Server konfiguriert werden kann, um seine Softwarepakete mit lokalen Systemclients zu teilen.

Für einen vollständigen Spiegelcache benötigt Ihr Server mindestens 120G freien Speicherplatz, der für lokale Repositories reserviert ist.

Anforderungen

  1. Mindestens 120G freier Speicherplatz
  2. Proftpd-Server installiert und im anonymen Modus konfiguriert.

Schritt 1: Server konfigurieren

1. Das Erste, was Sie tun möchten, ist, die nächsten und schnellsten Ubuntu-Spiegel in Ihrer Nähe zu identifizieren, indem Sie die Ubuntu-Archiv-Spiegel-Seite besuchen und Ihr Land auswählen.

Ubuntu Archive Mirror

Wenn Ihr Land mehr Spiegel bereitstellt, sollten Sie die Spiegeladresse identifizieren und einige Tests basierend auf den Ping– oder Traceroute-Ergebnissen durchführen.

Select Mirror Location

2. Der nächste Schritt besteht darin, die erforderliche Software für die Einrichtung des lokalen Spiegel-Repositories zu installieren. Installieren Sie die Pakete apt-mirror und proftpd und konfigurieren Sie proftpd als eigenständigen Systemdämon.

$ sudo apt-get install apt-mirror proftpd-basic
Install apt-mirror Proftpd
ProFTPD Configuration

3. Jetzt ist es an der Zeit, den apt-Mirror-Server zu konfigurieren. Öffnen und bearbeiten Sie die Datei /etc/apt/mirror.list, indem Sie Ihre nächsten Standorte hinzufügen (Schritt 1) – optional, wenn die Standard-Spiegel schnell genug sind oder Sie es nicht eilig haben – und wählen Sie den Systempfad, in dem die Pakete heruntergeladen werden sollen. Standardmäßig verwendet apt-mirror den Speicherort /var/spool/apt-mirror für den lokalen Cache, aber in diesem Tutorial verwenden wir einen anderen Systempfad und richten die set base_path-Direktive auf den Speicherort /opt/apt-mirror aus.

$ sudo nano /etc/apt/mirror.list
Configure apt-mirror Server.

Sie können auch andere Quellenlisten vor der Bereinigungsanweisung – einschließlich Debian-Quellen – auskommentieren oder hinzufügen, abhängig davon, welche Ubuntu-Versionen Ihre Clients verwenden. Sie können beispielsweise Quellen von 12.04 hinzufügen, aber beachten Sie, dass das Hinzufügen weiterer Quellen mehr freien Speicherplatz erfordert.

Für Debian Quellenlisten besuchen Sie Debian Wiki oder Debian Sources Listen-Generator.

4. Alles, was Sie jetzt tun müssen, ist, einfach einen Verzeichnispfad zu erstellen und den Befehl apt-mirror auszuführen, um die offiziellen Ubuntu Repositories mit unserem lokalen Mirror zu synchronisieren.

$ sudo mkdir -p /opt/apt-mirror
$ sudo apt-mirror
Create apt-mirror Paths

Wie Sie sehen können, führt apt-mirror mit der Indizierung und dem Herunterladen von Archiven fort und zeigt die Gesamtzahl der heruntergeladenen Pakete und ihre Größe an. Wie wir uns vorstellen können, ist 110-120 GB groß genug, um einige Zeit für den Download zu benötigen.

Sie können den Befehl ls ausführen, um den Inhalt des Verzeichnisses anzuzeigen.

Verify apt-mirror Paths

Sobald der initiale Download abgeschlossen ist, werden zukünftige Downloads klein sein.

5. Während apt-mirror Pakete herunterlädt, können Sie Ihren Proftpd Server konfigurieren. Das Erste, was Sie tun müssen, ist, eine anonyme Konfigurationsdatei für Proftpd zu erstellen, indem Sie den folgenden Befehl ausführen.

$ sudo nano /etc/proftpd/conf.d/anonymous.conf

Fügen Sie dann den folgenden Inhalt zur Datei anonymous.conf hinzu und starten Sie den Proftd-Dienst neu.

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
#   MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>
Configure ProFTPD

6. Der nächste Schritt besteht darin, den Pfad von apt-mirror mit dem Pfad von Proftpd zu verknüpfen, indem Sie ein Bind-Mount durchführen, indem Sie den Befehl ausführen.

$ sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/
Mount apt-mirror to ProFTP Path

Um dies zu überprüfen, führen Sie den Befehl mount ohne Parameter oder Optionen aus.

$ mount
Verify Paths

7. Der letzte Schritt ist sicherzustellen, dass der Proftpd-Server nach einem System Neustart automatisch gestartet wird und das mirror-cache-Verzeichnis auch automatisch am FTP-Serverpfad eingebunden ist. Um Proftpd automatisch zu aktivieren, führen Sie den folgenden Befehl aus.

$ sudo update-rc.d proftpd enable

Um den apt-mirror-Cache automatisch auf Proftpd zu mounten, öffnen und bearbeiten Sie die Datei /etc/rc.local.

$ sudo nano /etc/rc.local

Fügen Sie die folgende Zeile vor der Anweisung exit 0 hinzu. Verwenden Sie auch eine Verzögerung von 5 Sekunden, bevor Sie den Mount-Versuch starten.

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/
Auto Mount Apt Mirrors

Wenn Sie Pakete aus den Debian-Repositories beziehen, führen Sie die folgenden Befehle aus und stellen Sie sicher, dass die entsprechenden Einstellungen für die oben genannte rc.local-Datei aktiviert sind.

$ sudo mkdir /srv/ftp/debian
$ sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/
Debian Repository Setup

8. Für eine tägliche apt-mirror-Synchronisation können Sie auch einen Systemplanungsauftrag erstellen, der jeden Tag um 2 Uhr morgens ausgeführt wird. Führen Sie den crontab-Befehl aus, wählen Sie Ihren bevorzugten Editor und fügen Sie die folgende Zeilensyntax hinzu.

$ sudo crontab –e
Daily apt-mirror Synchronization

Fügen Sie auf der letzten Zeile die folgende Zeile hinzu.

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log
Add Cron Entry for Synchronization

Jetzt wird jeden Tag um 2 Uhr morgens der System-Repository-Cache mit den offiziellen Ubuntu-Spiegelservern synchronisiert und eine Protokolldatei erstellt.

Schritt 2: Clients konfigurieren

9. Um lokale Ubuntu-Clients zu konfigurieren, bearbeiten Sie auf den Client-Computern die Datei /etc/apt/source.list, um auf die IP-Adresse oder den Hostnamen des apt-mirror-Servers zu verweisen – ersetzen Sie das HTTP-Protokoll durch FTP und aktualisieren Sie dann das System.

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….
Configure Clients

10. Um die Repositories anzuzeigen, können Sie tatsächlich einen Browser öffnen und auf die IP-Adresse oder den Domainnamen Ihres Servers mit dem FTP-Protokoll verweisen.

View Local Repositories

Das gleiche System gilt auch für Debian-Clients und -Server, die einzige erforderliche Änderung sind Debian-Mirror und Quellenliste.

Wenn Sie ein frisches Ubuntu– oder Debian-System installieren, geben Sie bei der Aufforderung des Installationsprogramms manuell Ihren lokalen Mirror mit dem FTP-Protokoll an.

Der große Vorteil des Besitzes eigener lokaler Mirror-Repositories besteht darin, dass Sie immer auf dem neuesten Stand sind und Ihre lokalen Clients keine Verbindung zum Internet herstellen müssen, um Updates oder Software zu installieren.

Source:
https://www.tecmint.com/setup-local-repositories-in-ubuntu/