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 werden wir einen einfachen Leitfaden zur Erstellung eines Debian-Pakets bereitstellen, der es Ihnen ermöglicht, Ihre eigenen Softwareanwendungen für die Debian-Distribution zu verpacken und zu verteilen.

Vorbereitung

Zunächst muss ein Verzeichnis für das Projekt angelegt werden:

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. Er sollte eindeutig sein und die Namen sollten in der Regel klein geschrieben sein und Bindestriche statt Leerzeichen verwenden.
  • Version: 1.0
    • Dies ist die Versionsnummer des Pakets. Sie sollte nach dem Semantic Versioning Schema aufgebaut sein (z. B. X.Y.Z).
  • 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. Diese Informationen werden verwendet, um Kontakt aufzunehmen, falls es Probleme mit dem Paket gibt.
  • Description: Eine kurze Beschreibung Ihrer Anwendung.
    • Dies ist eine kurze Beschreibung des Pakets bzw. der Anwendung. Sie sollte den Zweck und die Funktion des Pakets klar und prägnant erklären.

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