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. 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.
17. Juni 2008 um 16:37
Yeah, eine coole Anleitung
Ich bin jetzt im Deb-Paket-Bau-Wahn ^^
Verbesserungsvorschlag:
die Datei in “/usr/bin” muss noch mit
“chmod a+rx” für andere “berechtigt werden”
Weis nicht ob du das mit “ausführbar machen” gemeint hast
Sonst echt Super
Gruss
Immanuel
20. Juni 2008 um 14:03
Moin,
großartige Anleitung, Danke echt jetzt
Es wäre super wenn du noch eine Anleitung erstellen könntest wie man ein Repository anlegt =)
21. Juni 2008 um 1:04
Ja, genau.
Das wäre auf jedenfall cool
6. Juli 2008 um 13:47
Oder noch lieber würde ich wissen, wie man Debian Pakete erstellt aus Programmen im Quelltext, also welche die noch kompiliert werden müssen.
16. Juli 2008 um 20:02
@ N3X0NIC
Um Deb aus dem Quelltext zu erstellen nutze ich immer checkinstall. Ist in den Packetquellen zu finden.
1. ./configure
make
sudo make install
2. sudo checkinstall
Dann einfach die fragen von checkinstall abarbeiten und Fertig!
LG
16. Juli 2008 um 20:12
Hallo Eddi2k!
Richtigerweise funktioniert checkinstall (das Programm muss vorher natürlich installiert werden über den Paketmanager) so:
./configure
make
sudo checkinstall (kein sudo make install)
Allerdings eignet sich checkinstall nur dazu, Pakete für den eigenen Gebrauch zu erstellen, da die kompilierten Pakete hardwareabhängig sind und auf anderen PCs oft nicht funktionieren.
24. September 2008 um 21:53
Habe erstellen verstanden aber was fürn Programm ist
das, beziehungsweise kann ich damit Windows umbauen?
15. Oktober 2008 um 12:51
Ich versteh zwar kein Wort. Aber mit Windows haben .debs nun wirklich nichts zu tun
10. November 2008 um 22:20
Cool, sowas hab ich gesucht.
8. Dezember 2008 um 14:57
[...] Kommentare scrawl zu Deb-Paket für Ubuntu/Debian erstellenChristian zu Dell XPS M1330 – Test auf Linux-TauglichkeitApfel zu Deb-Paket für [...]
8. Dezember 2008 um 14:58
[...] sich das Paket selbst erstellen will, sollte sich folgenden Artikel von mir einmal genauer ansehen. Deb-Paket für Ubuntu/Debian erstellen. Alle anderen können sich das fertige Paket hier herunterladen und mit einem einfachen Doppelklick [...]
23. Februar 2009 um 23:38
Herzlichen Dank, dein kleines Tutorial hat mir endlich verständlich gemacht wie man sich schnell und einfach ein DEB-Paket bastelt.
Für die, die DEBs aus dem Quellcode erstellen wollen: einfach ein eigenes verzeichnis erstellen und dieses dem configure-script per –prefix-dir übergeben (Bsp.: ./configure –prefix-dir=/home/user/programmname).Anschließend einfach “make && make install” ausführen und fertig
23. März 2009 um 22:08
Danke!!!
Damit habe ich endlich mal mein einziges zusätzliches Java-Programm anständig verpackt. Habe unter Punkt 6 nur vor den Befehl noch “fakeroot” geschrieben.
26. Mai 2009 um 14:54
Wie ausführbar machen? Bei mir funktioniert das nicht.
2. Juni 2009 um 13:33
jetzt funktioniert’s schon
16. Juni 2009 um 12:39
Kann man debian pakete auch mit windows 7 erstellen?????