Website-Suche

Richten Sie lokale Repositorys mit „apt-mirror“ in Ubuntu- und Debian-Systemen ein


Wenn heutzutage der Datenverkehr und gelegentliche Internetgeschwindigkeiten selbst für gewöhnliche Internet-Clients im Zehn-Giga-Bereich pro Wimpernschlag gemessen werden, fragen Sie sich vielleicht, welchen Zweck es hat, einen lokalen Repository-Cache in LANs einzurichten?

Einer der Gründe ist die Reduzierung der Internetbandbreite und die hohe Geschwindigkeit beim Abrufen von Paketen aus dem lokalen Cache. Ein weiterer wichtiger Grund sollte aber auch die Privatsphäre sein. Stellen wir uns vor, dass Kunden in Ihrem Unternehmen nur eingeschränkt auf das Internet zugreifen können, ihre Linux-Rechner jedoch regelmäßig Systemaktualisierungen hinsichtlich Software und Sicherheit benötigen oder einfach nur neue Softwarepakete benötigen. Um es weiter zu veranschaulichen: Ein Server, der in einem privaten Netzwerk läuft, geheime vertrauliche Informationen nur für ein eingeschränktes Netzwerksegment enthält und bereitstellt und niemals dem öffentlichen Internet zugänglich gemacht werden sollte.

Dies sind nur einige Gründe, warum Sie einen lokalen Repository-Spiegel in Ihrem LAN erstellen, einen Edge-Server für diese Aufgabe delegieren und interne Clients so konfigurieren sollten, dass sie Software aus ihrem Cache-Spiegel abrufen.

Ubuntu bietet das Paket apt-mirror, um den lokalen Cache mit offiziellen Ubuntu-Repositorys zu synchronisieren, einen Spiegel, der über einen HTTP- oder FTP-Server zur gemeinsamen Nutzung konfiguriert werden kann Softwarepakete mit lokalen Systemclients.

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

Anforderungen

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

Schritt 1: Server konfigurieren

1. Das erste, was Sie möglicherweise tun möchten, ist, die nächstgelegenen und schnellsten Ubuntu-Spiegel in Ihrer Nähe zu ermitteln, indem Sie die Seite „Ubuntu Archive Mirror“ besuchen und Ihr Land auswählen.

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

2. Der nächste Schritt besteht darin, die erforderliche Software zum Einrichten des lokalen Spiegel-Repositorys zu installieren. Installieren Sie die Pakete apt-mirror und proftpd und konfigurieren Sie proftpd als eigenständigen System-Daemon.

sudo apt-get install apt-mirror proftpd-basic

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ächstgelegenen Standorte hinzufügen (Schritt 1) – optional, wenn Standardspiegel schnell genug sind oder Sie nicht dabei sind Beeilen Sie sich – und wählen Sie Ihren Systempfad aus, in den 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 die Option „Systempfad ändern“ und „Punkt festlegen“. base_path-Anweisung zum Speicherort /opt/apt-mirror.

sudo nano /etc/apt/mirror.list

Außerdem können Sie vor der Clean-Anweisung andere Quelllisten auskommentieren oder hinzufügen – einschließlich Debian-Quellen – abhängig davon, welche Ubuntu-Versionen Ihre Kunden verwenden. Sie können Quellen aus 12.04 hinzufügen, wenn Sie möchten. Beachten Sie jedoch, dass das Hinzufügen weiterer Quellen mehr freien Speicherplatz erfordert.

Für Debian-Quellenlisten besuchen Sie das Debian-Wiki oder den Debian Sources List Generator.

4. Jetzt müssen Sie nur noch ein Pfadverzeichnis erstellen und den Befehl apt-mirror ausführen, um offizielle Ubuntu-Repositorys mit unserem lokalen Spiegel zu synchronisieren .

sudo mkdir -p /opt/apt-mirror
sudo apt-mirror

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 deren Größe an. Wie wir uns vorstellen können, sind 110–120 GB groß genug, um einige Zeit zum Herunterladen in Anspruch zu nehmen.

Sie können den Befehl ls ausführen, um den Verzeichnisinhalt anzuzeigen.

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

5. Während apt-mirror Pakete herunterlädt, können Sie Ihren Proftpd-Server konfigurieren. Als Erstes müssen Sie eine anonyme Konfigurationsdatei für proftpd 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>

6. Der nächste Schritt besteht darin, den apt-mirror-Pfad mit dem proftpd-Pfad zu verknüpfen, indem ein Bind-Mount ausgeführt wird, indem der Befehl ausgegeben wird.

sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/

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

mount

7. Der letzte Schritt besteht darin, sicherzustellen, dass der Proftpd-Server nach dem System-Neustart und dem Mirror-Cache-Verzeichnis automatisch gestartet wird wird auch automatisch auf dem FTP-Serverpfad gemountet. 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 bereitzustellen, ö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 außerdem eine Verzögerung von 5 Sekunden, bevor Sie mit dem Mounten beginnen.

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

Wenn Sie Pakete aus Debian-Repositorys ziehen, führen Sie die folgenden Befehle aus und stellen Sie sicher, dass die entsprechenden Einstellungen für die obige Datei rc.local aktiviert sind.

sudo mkdir /srv/ftp/debian
sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

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

sudo crontab –e

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

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

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

Schritt 2: Clients konfigurieren

9. Um lokale Ubuntu-Clients zu konfigurieren, bearbeiten Sie /etc/apt/source.list auf den Client-Computern so, dass sie auf die IP-Adresse oder den Hostnamen von verweisen apt-mirror Server – 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….

10. Um Repositorys anzuzeigen, können Sie tatsächlich einen Browser öffnen und mithilfe des FTP-Protokolls auf die IP-Adresse Ihres Servers oder Ihren Domänennamen verweisen.

Das gleiche System gilt auch für Debian-Clients und -Server. Die einzigen erforderlichen Änderungen sind der Debian-Spiegel und die Quellenliste.

Auch wenn Sie ein neues Ubuntu- oder Debian-System installieren, stellen Sie Ihren lokalen Spiegel manuell mit dem FTP-Protokoll bereit, wenn das Installationsprogramm fragt, welches Repository verwendet werden soll.

Das Tolle an Ihren eigenen lokalen Spiegel-Repositorys ist, 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.