Inhaltsverzeichnis
DLokales Paketrepository: reprepro
Nachfolgend soll die Einrichtung eines Paketrepository beschrieben werden. Mit Hilfe eines Paketrepository können selbst gebaute Pakete dort eingepflegt und mit Hilfe der Paketwerkzeuge auf dem System installiert werden.
Voraussetzungen
Es wird ein minimales DEBIAN-System vorausgesetzt (Minimalinstallation). Weiterhin ist der Zugriff auf ein DEBIAN Repository notwendig, weil mehrere Pakete benötigt werden.
Nachfolgend wird ein DEBIAN Stetch AMD64 (Version 9.5) als Voraussetzung benutzt. Die Paketliste der Minimalinstallation ist hier zu finden.
Struktur
Ein DEBIAN-Paketrepository verlangt eine bestimmte Verzeichnis- und Dateistruktur, in welcher später mit dem Befehl „reprepro“ DEBIAN-Pakete abgelegt werden. Im Verzeichnis, wo später alle Pakete liegen sollen und welches von einem Webserver aus erreichbar sein sollte, wird ein Unterverzeichnis „conf erstellt.
Im Unterverzeichnis „conf werden dann folgende Datien erstellt:
distributionsoptions
distributions
Für diese Datei werden bestimmte Parameter verlangt:
Origin: <Eigentümer> Label: <Bezeichnung> Suite: stable Codename: <Kurzname> Version: 7.8 Architectures: amd64 i386 noarch Components: main Description: <Beschreibung des Repository>
- Hier mal ein Beispiel:
Origin: Peter Pan Label: DEBIAN-Selbstbau Suite: stable Codename: repo Version: 7.8 Architectures: amd64 i386 noarch Components: main Description: Selbsterstellte DEBIAN-Pakete
options
In dieser Datei sind nur zwei Parameter wichtig:
verbose basedir <Pfad zum Repository>
reprepro
Zum Hinzufügen oder Entfernen von Paketen aus dem Repository wird das Programm „reprepro verwendet:
~# apt-get install reprepro
Für die nachfolgenden Beschreibungen wird davon ausgegangen, dass das Repository im Verzeichnis „/opt/repository“ liegt und als Codename (siehe Datei “distributions“) „repo“ verwendet wird.
Pakete hinzufügen
Der Befehl zum Hinzufügen eines Paketes zum Repository sieht so aus:
~# reprepro -S main -P 5 -b /opt/repository includedeb repo <DEBIAN-Paket>
Der Parameter für die Priorität (-P) kann auch entsprechend angepasst werden.
<note tip>Befindet sich das gleiche Paket bereits im Repository, erfolgt kein erneutes Hinzufügen. Eine ältere Version wird abgelehnt, eine neuere Version ersetzt das alte Paket, welches dann entfernt wird.</note>
Pakete entfernen
Der Befehl zum Entfernen eines Paketes aus dem Repository sieht so aus:
~# reprepro -b /opt/repository remove repo <Paketname>
Der Paketname muss bekannt sein.
Anzeigen der Pakete
Zum Anzeigen aller Pakete in einem Repository kann folgender Befehl ausgeführt werden:
~# reprepro -b /opt/repository list repo
Webserver
Damit das Repository auch von einem Client-Rechner aus genutzt werden kann, sollte der Zugriff über einen Webserver realisiert werden.
Verwaltung mit einem Skript
Der Im- und Export von Dateien in das Repository mit dem Programm reprepro gestaltet sich nicht so einfach. Hier schafft das Skript DEBIANPaketRepository Abhilfe, welches nur die notwendigen Parameter abfragt. Das Skript ist im DEBIAN-Paket arbeitssystem-config enthalten.