Einführung
Unter Linux ein Repository ist eine zentrale Datenbank für Software. Linux-Distributionen haben ein zentrales Repository für System- und häufig verwendete Software.
Häufig benötigen Administratoren ein spezielles Softwarepaket oder müssen die Netzwerkbandbreite verwalten. Aus diesen Gründen müssen sie ein neues benutzerdefiniertes lokales Repository einrichten.
Lecker ist ein lokales Repository für RPM-Paketdateien. Diese Pakete komprimieren verfügbare Software für Linux-Distributionen. Mit dem Repository können Sie Pakete herunterladen, installieren und auf einer lokalen Festplatte oder remote speichern.
Dieses Tutorial führt Sie durch die Einrichtung eines lokalen Yum-Repositorys unter CentOS 7.

Voraussetzungen
- Zugriff auf ein Benutzerkonto mit root oder sudo Privilegien
- Zugriff auf ein Terminalfenster/eine Befehlszeile (Menü> Anwendungen> Dienstprogramme> Terminal)
- Das YUM (Yellowdog Updater Modified) Paketmanager, standardmäßig installiert
Yum-Repositories auf CentOS einrichten und konfigurieren
Schritt 1:Netzwerkzugriff konfigurieren
Erstens, ein Yum veranstalten -Repository erfordert, dass Sie das System für den Netzwerkzugriff konfigurieren.
Yum liefert Dateien normalerweise entweder über FTP oder HTTP. Sie können jedoch nicht beide konfigurieren, nehmen Sie sich also einen Moment Zeit, um zu entscheiden, welche Methode Sie verwenden möchten.
Wenn Sie das System bereits als Webserver mit Apache oder als FTP-Server mit vsftpd konfiguriert haben, fahren Sie mit Schritt 2 fort.
Um HTTP zu verwenden, installieren Sie das Apache-Webdienstpaket mit dem folgenden Befehl:
sudo yum install httpd
Wenn Sie stattdessen FTP verwenden, installieren Sie das vsftpd-Softwarepaket mit:
sudo yum install vsftpd
Dies ist ein Beispiel für eine Ausgabe, bei der die neueste Version bereits installiert ist:

Schritt 2:Lokales Yum-Repository erstellen
Ein hilfreiches Tool ist das Softwarepaket createrepo. Diese Software bündelt mehrere .rpm Dateien zu einem repomd zusammen Repository. Installieren Sie die Software, indem Sie Folgendes eingeben:
sudo yum install createrepo
Als nächstes installieren Sie yum-utils um Ihrem System eine bessere Toolbox für die Verwaltung von Repositories zu geben. Installieren Sie yum-utils, indem Sie Folgendes eingeben:
sudo yum install yum-utils
Dies ist ein Beispiel für eine mögliche Ausgabe:

Schritt 3:Erstellen Sie ein Verzeichnis zum Speichern der Repositories
Erstellen Sie dann ein Verzeichnis für ein HTTP-Repository mit:
sudo mkdir –p /var/www/html/repos/{base,centosplus,extras,updates}
Alternativ können Sie ein FTP-Verzeichnis erstellen, indem Sie Folgendes eingeben:
sudo mkdir –p /var/ftp/repos
Schritt 4:HTTP-Repositories synchronisieren
Laden Sie eine lokale Kopie der offiziellen CentOS-Repositories herunter zu Ihrem Server. Dadurch können Systeme im selben Netzwerk Updates effizienter installieren.
Um die Repositorys herunterzuladen, verwenden Sie die Befehle:
sudo reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/
sudo reposync -g -l -d -m --repoid=centosplus --newest-only --download-metadata --download_path=/var/www/html/repos/
sudo reposync -g -l -d -m --repoid=extras --newest-only --download-metadata --download_path=/var/www/html/repos/
sudo reposync -g -l -d -m --repoid=updates --newest-only --download-metadata --download_path=/var/www/html/repos/
Das System sollte Kopien der offiziellen Repositories erreichen und herunterladen.
In den vorherigen Befehlen lauten die Optionen wie folgt:
- –g – ermöglicht das Entfernen oder Deinstallieren von Paketen auf CentOS, die eine GPG-Prüfung nicht bestehen
- –l – Yum-Plugin-Unterstützung
- –d – lässt Sie lokale Pakete löschen, die nicht mehr im Repository existieren
- –m – Lässt Sie comps.xml-Dateien herunterladen, die nützlich sind, um Gruppen von Paketen nach Funktion zu bündeln
- ––repoid – Repository-ID angeben
- ––nur die neuesten – Laden Sie nur die neueste Paketversion herunter, hilft bei der Verwaltung der Größe des Repositorys
- ––Download-Metadaten – nicht standardmäßige Metadaten herunterladen
- ––Download-Pfad – gibt den Speicherort für die Pakete an
Wenn Sie FTP verwenden, ersetzen Sie Ihr FTP-Verzeichnis in den obigen Befehlen. Sie können auch Ihre Installations-CD als Quelle für Repositories verwenden.
Mounten Sie zuerst die CD und kopieren Sie dann die Dateien wie folgt in Ihr FTP-Verzeichnis:
cp /media/packages/* /var/ftp/repos
Schritt 5:Erstellen Sie das neue Repository
Wir verwenden das Dienstprogramm createrepo um ein Repository zu erstellen.
Um das Repository für HTTP zu erstellen, verwenden Sie den Befehl:
sudo createrepo /var/www/html
Das Terminal zeigt die folgenden Informationen an:

Erstellen Sie auf ähnliche Weise ein Repository für FTP, geben Sie Folgendes ein:
sudo createrepo /var/ftp
Schritt 6:Lokales Yum-Repository auf dem Clientsystem einrichten
Richten Sie nun ein lokales Yum-Repository auf einem Client-Rechner ein.
1. Wechseln Sie zunächst auf das Client-System und melden Sie sich als Benutzer mit root an oder sudo Privilegien.
2. Als Nächstes müssen Sie yum verhindern vor dem Herunterladen vom falschen Ort. Verschieben Sie dazu das Standard-yum Repository-Dateien mit dem folgenden Befehl:
mv /etc/yum.repos.d/*.repo /tmp/
Dieser Befehl speichert die Dateien im Verzeichnis /tmp/ Verzeichnis. Sie können jeden anderen Standort Ihrer Wahl ersetzen.
3. Erstellen und bearbeiten Sie eine neue Konfigurationsdatei:
sudo nano /etc/yum.repos.d/remote.repo
Das System sollte eine neue Datei in einem Texteditor öffnen.
4. Geben Sie in der neuen Datei den Befehl ein (ersetzen Sie dabei die IP-Adresse durch die IP-Adresse Ihres Servers):
[remote]
name=RHEL Apache
baseurl=http://192.168.1.10
enabled=1
gpgcheck=0
5. Abschließend die Datei speichern und beenden.
Wenn Sie für FTP konfigurieren, verwenden Sie stattdessen Folgendes (ersetzen Sie die IP-Adresse durch die IP-Adresse Ihres Servers):
[remote]
name=RHEL FTP
baseurl=ftp://192.168.1.10
enabled=1
gpgcheck=0
Schritt 7:Testen Sie die Konfiguration
Führen Sie noch auf dem Clientsystem einen Befehl aus, um ein Paket mit dem yum zu installieren Paketmanager:
sudo yum install httpd
Das System sollte sich dementsprechend an Ihren Server wenden und die Software installieren.