So richten Sie das lokale HTTP Yum Repository unter CentOS 7 ein
Repositorys werden häufig auf Servern in einem Netzwerk gespeichert, z. B. im Internet, auf das mehrere Benutzer zugreifen können. Sie können jedoch ein lokales Repository auf Ihrem Computer erstellen und konfigurieren und als Einzelbenutzer darauf zugreifen oder den Zugriff auf andere Computer auf Ihrem Computer zulassen LAN ((Lokales Netzwerk).
Ein Vorteil beim Einrichten eines lokalen Repositorys besteht darin, dass Sie keine Internetverbindung benötigen, um Softwarepakete zu installieren.
YUM (Yellowdog Updater Modified) ist ein weit verbreitetes Paketverwaltungstool für U / min ((RedHat Package Manager) -basierte Linux-Systeme, die die Installation von Software vereinfachen Red Hat / CentOS Linux.
In diesem Artikel wird erklärt, wie Sie ein lokales System einrichten YUM Repository vorbei HTTP ((Nginx) Webserver ein CentOS 7 VPS Außerdem erfahren Sie, wie Sie Softwarepakete auf dem Client finden und installieren CentOS 7 Maschinen.
Unsere Testumgebung
Yum HTTP Repository Server: CentOS 7 [192.168.0.100] Client Machine: CentOS 7 [192.168.0.101]
Schritt 1: Installieren Sie Nginx Web Server
1. Beginnen Sie zunächst mit der Installation des Nginx-HTTP-Servers aus dem EPEL-Repository mithilfe des YUM-Paketmanagers wie folgt.
# yum install epel-release # yum install nginx
2. Sobald Sie den Nginx-Webserver installiert haben, können Sie ihn zum ersten Mal starten und beim Systemstart automatisch starten.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. Als nächstes müssen Sie den Port öffnen 80 und 443 Aktualisieren Sie die System-Firewall-Regeln, um eingehenden Pakete zuzulassen, damit Web-Datenverkehr zum Nginx-Dienst zugelassen wird HTTP und HTTPS Verwenden Sie die folgenden Befehle.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
4. Jetzt können Sie unter der folgenden URL bestätigen, dass Ihr Nginx-Server betriebsbereit ist. Wenn Sie die Standard-Nginx-Webseite sehen, ist alles in Ordnung.
http://SERVER_DOMAIN_NAME_OR_IP
Schritt 2: Erstellen Sie das Yum Local Repository
5. In diesem Schritt müssen Sie die erforderlichen Pakete zum Erstellen, Konfigurieren und Verwalten Ihres lokalen Repositorys installieren.
# yum install createrepo yum-utils
6. Erstellen Sie als Nächstes die erforderlichen Verzeichnisse (yum-Repositorys), in denen Pakete und alle zugehörigen Informationen gespeichert werden.
# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}
7. Dann benutzen Sie die reposync Werkzeug zum Synchronisieren CentOS YUM Repositorys zu den lokalen Verzeichnissen wie gezeigt.
# reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/ # reposync -g -l -d -m --repoid=centosplus --newest-only --download-metadata --download_path=/var/www/html/repos/ # reposync -g -l -d -m --repoid=extras --newest-only --download-metadata --download_path=/var/www/html/repos/ # reposync -g -l -d -m --repoid=updates --newest-only --download-metadata --download_path=/var/www/html/repos/
Beispielausgabe
Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.fibergrid.in * epel: mirror.xeonbd.com * extras: mirrors.fibergrid.in * updates: mirrors.fibergrid.in base/7/x86_64/group | 891 kB 00:00:02 No Presto metadata available for base (1/9911): 389-ds-base-snmp-1.3.7.5-18.el7.x86_64.rpm | 163 kB 00:00:02 (2/9911): 389-ds-base-devel-1.3.7.5-18.el7.x86_64.rpm | 267 kB 00:00:02 (3/9911): ElectricFence-2.2.2-39.el7.i686.rpm | 35 kB 00:00:00 (4/9911): ElectricFence-2.2.2-39.el7.x86_64.rpm | 35 kB 00:00:00 (5/9911): 389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm | 695 kB 00:00:04 (6/9911): GConf2-devel-3.2.6-8.el7.i686.rpm | 110 kB 00:00:00 (7/9911): GConf2-devel-3.2.6-8.el7.x86_64.rpm | 110 kB 00:00:00 (8/9911): GConf2-3.2.6-8.el7.i686.rpm | 1.0 MB 00:00:06
In den obigen Befehlen ist die Option:
-
-g
– Ermöglicht das Entfernen von Paketen, bei denen die GPG-Signaturprüfung nach dem Herunterladen fehlschlägt. -
-l
– Aktiviert die Unterstützung von Yum Plugins. -
-d
– Ermöglicht das Löschen lokaler Pakete, die nicht mehr im Repository vorhanden sind. -
-m
– ermöglicht das Herunterladen von comps.xml Dateien. -
--repoid
– Gibt die Repository-ID an. -
--newest-only
– Weisen Sie reposync an, nur die neueste Version jedes Pakets in den Repos abzurufen. -
--download-metadata
– Ermöglicht das Herunterladen aller nicht standardmäßigen Metadaten. -
--download_path
– Gibt den Pfad zum Herunterladen von Paketen an.
8. Überprüfen Sie als Nächstes den Inhalt Ihrer lokalen Verzeichnisse, um sicherzustellen, dass alle Pakete lokal synchronisiert wurden.
# ls -l /var/www/html/repos/base/ # ls -l /var/www/html/repos/base/Packages/ # ls -l /var/www/html/repos/centosplus/ # ls -l /var/www/html/repos/centosplus/Packages/ # ls -l /var/www/html/repos/extras/ # ls -l /var/www/html/repos/extras/Packages/ # ls -l /var/www/html/repos/updates/ # ls -l /var/www/html/repos/updates/Packages/
9. Erstellen Sie nun neue Repodaten für die lokalen Repositorys, indem Sie die folgenden Befehle ausführen, wobei das Flag -g
wird verwendet, um die Paketgruppeninformationen unter Verwendung der angegebenen zu aktualisieren .xml
Datei.
# createrepo -g comps.xml /var/www/html/repos/base/ # createrepo -g comps.xml /var/www/html/repos/centosplus/ # createrepo -g comps.xml /var/www/html/repos/extras/ # createrepo -g comps.xml /var/www/html/repos/updates/
10. Erstellen Sie zum Anzeigen der darin enthaltenen Repositorys und Pakete über einen Webbrowser einen Nginx-Serverblock, der wie gezeigt auf das Stammverzeichnis Ihrer Repositorys verweist.
# vim /etc/nginx/conf.d/repos.conf
Fügen Sie die folgende Konfiguration der Datei hinzu rest.conf.
server { listen 80; server_name repos.test.lab; #change test.lab to your real domain root /var/www/html/repos; location / { index index.php index.html index.htm; autoindex on; #enable listing of directory index } }
Speichern Sie die Datei und schließen Sie sie.
11. Starten Sie dann Ihren Nginx-Server neu und zeigen Sie die Repositorys in einem Webbrowser unter der folgenden URL an.
http://repos.test.lab
Schritt 3: Erstellen Sie einen Cron-Job zum Synchronisieren und Erstellen von Repositorys
12. Fügen Sie als Nächstes einen Cron-Job hinzu, der Ihre lokalen Repos automatisch mit den offiziellen CentOS-Repos synchronisiert, um die Updates und Sicherheitspatches abzurufen.
# vim /etc/cron.daily/update-localrepos
Fügen Sie diese Befehle im Skript hinzu.
#!/bin/bash ##specify all local repositories in a single variable LOCAL_REPOS=”base centosplus extras updates” ##a loop to update repos one at a time for REPO in ${LOCAL_REPOS}; do reposync -g -l -d -m --repoid=$REPO --newest-only --download-metadata --download_path=/var/www/html/repos/ createrepo -g comps.xml /var/www/html/repos/$REPO/ done
Speichern Sie das Skript, schließen Sie es und legen Sie die entsprechenden Berechtigungen fest.
# chmod 755 /etc/cron.daily/update-localrepos
Schritt 4: Richten Sie das lokale Yum-Repository auf Client-Computern ein
13. Nun zu deinem CentOS Fügen Sie auf Client-Computern Ihre lokalen Repos zur YUM-Konfiguration hinzu.
# vim /etc/yum.repos.d/local-repos.repo
Kopieren Sie die unten stehende Konfiguration und fügen Sie sie in die Datei ein local-repos.repo (Nehmen Sie gegebenenfalls Änderungen vor).
[local-base] name=CentOS Base baseurl=http://repos.test.lab/base/ gpgcheck=0 enabled=1 [local-centosplus] name=CentOS CentOSPlus baseurl=http://repos.test.lab/centosplus/ gpgcheck=0 enabled=1 [local-extras] name=CentOS Extras baseurl=http://repos.test.lab/extras/ gpgcheck=0 enabled=1 [local-updates] name=CentOS Updates baseurl=http://repos.test.lab/updates/ gpgcheck=0 enabled=1
Speichern Sie die Datei und verwenden Sie Ihre lokalen YUM-Spiegel.
14. Führen Sie als Nächstes den folgenden Befehl aus, um Ihre lokalen Repos in der Liste der verfügbaren YUM-Repos auf den Clientcomputern anzuzeigen.
# yum repolist OR # yum repolist all
Das ist alles! In diesem Artikel haben wir erklärt, wie Sie ein lokales YUM-Repository unter CentOS 7 einrichten. Wir hoffen, dass Sie dieses Handbuch hilfreich fanden. Wenn Sie Fragen oder andere Gedanken haben, die Sie teilen möchten, verwenden Sie das Kommentarformular unten.