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.
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.
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:
distributions
options
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>
Origin: Peter Pan Label: DEBIAN-Selbstbau Suite: stable Codename: repo Version: 7.8 Architectures: amd64 i386 noarch Components: main Description: Selbsterstellte DEBIAN-Pakete
In dieser Datei sind nur zwei Parameter wichtig:
verbose basedir <Pfad zum Repository>
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.
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.
Der Befehl zum Entfernen eines Paketes aus dem Repository sieht so aus:
~# reprepro -b /opt/repository remove repo <Paketname>
Der Paketname muss bekannt sein.
Zum Anzeigen aller Pakete in einem Repository kann folgender Befehl ausgeführt werden:
~# reprepro -b /opt/repository list repo
Damit das Repository auch von einem Client-Rechner aus genutzt werden kann, sollte der Zugriff über einen Webserver realisiert werden.
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.