So erstellen Sie einen Ubuntu -Repository -Server
- 4094
- 1239
- Phoebe Jeorga
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
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
- 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 HTTPStellen 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 zuwww-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.
- 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
- 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ältSetzen 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
Spiegel.Listenkonfigurationsdatei/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.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/
- 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. - 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
- 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 mitDeb-Src
und enthaltenBionic-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 ersetzenArchiv.Ubuntu.com
Saite mit10.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.
- 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
- « So überprüfen Sie die Google Chrome Browser -Version
- Nicht verwaltetes Netzwerk unter Debian Linux - Lösung »