Ein Debian Paket bauen

Ein Debian Paket bauen

Das Erstellen eines Debian-Pakets mag auf den ersten Blick einschüchternd erscheinen, aber es ist eigentlich gar nicht so kompliziert, wie es scheint. In diesem Blogbeitrag werde ich zeigen wie man ein Debian Paket erstellt.

Vorbereitung

Zunächst muss ein Verzeichnis für das Projekt angelegt werden. Ich lege gerne Projekte in einem gesonderten Projektordner im Root-Verzeichnis an:

mkdir /Projekte
cd /projekte

mkdir projektname
cd projektname

Verzeichnisstruktur

Alle Verzeichnisse die in dem Projektverzeichnis liegen werden später auch so in die Verzeichnisse des Debian-Systems geschrieben. Es wird ein Verzeichnis benötigt, wo später die Informationen für das Paket drin stehen. Alle anderen Verzeichnisse sind frei wählbar.

Pflichtverzeichnis & Kontrolldatei

Das Pflichtverzeichnis DEBIAN beinhaltet eine Datei namens control. Hier liegen alle Informationen für das System drin.

mkdir -p DEBIAN

Danach wird die control Datei angelegt.

touch DEBIAN/control
nano DEBIAN/control

In diese Datei wird folgendes eingefügt:

Package: Projektname
Version: 1.0
Section: base
Priority: optional
Architecture: all
Depends: (hier die Abhängigkeiten angeben)
Maintainer: Ihr Name <ihre@email.com>
Description: Eine kurze Beschreibung Ihrer Anwendung.
  • Package: Projektname
    • Dies ist der Name des Debian-Pakets.
  • Version: 1.0
    • Dies ist die Versionsnummer des Pakets.
  • Section: base
    • Dies gibt die Sektion des Debian-Paketarchivs an, unter der das Paket gefunden werden kann. "base" ist eine allgemeine Sektion für grundlegende Pakete.
  • Priority: optional
    • Dies gibt die Priorität des Pakets an. "optional" bedeutet, dass das Paket nicht essentiell ist, aber dennoch nützlich oder wichtig sein kann.
  • Architecture: all
    • Dies ist die Architektur des Pakets. "all" bedeutet, dass das Paket plattformunabhängig ist und auf jeder Architektur funktioniert.
  • Depends: (hier die Abhängigkeiten angeben)
    • Dies sind die Abhängigkeiten, die das Paket benötigt, um ordnungsgemäß zu funktionieren. Sie sollten die Pakete auflisten, die installiert sein müssen, bevor Ihr Paket installiert werden kann.
  • Maintainer: Ihr Name ihre@email.com
    • Dies ist der Name und die E-Mail-Adresse des Paketbetreuers oder Entwicklers.
  • Description: Eine kurze Beschreibung Ihrer Anwendung.
    • Dies ist eine kurze Beschreibung des Pakets bzw. der Anwendung.

Programm Verzeichnis

Die Verzeichnisse wo das Programm liegt sind Frei wählbar. Möchte man aber einen Befehl aus jedem Verzeichnis des Systems ausführen, so muss man das Skript im Verzeichnis /usr/bin/ ablegen.

mkdir -p usr/bin/

Erstellen des Programms

Nun erstellt man hier sein Skript. Dieses Skript kriegt aber keine Dateiendung. Zeil dieses Skriptes ist es, wenn man gruezi in die BASH eingibt, dass dann gruezi miteinander ausgegeben wird.

touch usr/bin/gruezi
nano usr/bin/gruezi
#!/bin/bash

echo "gruezi miteinander"

Danach muss das Skript noch ausführbar gemacht werden:

chmod +x usr/bin/gruezi

Paket bauen & installieren

cd ..
dpkg-deb --build projektname

Danach kann man dieses Paket auf zwei weisen installieren.

sudo dpkg -i projektname.deb

Oder

sudo apt install projektname.deb

Abschluss

Nun hat man sein erstes Paket gebaut. Gibt man nun in der Kommandozeile den Befehl gruezi ein so wird einem gruezi miteinander ausgegeben.