Deb-Paket für Ubuntu/Debian erstellen

Diese Anleitung zur Erstellung von Deb-Paketen bezieht sich auf bereits kompilierte Programme, bzw. Programme die nicht kompiliert werden müssen (z.B. Python- oder Bash-Skripte). In dieser Anleitung wird nicht über die Erstellung von Deb-Paketen aus dem Quelltext gesprochen. Lasst euch nicht von der Länge der Anleitung abschrecken. Das dahintersteckende Prinzip ist ganz einfach, hat man es ersteinmal verstanden. Ich versuche hier lediglich jeden Schritt so genau und eindeutig wie möglich zu erklären.

1. Als allererstes erstellen wir einen Ordner, zum Beispiel auf dem Desktop, mit dem Namen des Programmes, in unserem Beispiel nenn wir ihn namedesordners. In diesem Ordner erstellen wir noch zwei Ordner, einen benennen wir usr, den andere DEBIAN. Bitte immer auf Groß- und Kleinschreibung achten! In letzteren kommt die control-Datei, eine einfache Textdatei, welche Paketinformationen enthält. Hier steht z.B. der Name des Paketes, die Versionsnummer, die Kategorie, usw. Hier eine Beispieldatei:

Package: namedesprogrammes

Version: 0.7

Section: admin

Priority: optional

Architecture: all

Essential: no

Depends:

Installed-Size: 400

Maintainer: Name des Paketerstellers <name@adresse.com>

Description: Dies ist die Beschreibung des Paketes

—–

2. Nun öffnen wir den zweiten Ordner, usr. Dieser Ordner entspricht später, wenn wir das erstelle Deb-Paket installieren, dem Verzeichnis /usr im System. Nun müssen wir die Dateien und Ordner an dem Ort plazieren, wo sie sich später auch im System befinden sollen. Benötige Ordner müssen wir natürlich erstellen.

/usr/share/namedesprogrammes/

In diesem Ordner befindet sich das Programm. Die Datei welche ausgeführt werden muss wurde natürlich vorher ausführbar gemacht. In unserem Beispiel besteht das Programm nur aus einer Datei namens programm.sh.

—–

3. Im usr-Ordner erstellen wir nun einen neuen Ordner namens bin. In diesen Ordner legen wir die Datei namedesprogrammes und machen sie ausführbar (!). Über diese Datei wird durch den Befehl namedesprogrammes später das Programm gestartet. Der Inhalt der Datei sieht wie folgt aus.

#!/bin/bash

cd /usr/share/namedesprogrammes

./programm.sh

Wie wir sehen, macht diese Datei nichts anderes, als in das Verzeichnis zu wechseln, wo sich das Programm befindet und führt anschließend das Programm aus. Theoretisch könnten wir nun das Paket eigentlich bauen, denn die Grundfunktionalität ist bereits enthalten. Würden wir das Paket installieren und anschließend die Konsole oder den Ausführen-Dialog öffnen und den Befehl namedesprogrammes eingeben, würde das Programm korrekt starten.

—–

4. Wir sind allerdings noch nicht zufrieden und wollen, dass uns das Programm im Anwendungen-Menü angezeigt wird. Nun, dazu benötigen wir noch eine weitere Datei. Diese muss sich in /usr/share/applications befinden. Wir erstellen die Datei namedesprogrammes.desktop und geben ihr folgenden Inhalt.

[Desktop Entry]

Encoding=UTF-8

Name=namedesprogrammes

Comment=Dies ist ein Kommentar welcher beim Ueberfahren mit der Maus angezeigt wird

Exec=namedesprogrammes

Terminal=false

Type=Application

Categories=GNOME;GTK;System;

—–

5. Es ist weiterhin möglich, dem Programm ein Symbol zuzuweisen. Dazu legen wir den Ordner usr/share/pixmaps an und erstellen dort eine Symboldatei, zum Beispiel namedesprogrammes.png. In der namedesprogrammes.desktop-Datei muss folgende Zeile hinzugefügt werden.

Icon=namedesprogrammes.png

—–

6. Nun kommt der Moment, an dem das Paket erstellt werden muss. Dazu werden keine Ketten von Befehlen benötigt, sondern nur ein einziger. Falls sich der ganz am Anfang erstellte Ordner auf dem Desktop befindet, wechseln wir in der Konsole zum Desktop.

cd /home/benutzername/Desktop

Dann führen wir folgenden Befehl aus um das Deb-Paket zu erstellen.

dpkg -b namedesordners namedesprogrammes-0.7-all.deb

Das all vor dem .deb beschreibt, dass das Programm auf allen Architekturen funktioniert. Wir könnten statt all auch i386 oder amd64 hinschreiben. Das fertige Paket befindet sich nun auf dem Desktop. Ansonsten gibt dpkg eine Fehlermeldung aus und beschreibt, wieso das Paket nicht erstellt werden konnte.

Achtung! Es sollte darauf geachtet werden, vor der endgültigen Erstellung des Paketes mit dpkg -b die unsichtbaren Sicherungsdateien zu löschen, also alle Dateien mit ~ am Ende. Diese werden ansonsten mit in das Paket verpackt und verbrauchen unnötig Speicherplatz.

—–

Ich hoffe, dass ich mit dieser Anleitung einigen helfen kann. Viel Spaß beim Deb-Bauen! Falls es Verbesserungsvorschläge gibt, dann schreibt sie hier als Kommentare rein.

artikel von picomol

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s