Das Paketverwaltungssystem von Ubuntu, das dem großen Bruder Debian zu verdanken ist, macht es so einfach wie möglich, Ihr System auf dem neuesten Stand zu halten. Ob durch GUI-Programme oder die Verwendung von " apt-get ", beeindruckt mich ständig. Aber es gibt immer noch Fälle, in denen Sie kein bestimmtes Programm im DEB-Format bekommen können, oder Sie möchten vielleicht Ihre eigene Software für andere Debian- und Ubuntu-Benutzer verteilen. Ein DEB-Paket von Hand zusammenzustellen, ist eine schwierige Aufgabe ... zum Glück macht es Debreate einfach, Software für die einfache Installation zu paketieren.

Hinweis : Dies ist der zweite Teil der Erstellung der Deb-Paketserie. Sie können den ersten Teil lesen: Die Grundlagen der Debian-Paketverwaltung: DEB-Pakete [Linux 101] hier.

Debreate installieren und starten

Das erste, was wir tun müssen, ist Debreate zu installieren. Sie können das Paket hier von Sourceforge herunterladen und dann mit dem Paketmanager Ihrer Wahl oder mit dem folgenden Befehl installieren:

 sudo dpkg -i debreate_0.7.7_all.deb 

Dann können wir Debreate von KRunner aus starten, indem Sie " debreate " ausführen oder indem Sie auf den Eintrag im Abschnitt "Development" des Anwendungsmenüs klicken.

Starten Sie das Programm, und Sie erhalten den folgenden (ersten) Bildschirm, wie unten links gezeigt, gefolgt von einem Info-Bildschirm, unten rechts.

Kontrollinfo

Klicken auf den Pfeil in der oberen Ecke bringt uns zu einem Bildschirm namens "Control". Hier werden wir die Daten eingeben, die im "control.tar.gz" Teil des Pakets enden. Sie müssen die folgenden Felder ausfüllen:

  • Paket: Der Name des Pakets darf nur aus Kleinbuchstaben, Zahlen, "+", "-" oder "." Symbolen bestehen.
  • Version: Eine Versionsnummer - Ich verwende 0.0.1 für diese erste Version.
  • Betreuer: Der Name der Person, die diese Anwendung packt (das bin ich).
  • E-Mail: Seine (meine) E-Mail-Adresse.
  • Architektur: Wenn es sich um ein Binärpaket handelt (dh nicht um ein Paket von Quellcode, das kompiliert wird), ist dies wahrscheinlich eines von: "i386" (für 32-Bit-Prozessoren, wie Pentium- oder Core-Prozessoren), "amd64" ( 64-Bit-Prozessoren, wie der AMD Phenom oder neuer Intel Core i3 / 5/7), oder "alle", was bedeutet, dass es nicht prozessorabhängig ist. Da dies ein Shell-Skript ist, das auf jeder Version von Ubuntu ausgeführt wird, wähle ich "all" .
  • Abschnitt: Dies ist die Kategorie, in der sich das Paket in einem größeren Repository befindet. Da unser Skript es uns ermöglicht, Dokumente einfach aus Textmarkup auszugeben, habe ich den Abschnitt "Text" ausgewählt (Pandoc selbst befindet sich ebenfalls im Abschnitt "Text").
  • Priorität: Gemäß den Debian / GNU FAQ sollte dies "Optional" sein (und wiederum ist Pandoc selbst auch "Optional").
  • Kurzbeschreibung: Diese Beschreibung des Pakets wird zum Beispiel in einer Listenansicht in einem Software-Manager wie dem Software Center oder Muon angezeigt.
  • Lange Beschreibung: Diese längere Beschreibung wird in einer Detailansicht angezeigt, z. B. wenn ein Paket in einem Software-Manager ausgewählt wurde oder indem apt-cache show [package]" .

Klicken Sie auf den Rechtspfeil oben rechts, um zum nächsten Bildschirm zu gelangen.

Die Abhängigkeiten

Das nächste, was wir vorbereiten müssen, ist eine Liste aller anderen Pakete, die dieses Programm verwenden wird. Offensichtlich müssen wir "Pandoc" installieren, da das Skript dieses Programm aufruft, und da wir eine GUI enthalten, müssen wir sicherstellen, dass auch "Zenity" installiert ist. Wir müssen diese auf dem Bildschirm "Abhängigkeiten" eingeben (wir können auch eine Versionsnummer angeben, aber für dieses Skript muss die Version von Pandoc und Zenity ausreichen). Klicken Sie auf die Schaltfläche "Hinzufügen", um sie hinzuzufügen zur Liste.

Jetzt lasst uns ein paar Dateien packen!

Die Dateien

Das erste, was zu tun ist, um alle Dateien zu sammeln, die Sie einschließen, und ordnen Sie sie in der oben beschriebenen Ordnerstruktur an. Für diesen Artikel packe ich das Skript pandoc-pub.sh, das ich in einem früheren Artikel erstellt habe. Auf dem Bildschirm "Dateien" können Sie Dateien einzeln auswählen und angeben, in welchem ​​Ordner sie installiert werden sollen (siehe unten). Ich habe drei Dateien, die ich gerne hinzufügen würde:

  • Das Skript selbst ... Da dieses Programm ein Shell-Skript ist, ist es in sich abgeschlossen. Ich muss dies in "/ usr / bin" nach FHS setzen.
  • Als nächstes werde ich eine kurze README-Datei mit Gebrauchsanweisungen einschließen. Dies wird in "/ usr / share / doc" gehen.
  • Zu guter Letzt werde ich ein Symbol hinzufügen. Ich werde dies in "/ usr / share / icons" platzieren.

Skripte, Änderungsprotokoll, Copyright

Auf dem nächsten Bildschirm können Sie die Skripte "preinst", "postinst", "prerm" und / oder "postrm" angeben, die im vorherigen Artikel zu DEB-Grundlagen beschrieben wurden. Drei weitere werden folgen: Changelog (mit dem Sie Änderungen seit der letzten Version beschreiben können), Copyright (eine Erklärung, wie die Software verwendet werden kann) und Menu Launcher (der die Erstellung eines Elements im Desktop-Hauptmenü automatisiert) . Für die Zwecke dieses Testpakets verwende ich keines von diesen.

Baue es!

Der letzte Bildschirm wird Ihnen einige zusätzliche Optionen geben, die wir ignorieren können. Kommen wir zum Aufbau. Klicke auf den großen grünen Knopf!

Mein Paket hatte einige Warnungen (die Entwickler sprechen sind anders als Fehler, die "Show-Stopper" sozusagen sind) wie eine fehlende Copyright-Erklärung, fehlende Manpage, etc ... da dieses Paket nur für mich selbst ist, ist dies OK. Aber es ist gebaut! Sie können mit dem folgenden Standard-Befehl "dpkg" installieren:

 sudo dpkg -i pandoc-pub_0.0.1_all.deb 

Aber es scheitert ... warum? Weil es Abhängigkeiten von Zenity und Pandoc hat (die ich gerade entfernt habe, um diese Funktion zu testen). Durch einen Doppelklick auf das Paket in einem Dateimanager kann GDebi die Abhängigkeitsinstallation für uns durchführen, wie unten gezeigt:

Einmal installiert, kann ich das jetzt an meine Freunde verteilen (die im Großen und Ganzen viel bessere Programmierer sind als ich). So finden Sie einige Ihrer nützlicheren Skripts oder Programme und erhalten Verpackung. Nützliche Software an andere zu verteilen, macht die FOSS Community so großartig!