Einige von Ihnen teilen vielleicht den folgenden Anwendungsfall:Sie müssen (oder wollen) Repos spiegeln, um Pakete für die Hosts in Ihrem LAN bereitzustellen, die nicht mit dem Internet verbunden sind und daher nicht direkt auf die Upstream-Repos zugreifen können. In diesem Artikel erkläre ich, wie Sie diese Aufgabe einfach mit reposync
erledigen können , das mit Ihrer Subskription für Red Hat Enterprise Linux (RHEL) 7 oder Red Hat Enterprise Linux 8 geliefert wird.
Bevor wir loslegen, möchte ich auf die wichtigen Voraussetzungen hinweisen. Sie benötigen ein gültiges Abonnement für jedes Repo, das Sie spiegeln möchten, da Ihr Spiegelserver nur die Repos synchronisieren kann, die in seinem eigenen Abonnement enthalten sind. Alle Ihre anderen Hosts, die diesen Mirror verwenden, müssen ebenfalls ein gültiges Abonnement haben.
Wenn Sie Fragen zu Subskriptionen haben, werfen Sie bitte einen Blick auf die folgenden URLs:Red Hat Subscription Model FAQ und Red Hat Subscription Service Overview.
Gespiegelte Repos für Red Hat Enterprise Linux 7 einrichten
Zu Beginn müssen Sie den Webserver auswählen, der die gespiegelten Repos in Ihrem LAN bereitstellt. Wenn Sie dann Red Hat Enterprise Linux 7 verwenden, müssen Sie zum Erstellen eines einfachen Repos mit der Installation von createrepo
beginnen . Keine Sorge, dieses Tool ist auch in Ihrem Abonnement enthalten. Installieren Sie es wie folgt auf Ihrem Webserver:
# yum install yum-utils createrepo
Als nächstes benötigen Sie die Repository-ID für das Repo, das Sie synchronisieren möchten. Führen Sie yum repolist
aus , und Sie finden die Repo-ID in der ersten Spalte der Ausgabe:
$ yum repolist
Loaded plugins: langpacks, nvidia, product-id, search-disabled-repos, subscription-
: manager
repo id repo name status
rhel-7-server-optional-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server - O 19.490
rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RP 26.766
virtualbox/7Server/x86_64 Oracle Linux / RHEL / CentOS-7Server 77
In diesem Fall rhel-7-server-rpms
ist die ID für das standardmäßige Red Hat Enterprise Linux 7-Repository. Mit dem folgenden Befehl erhalten Sie eine vollständige Liste der Repos, auf die Ihr Abonnement Zugriff hat:
$ sudo subscription-manager repos --list
Dort finden Sie auch die Repo-ID.
Zum Beispiel, um die Pakete von rhel-7-server-rpms
zu synchronisieren repo und erstellen Sie ein einfaches lokales Repository, führen Sie die folgenden Befehle aus:
# reposync --gpgcheck -l --repoid=rhel-7-server-rpms --download_path=/var/www/html # Sync RPMS
# cd /var/www/html/rhel-7-server-rpms
# createrepo -v /var/www/html/rhel-7-server-rpms # Create the repo
Gespiegelte Repos für Red Hat Enterprise Linux 8 einrichten
Für Red Hat Enterprise Linux 8 ist dieser Prozess sogar noch einfacher. Sie benötigen nur den reposync
Befehl:
# reposync -p <download-path> --download-metadata --repo=<repo id>
Das createrepo
Der Befehl wird nicht mehr benötigt, da reposync
lädt alles herunter, einschließlich der repodata
.
Freigabe des lokalen Repositorys
Sobald die Pakete abgerufen und das lokale Repository mit einer dieser Methoden erstellt wurde, kann das lokale Repository mithilfe eines einfachen Webservers, FTP oder NFS auf die Offline-/nicht verbundenen Systeme verteilt werden. Die folgenden Knowledgebase-Artikel enthalten die erforderlichen Informationen zu Ihrer Wahl der Distribution:
- Apache (HTTP)
- Apache (HTTPS)
- FTP
- NFS-Freigabe
Für eine komplexere Einrichtung als in diesem Artikel beschrieben sollten Sie Red Hat Satellite verwenden.
[ Möchten Sie Red Hat Enterprise Linux ausprobieren? Laden Sie es jetzt kostenlos herunter. ]