GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie ein lokales Red Hat-Repository

Es gibt viele Gründe, warum Sie ein lokales Red Hat Enterprise Linux-Repository wünschen. Die Bandbreite ist ein wichtiger Faktor, da das Herunterladen von Updates aus dem Internet zeit- und bandbreitenintensiv sein kann. Ein weiterer Grund kann sein, dass Ihre Server nicht mit dem Internet verbunden sind und daher ihre Updates von einer lokalen Quelle beziehen müssen. Möglicherweise haben Sie eine Entwicklungsumgebung, für die Sie kein Geld für Lizenzen ausgeben möchten, aber dennoch aktualisieren müssen. Was auch immer Ihr Grund ist, dieses Tutorial führt Sie durch den Prozess der Einrichtung Ihres lokalen Repositorys.

Hinweis:Der Server, der als Ihr Repository dient, sollte nur als Repository dienen.

Installieren Sie Pakete, die für die Repositories benötigt werden

yum install yum-utils createrepo httpd

Erstellen Sie die Verzeichnisse für Ihre Repositories

mkdir /var/www/html/rhel6
mkdir /var/www/html/rhel6/server
mkdir /var/www/html/rhel6/dts
mkdir /var/www/html/rhel6/dts2
mkdir /var/www/html/rhel6/rhsc

Hilfreiche Befehle

Listen Sie die aktivierten und deaktivierten Repos auf Ihrem Server auf.

yum repolist all

Listen Sie die Repos auf, die für Ihr Abonnement verfügbar sind

subscription-manager repos --list

Aktivieren Sie ein Repo auf Ihrem System

subscription-manager repos --enable=rhel-6-server-optional-rpms

Deaktivieren Sie ein Repo auf Ihrem System

subscription-manager repos --disble=rhel-6-server-optional-rpms

Wir möchten, dass die Repositories für Server, dts und rhsc (Softwaresammlungen) im Repository aktiviert sind

Repos synchronisieren

Sobald alle diese Repos aktiviert wurden, führen Sie den folgenden Befehl für alle aus und ändern Sie den download_path für jeden, damit er mit dem download_path für dieses Repo übereinstimmt.

reposync --gpgcheck -l --repoid=repoid --download_path=/var/www/html/rhel6/repo_name --downloadcomps --download-metadata

Hinweis:Das Server-Repo dauert am längsten. Wie die ganze Nacht. Die anderen sollten viel kürzer sein.

Createrepo-Befehl

Sobald die Pakete heruntergeladen wurden, ist alles, was benötigt wird, der Befehl createrepo unten für jedes Repo

createrepo -v /var/www/html/rhel6/repo_name/ -g comps.xml

Hinweis:Die -g comps.xml wird nur für das Server-Repository benötigt.

Client-Server einrichten

Jetzt haben Sie ein lokales Repository, aber Sie müssen einige Änderungen auf Ihren Red Hat-Servern vornehmen, die diese Repositorys für Updates verwenden werden.

Stellen Sie zunächst sicher, dass bei allen anderen Repos das Enabled-Flag in der Repo-Datei in /etc/yum.repos.d auf 0 (Null) gesetzt ist. Ich würde die Repos vorerst nicht löschen, da Sie sie möglicherweise später benötigen. Es reicht aus, einfach das Enabled-Flag zu ändern.

Jetzt müssen Sie eine .repo-Datei erstellen, die auf jedem Server, der die Repositorys verwendet, zum Verzeichnis /etc/yum.repos.d hinzugefügt wird. Diese Datei sollte der folgenden Datei ähneln.

vi /etc/yum.repos.d/name_of_repo_file.repo
[server]
name = rhel-6-server-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/server
gpgcheck = 0
enabled = 1

[dts]
name = rhel-server-dts-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts
gpgcheck = 0
enabled = 1

[dts2]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

[rhsc]
name = rhel-server-dts2-6-rpms
baseurl = http://hostname_or_ip_address_of_repository/rhel6/dts2
gpgcheck = 0
enabled = 1

Erstellen Sie ein Skript und einen Cron-Job, um Ihre Repositories zu aktualisieren

Erstellen Sie ein Skript namens update-repository.sh und legen Sie es mit folgendem Inhalt in /usr/local/bin ab:

vi /usr/local/bin/update-repository.sh
echo Update script started at $(date) >> /var/log/update-repository.log
reposync --gpgcheck -l --repoid=rhel-6-server-rpms --download_path=/var/www/html/rhel6/server --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/server/
reposync --gpgcheck -l --repoid=rhel-server-dts-6-rpms --download_path=/var/www/html/rhel6/dts --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts/ \\
reposync --gpgcheck -l --repoid=rhel-server-dts2-6-rpms --download_path=/var/www/html/rhel6/dts2 --downloadcomps --download-metadata
createrepo --update /var/www/html/rhel6/dts2/
echo Update script ended at $(date) >> /var/log/update-repository.log
chmod 600 /usr/local/bin/update-repository.sh

Beachten Sie, dass ich es in ein Protokoll eingefügt habe, das ich so eingerichtet habe, dass es monatlich rotiert.

Erstellen Sie eine Datei in /etc/cron.d und nennen Sie sie update-repository mit folgendem Inhalt.

vi /etc/cron.d/update-repository
@weekly root /usr/local/bin/update-repository.sh

Abschließende Gedanken

Es gibt viele verschiedene Möglichkeiten, ein lokales Repository einzurichten, und ich habe das Rad bei diesem sicher nicht erfunden. Konsultieren Sie meine Quellen unten, um weitere Informationen und Einblicke in Ihr Setup zu erhalten.

Quellen

  • https://access.redhat.com/solutions/23016
  • http://www.oracle.com/technetwork/articles/servers-storage-admin/yum-repo-setup-1659167.html
  • https://www.howtoforge.com/creating_a_local_yum_repository_centos

Linux
  1. So erstellen Sie ein lokales YUM-Repository auf CentOS 7 / RHEL 7 mithilfe einer DVD

  2. So erstellen Sie ein lokales YUM-Repository auf RHEL 8 mithilfe einer DVD

  3. So spiegeln Sie ein Repository unter Linux

  4. Wie erhalte ich Red Hat Enterprise Linux kostenlos?

  5. Red Hat / CentOS :So erstellen Sie Schnittstellen- / NIC-Bonding

So aktivieren Sie das EPEL-Repository auf RHEL 7 ohne ein aktuelles Red Hat-Abonnement

So erstellen Sie ein benutzerdefiniertes RPM-Repository unter Linux

So erstellen Sie einen Ubuntu-Repository-Server

So erstellen Sie Ihr eigenes Repository für Pakete unter Debian

Hinzufügen eines EPEL 8-Repositorys zu Red Hat Satellite 6

So aktivieren Sie das Remi-Repository auf Fedora/Red Hat, um LAMP Stack zu installieren