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:


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>


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.

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.


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.