Wie man ein Netzwerk-Repository einrichtet, um Pakete zu installieren oder zu aktualisieren – Teil 11

Die Installation, Aktualisierung und Entfernung installierter Programme sind wichtige Verantwortlichkeiten im täglichen Leben eines Systemadministrators. Wenn ein Rechner mit dem Internet verbunden ist, können diese Aufgaben mithilfe eines Paketverwaltungssystems wie aptitude (oder apt-get), yum oder zypper leicht durchgeführt werden, je nach der gewählten Distribution, wie in Teil 9 – Linux-Paketverwaltung der LFCE (Linux Foundation Certified Engineer)-Reihe erklärt. Sie können auch standalone .deb– oder .rpm-Dateien herunterladen und mit dpkg bzw. rpm installieren.

Linux Foundation Certified Engineer – Part 11
Introducing The Linux Foundation Certification Program

Allerdings, wenn ein Rechner keinen Zugriff auf das World Wide Web hat, sind andere Methoden notwendig. Warum würde jemand das tun wollen? Die Gründe reichen von dem sparen der Internetbreite (und somit der Vermeidung mehrerer gleichzeitiger Verbindungen zum Außen) bis zur Sicherung von Paketen, die aus dem Quellcode lokal kompiliert wurden, und einschließlich der Möglichkeit, Pakete bereitzustellen, die aus rechtlichen Gründen (z.B. Software, die in manchen Ländern beschränkt ist) nicht in offiziellen Repositories enthalten werden können.

Genau dort kommt das Netzwerkrepository ins Spiel, das das zentrale Thema dieses Artikels ist.

Unser Testumfeld
Network Repository Server:	CentOS 7 [enp0s3: 192.168.0.17] - dev1
Client Machine:			CentOS 6.6 [eth0: 192.168.0.18] - dev2

Ein Netzwerkrepositoryserver auf CentOS 7 einrichten

Als erster Schritt werden wir die Installation und Konfiguration eines CentOS 7-Rechner als Repository-Server [IP-Adresse 192.168.0.17] und eines CentOS 6.6-Rechners als Klienten durchführen. Der Setup für openSUSE ist fast identisch.

Für CentOS 7 folgen Sie den untenstehenden Artikeln, die Schritt für Schritt Anweisungen für die CentOS 7-Installation und wie man eine statische IP-Adresse einrichtet erklären.

  1. Installation von CentOS 7.0 mit Bildern
  2. Wie man eine Netzwerkstatische IP-Adresse auf CentOS 7 einrichtet

Bei Ubuntu gibt es einen großartigen Artikel auf dieser Website, der Schritt für Schritt beschreibt, wie man seine eigene, private Repository einrichtet.

  1. Einrichten lokaler Repositories mit ‚apt-mirror‘ in Ubuntu

Unser erstes Angebot wird die Art sein, wie Clients auf den Repository-Server zugreifen – FTP und HTTP sind die am meisten verwendeten. Wir werden die letztere Option wählen, da die Apache-Installation in Teil 1 – Installieren von Apache dieser LFCE-Reihe behandelt wurde. Dies wird uns auch erlauben, die Paketliste mit einem Web-Browser anzeigen zu können.

Nächstes, müssen wir Verzeichnisse erstellen, um die .rpm Pakete aufzulagern. Wir werden Unterverzeichnisse innerhalb von /var/www/html/repos entsprechend anlegen. Für unsere Bequemlichkeit könnten wir auch andere Unterverzeichnisse erstellen, um Pakete für verschiedene Versionen jeder Distribution (selbst wenn wir später so viele Verzeichnisse hinzufügen können, wie wir es brauchen) und sogar unterschiedliche Architekturen bereitstellen.

Erstellen des Repositorys

Ein wichtiges zu beachtendes, wenn du dein eigenes Repository einrichtest, ist, dass du eine recht große Speicherfläche verfügbar hast (~20 GB). Wenn du das nicht hast, kannst du die Dateisystemgröße, in der du die Inhalte des Repositories speicherst, verändern oder es ist sogar besser, ein zusätzliches dediziertes Speichergerät hinzuzufügen, um das Repository zu hosten.

Das gesagt, werden wir beginnen, die Verzeichnisse zu erstellen, die wir zum Hosten des Repository-Servers brauchen:

# mkdir -p /var/www/html/repos/centos/6/6

Nachdem wir die Verzeichnisstruktur für unser Repository-Server erstellt haben, werden wir in /var/www/html/repos/centos/6/6 die Datenbank initialisieren, die Pakete und ihre entsprechenden Abhängigkeiten verwaltet using createrepo.

Installiere createrepo, falls du das noch nicht getan hast:

# yum update && yum install createrepo

Dann initialisiere die Datenbank,

# createrepo /var/www/html/repos/centos/6/6
Createrepo Repository Initialization

Repository aktualisieren

Vorgehensweise: Annahme, dass der Repository-Server auf das Internet zugreifen kann, ziehen wir ein Online-Repository herunter, um die neuesten Updates der Pakete zu erhalten. Wenn das nicht der Fall ist, kannst du immer noch den gesamten Inhalt des Packages-Verzeichnisses von einer CentOS 6.6 Installations-DVD kopieren.

In diesem Tutorial gehen wir vom ersten Fall aus. Um unsere Download-Geschwindigkeit zu optimieren, wählen wir einen CentOS 6.6-Spiegel von einem Ort in unserer Nähe aus. Gehen Sie zu CentOS-Downloadspiegel und wählen Sie den aus, der Ihrem Standort am nächsten ist (in meinem Fall Argentinien):

Select CentOS Download Mirror

Navigieren Sie dann zum os-Verzeichnis innerhalb des markierten Links und wählen Sie die geeignete Architektur aus. Kopieren Sie dann den Link in der Adressleiste und laden Sie die Inhalte in das dedizierte Verzeichnis auf dem Repository-Server herunter:

Download CentOS Mirror
# rsync -avz rsync://centos.ar.host-engine.com/6.6/os/x86_64/ /var/www/html/repos/centos/6/6/ 

Falls sich der ausgewählte Repository aus irgendeinem Grund als offline erweist, gehen Sie zurück und wählen Sie ein anderes. Kein großes Problem.

Jetzt ist vielleicht die Zeit gekommen, sich zu entspannen und vielleicht eine Folge Ihrer Lieblingsserie anzusehen, denn das Spiegeln des Online-Repositorys kann eine Weile dauern.

Sobald der Download abgeschlossen ist, können Sie den Speicherplatzverbrauch mit

# du -sch /var/www/html/repos/centos/6/6/*
Check CentOS Mirror Size

überprüfen. Aktualisieren Sie schließlich die Datenbank des Repositorys.

# createrepo --update /var/www/html/repos/centos/6/6

Möglicherweise möchten Sie auch Ihren Webbrowser starten und zum Verzeichnis repos/centos/6/6 navigieren, um zu überprüfen, ob Sie die Inhalte sehen können:

Verify CentOS Packages

Und schon sind Sie fertig – jetzt ist es an der Zeit, den Client zu konfigurieren.

Source:
https://www.tecmint.com/setup-yum-repository-in-centos-7/