So richten Sie das lokale HTTP Yum Repository unter CentOS 7 ein

Ein Software-Repository (“RepoKurz gesagt) ist ein zentraler Dateispeicherort zum Speichern und Verwalten von Softwarepaketen, von dem Benutzer Pakete abrufen und auf ihren Computern installieren können.

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 
Nginx-Standardseite
Nginx-Standardseite

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
Lokale Yum-Repositorys anzeigen
Lokale Yum-Repositorys anzeigen

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
Lokale Yum-Repositorys auf dem Client anzeigen
Lokale Yum-Repositorys auf dem Client anzeigen

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.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *