Das eigene debian-basierte Repository erstellen

Veröffentlicht von Thomas Krupa am

Wer die Vorzüge einer paketbasierten Installation unter Debian/Ubuntu kennt, möchte sie nicht mehr missen. Es kommt aber immer wieder vor, dass sich das eine oder andere Programm nicht in den offiziellen Repositories befindet.

Die Datei herunterladen und installieren mit:

sudo dpkg -i MeinProgramm.deb

Die manuelle Installation ist zwar nicht aufwendig oder schwierig, aber wenn man mehrere Rechner verwalten muss, ist ein eigenes Repository die Lösung.

Für die Installation ist ein funktionierender Webserver notwendig. Ich gehe mal von einem Apache mit Standardeinstellungen aus. Um einen Apache Webserver zu installieren

$ sudo apt install apache2

Nach der Installation können wir überprüfen, ob der Webserver funktioniert. Dazu navigiere im Browser zum entsprechenden Host. Dieser sollte dann It works! ausgeben.

Die Webserver-Software läuft, aber es wurde noch kein Inhalt hinzugefügt. Das DocumentRoot-Verzeichnis des Standard-Apache-VirtualHost, ist /var/www/html. Hier werden wir unser Repository erstellen.

$ mkdir /var/www/html/packages

Nachdem wir ausschließlich 64bit Systeme verwenden, brauchen wir kein extra Verzeichnis um zw. 32 und 64bit Paketen zu unterscheiden.

Jetzt können wir diverse .deb Dateien in das restellte Verzeichnis kopieren. Konkret ein paar beispiele:

$ wget https://atom-installer.github.com/v1.53.0/atom-amd64.deb?s=1605024603&ext=.deb -O /var/www/html/packages/atom.deb

$ wget https://github.com/VSCodium/vscodium/releases/download/1.51.1/codium_1.51.1-1605141118_amd64.deb -O /var/www/html/packages/codium.deb

$ wget https://www.greenfoot.org/download/files/Greenfoot-linux-361.deb -O /var/www/html/packages/greenfoot.deb

Jetzt wechseln wir noch in das Verzeichnis und installieren noch das Paket dpkg-dev.

$ cd /var/www/html/packages/

$ apt install dpkg-dev

Jetzt geben wir den folgenden Befehl ein, um eine Katalogdatei für die APT-Verwendung zu erstellen.

$ dpkg-scanpackages . /dev/null | gzip -9c > Packages.gz

Dieser Befehl scannt alle deb-Dateien und legt das lokale Repository auf dem Server an. Dies kann eine Weile dauern, abhängig von der Anzahl der Pakete.
Zu beachten ist, dass Sie jedes Mal, wenn wir eine neue deb-Datei in diesem Repository hinzufügen, den obigen Befehl ausführen sollten, um die Katalogdatei zu aktualisieren.

Erledigt! Wir haben die Katalogdatei erstellt.

Hinzufügen des Repositorys zu den Software-Quellen

Am Client-Rechner müssen wir jetzt die Datei /etc/apt/sources.list bearbeiten, um unsere Pakete von dem von uns erstellten lokalen Repository installieren zu können.

echo "deb [trusted=yes] http://SERVER/packages/ ./" | tee -a /etc/apt/sources.list > /dev/null

Nachdem es ein internes Repository ist vertrauen wir dem auch. Daher der Teil [trusted=yes]. Das erspart uns ein paar zusätzliche Schritte.

Jetzt können wir die Software installieren.

$ apt update
$ apt install codium greenfoot atom

Sollte es Updates der Pakete geben, dann am Server die Pakete austauschen und den Befehlt dpkg-scanpackages entsprechend ausführen. Diese werden dann wiederum am Client mit

$ apt update && apt upgrade 

aktualisiert.

Bild von OpenClipart-Vectors auf Pixabay


1 Kommentar

thomas weissel · 16.11.2020 um 14:52

sehr übersichtliche anleitung. danke!
wer hätte gedacht, dass dies so einfach geht 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.