So erstellen Sie einen Ubuntu -Repository -Server

So erstellen Sie einen Ubuntu -Repository -Server

In diesem Handbuch wird angezeigt, wie Sie einen lokalen Repository -Server basierend auf Ubuntu Bionic konfigurieren. Sie kann jedoch an eine frühere Version von Ubuntu oder sogar an jede Verteilung angepasst werden. Möglicherweise möchten Sie in der Regel ein lokales Repository einrichten, um die Internetbandbreite zu speichern.

In diesem Tutorial lernen Sie:

  • So installieren Sie die erforderliche Software auf dem Server
  • So wählen Sie aus, welche Repositorys auf dem Server widerspiegeln sollen
  • So spiegeln Sie die Auswahl von Repositorys lokal auf dem Server wider
  • So konfigurieren Sie den Linux -Client so, dass der lokale Repository -Server verwendet wird

Wie oben erwähnt, berücksichtigen wir für dieses Tutorial keinen öffentlichen oder ländlichen Spiegel, aber wenn Sie es implementieren möchten, sollten Sie Folgendes in Betracht ziehen:

  • Ihre Netzwerkbandbreite wird sehr wichtig
  • Sie müssen das Repository an der Ubuntu -Liste der Spiegel registrieren
  • Sie müssen den Spiegel mindestens viermal am Tag synchronisieren
  • Weil Sie alle früheren Versionen widerspiegeln müssen, benötigen Sie möglicherweise 2 TB oder mehr Speicherplatz

Aktualisieren der Paketliste aus den lokalen Repos.

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Ubuntu 18.04.2 (Bionic Beaver) LTs
Software Apache HTTP 2.X, Apt-Mirror
Andere Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl, mindestens 200 GB Speicherplatz für das Repository
Konventionen # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl
$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können

So erstellen Sie Schritt für Schritt einen Ubuntu -Repository -Server

  1. Installation der erforderlichen Software auf dem Server.

    Als erster Schritt müssen wir den Apache HTTP -Server, der sich unter dem benannten Paket befindet, installieren Apache2, mit dem Befehl:

    $ sudo apt installieren apache2


    Installieren von Apache HTTP

    Stellen Sie dann sicher, dass der Service beim Start ausgeführt wird:

    $ sudo systemctl aktivieren apache2 

    Wenn alles in Ordnung ist, wechseln wir zum Standard -Dokumentroot -Verzeichnis (das/var/www/html ist).
    Dort können wir dann das Unterverzeichnis erstellen /var/www/html/ubuntu und weisen Sie es dem entsprechenden Eigentümer in diesem Fall zu www-data (Der Benutzer, unter dem Apache HTTP ausgeführt wird).

    $ sudo mkdir -p/var/www/html/ubuntu $ sudo chown www-data: www-data/var/www/html/ubuntu 

    Es wird dringend empfohlen, dass sich das DocumentRoot oder zumindest der Ubuntu -Unterordner in einem Dateisystem befindet, das zu einem logischen Volumen gehört. Auf diese Weise können wir es online vergrößern, ohne Ausfallzeiten.
    Zum Zeitpunkt meiner Tests 171.5 Gib sind der absolute Mindestraum, der benötigt wird, wenn auch die SRC -Pakete spiegeln. Um für die Zukunft zu planen, wird empfohlen, mindestens 300 Gib -Speicherplatz zu haben.

    Dies ist hauptsächlich eine Schätzung, wenn Sie eine Version von Ubuntu auswählen. Wenn es erforderlich ist, um Pakete für verschiedene Versionen zu spiegeln, steigt die Platzanforderungen erheblich an.

  2. Das Hauptwerkzeug, mit dem wir ein lokales Repository erstellen können, ist Apt-Mirror, Um es auszuführen, um es auszuführen:
    $ sudo apt installieren Apt-Mirror 

    Falls das Paket nicht gefunden wird, stellen Sie sicher, dass Sie die Liste der Pakete zuerst aktualisieren, mit:

    $ sudo APT Update 
  3. Wählen Sie aus, welche Repositorys auf dem Server spiegeln sollen.

    Sobald APT-Mirror installiert ist, können wir eine Sicherungskopie seiner Konfigurationsdatei erstellen /etc/Apt/Spiegel.Liste, Danach stellen Sie sicher, dass die Zeile die Option enthält Setzen Sie Base_Path zeigt auf den richtigen Pfad für unser Repository (standardmäßig ist/var/spool/apt-mirror).

    $ sudo cp/etc/apt/spiegel.Liste/etc/apt/spiegel.Liste.Org 

    So können Sie jetzt Ihren bevorzugten Editor (VI oder Nano) verwenden, um die Option Base_path im Spiegel zu ändern.Listendatei zu /var/www/html/ubuntu; Sie müssen auch angeben, dass Sie die bionische Distribution widerspiegeln (ändern Sie entsprechend, wenn Sie eine andere Ubuntu -Version haben) Repos, immer im Spiegel.Listenkonfigurationsdatei.

    Spiegel.Listenkonfigurationsdatei

    Falls Sie nicht viel Platz auf der Festplatte haben, können Sie keine SRC -Pakete widerspiegeln. Sie werden also die relativen Zeilen kommentieren:

    Spiegel.Listenkonfigurationsdatei

    Als nächstes kopieren Sie ein wichtiges Skript in /var/www/html/ubuntu/var/

    $ sudo mkdir -p/var/www/html/ubuntu/var $ sudo cp/var/spool/apt -mirror/var/postmirror.sh/var/www/html/ubuntu/var/ 
  4. Spiegelung der ausgewählten Repositorys lokal auf dem Server.

    Jetzt ist Zeit, einen lokalen Spiegel zu erstellen, denken Sie daran, dass eine anfängliche Spiegelung (von Archiv.Ubuntu.com Nur für dieses Tutorial) kann viel Zeit in Anspruch nehmen und Ihre Verbindung verlangsamen, sodass ich vorschlagen würde, diesen Job nachts zu beginnen.
    Um die Remote -Repos -Pakete auf den lokalen Server zu spiegeln, führen Sie einfach den Befehl aus:

    $ sudo apt-mirror 

    Wenn Sie müssen, können Sie diesen Prozess (mit der klassischen Strg+C -Kombination) unterbrechen und später neu starten. Es wird wieder aufnehmen, wohin übrig geblieben ist.

    Schließlich werden wir an den Punkt kommen, wenn die saubere.SH und Postmirror.SH -Skripte werden ausgeführt, es ist ein Zeichen, dass der Spiegelprozess abgeschlossen wurde.

    Ende des Spiegelungsprozesses.
  5. Konfigurieren des automatischen Synchronisierungsvorgangs mithilfe von Cron Scheduler.

    Nachdem unsere erste Synchronisierung abgeschlossen ist, müssen wir einen Cron -Job erstellen, um sicherzustellen, dass wir über eine automatische aktuelle lokale Repository verfügen. Zum Beispiel möchten wir, dass diese Aufgabe jeden Abend um 2:00 Uhr und damit: also:

    $ sudo crontab -e 

    Dann bearbeiten wir das Crontab, um die folgende Zeile hinzuzufügen:

    00 02 * * */usr/bin/apt-Mirror 

    Und speichern und beenden (mit VI, Nano oder jedem Editor festgelegt).

