RPM: Lokales Repository für RPM Pakete

Wird eine Software nur als einfaches RPM-Paket und nicht in einem Repository zur Verfügung gestellt, ist der Installationsaufwand bei einem Server noch sehr überschaubar. Jedoch wächst der Aufwand mit steigender Serverzahl rapide an. Hinzu kommt, dass die Überprüfung auf und die Installation von Updates sich als sehr zeitaufwendig erweist.

Mit dem Tool createrepo kann für einzelne RPM-Pakete in wenigen Schritten ein Repository erstellt werden. Doch bevor dies gemacht werden kann, ist die Installation des Programms notwendig.

$ yum install createrepo

Anschließend werden alle RPM-Pakete, die in dem Repository enthalten sein sollen, in einen Ordner gelegt.

$ cp ~/rpmbuild/RPMS/x86_64/*.rpm /var/www/mein-repo/

Ist dies geschafft kann das Repository erstellt werden. Dabei listet das Programm bei der Ausführung alle Pakete auf, die zum Repository hinzugefügt wurden.

$ createrepo -v /var/www/mein-repo/

Anschließend sollte im Verzeichnis /var/www/mein-repo/ ein Unterverzeichnis mit dem Namen "repodata" vorhanden sein, in dem die Informationen zu dem Repository liegen. Für einen ersten Test kann das Repository nun lokal eingebunden werden. Dazu wird eine neue Datei im Verzeichnis /etc/yum.repos.d/ mit dem Namen mein-repo.repo angelegt. Dabei ist darauf zu achten, dass die Dateiendung "repo" lautet. Der Inhalt dieser Datei könnte wie folgt aussehen.

[mein-repo]
name = Mein Repository
baseurl = file:///var/www/mein-repo/
enabled = 1
gpgcheck = 0

Natürlich ist es auch möglich die Daten mit Hilfe eines Web-Servers für andere Server verfügbar zu machen. Je nach dessen Konfiguration könnte das Repository wie folgt eingebunden werden.

[mein-repo]
name = Mein Repository
baseurl = http://repo-server.example.org/mein-repo/
enabled = 1
gpgcheck = 0

Anschließend sollte einer Installation der Pakete mit Hilfe von yum nichts mehr im Wege stehen.

Verwandte Artikel