====== 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 {{debian-linux:debian-stretch-9.5_paketliste-minimalinstallation.txt|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'' * ''options'' \\ ==== distributions ==== Für diese Datei werden bestimmte Parameter verlangt: Origin: Label: Suite: stable Codename: Version: 7.8 Architectures: amd64 i386 noarch Components: main Description: \\ * 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 \\ ===== 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 //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 //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 **''{{debian-linux:debianpaketrepository.sh|DEBIANPaketRepository}}''** Abhilfe, welches nur die notwendigen Parameter abfragt. Das Skript ist im DEBIAN-Paket **''arbeitssystem-config''** enthalten. \\ \\ \\ {{tag>DEBIAN reprepro APT}}