Konfigurieren des Linux -Clients für die Verwendung des lokalen Repository -Servers

  1. Konfigurieren der lokalen Repository -Liste.

    In jedem Client, der unser lokales Repository verwendet, müssen wir die Konfigurationsdatei bearbeiten /etc/Apt/Quellen.Liste Angabe unseres lokalen Repos und Deaktivieren eines Remote.

    In unserem Fall wurden die folgenden Repositorys heruntergeladen:

    Server lokale Repositories

    NOTIZ

    Es wird empfohlen, eine Zeile in der zu kommentieren /etc/Apt/Quellen.Liste Datei, die sich auf Repositorys bezieht, die auf unserem Server nicht gespiegelt sind, zum Beispiel in diesem Fall jede Zeile mit Beginn mit Deb-Src und enthalten Bionic-Backports wurden kommentiert.

    Wenn Sie dies nicht tun, erhalten Sie möglicherweise den Fehler
    Die Release -Datei wurde nicht gefunden Beim Ausführen des Befehls -APT -Updates im Client.

    Zunächst ersetzen wir jedes String -Archiv.Ubuntu.com mit unserem lokalen Spiegel IP, in diesem Fall 10.0.0.42. Natürlich könnte Ihre lokale IP -Adresse anders sein.

    $ sudo sed -i.Bak0 "S/Archive \.Ubuntu \.com/10 \ \.0 \.0 \.\ 42/g "/etc/apt/Quellen.Liste 

    Dieser Befehl erstellt die Sicherungsdatei /etc/Apt/Quellen.Liste.Bak0 und jeden ersetzen Archiv.Ubuntu.com Saite mit 10.0.0.42.

    Auf diese Weise wird eine weitere Anpassung wiedergegeben:

    $ sudo sed -i.Bak1 "S/Ubuntu/Ubuntu \/Mirror \/Archive \.Ubuntu \.com \/ubuntu/g "\/etc/apt/Quellen.Liste 

    Dies ist notwendig, da APT-Mirror den Pfad annimmt Spiegel/Archiv.Ubuntu.com/ubuntu zu unserem Grundweg. Hier wird eine weitere Sicherungsdatei erstellt

    /etc/Apt/Quellen.Liste.Bak1. 

    Für die Zwecke dieses Tutorials spiegeln wir nur Pakete oder Repositorys aus dem Archiv aus.Ubuntu.com; Natürlich können Sie andere inoffizielle Repositories in den Spiegel hinzufügen.Listendatei auf dem Server, aber dann müssen Sie dort Apt-Mirror erneut ausführen und auf jedem Client die Quellen bearbeiten.Listen Sie die Datei entsprechend auf.

  2. Aktualisieren Sie den lokalen Repository -Index.
    Jetzt müssen Sie sicherstellen, dass der Port 80 nicht von der Client -Firewall blockiert wird, und dann können Sie ausführen:
    $ sudo APT Update 

    Und du bist bereit zu gehen.

    Aktualisieren der Paketliste aus den lokalen Repos.

Abschluss

Das Einrichten eines lokalen Repositorys in Ubuntu ist nicht schwierig, wie es erscheinen mag, und es kann nützlich sein, vorausgesetzt, Sie verfügen über angemessene lokale Netzwerk- und Festplattenressourcen.

Verwandte Linux -Tutorials:

  • Ubuntu Spiegel
  • Dinge zu installieren auf Ubuntu 20.04
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • So suchen Sie nach zusätzlichen Hacking -Tools auf Kali
  • Ubuntu 20.04 Leitfaden
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Dinge zu installieren auf Ubuntu 22.04
  • Dinge zu tun nach der Installation Ubuntu 22.04 Jammy Quallen…
  • Ubuntu 22.04 Leitfaden
  • Ubuntu 20.04 Tricks und Dinge, die Sie vielleicht nicht wissen