Open Source im professionellen Einsatz
Linux-Magazin 02/2016
© Theeraphan Satrakom, 123RF

© Theeraphan Satrakom, 123RF

Was bei Debian- und Ubuntu-Paketen für Systemd zu beachten ist

Gekonnt verpackt

Systemd betrifft nicht nur Admins von Systemen, sondern auch die Betreuer von Paketen. Ganz gleich, ob es sich um offizielle Distributionspakete oder das eigene Repository handelt – beim Umstieg auf Systemd gibt es einiges zu beachten.

689

Systemd [1] hat sich mittlerweile als Initsystem der Linux-Gegenwart etabliert. Und das trotz aller Widrigkeiten: Insbesondere das Debian-Projekt [2] musste diverse interne Diskussionen führen, bis sich die Debianer mittels einer Generalabstimmung auf einen Ersatz für das in die Jahre gekommene Sys-V-Init-System einigen konnten.

Andere Distributionen handelten in dieser Sache deutlich schneller: Fedora [3] liefert das maßgeblich von Lennart Poettering geschriebene Systemd seit 2010 aus und erhob es mit Version 15 zum Standard. Open Suse [4] zog mit der Ausgabe 12.1 nach. Über die Community-Distributionen landete Systemd schließlich auch in den jeweiligen Enterprise-Systemen der Hersteller. Dass Ubuntu [5] den Umstieg auf Systemd deutlich schneller absolvierte als seine Basisdistribution Debian, lag wohl auch daran, dass Mark Shuttleworth den Sieg von Systemd über die Konkurrenz öffentlich einräumte [6] und so die neue Marschrichtung für Ubuntu quasi von oben vorgab. Ein "Benevolent Dictator for Life" fehlt im Debian-Projekt – dem andernfalls wohl eine Vielzahl ermüdender Diskussionen [7] erspart geblieben wären.

Jessie war die erste Debian-Version mit einem funktionierenden Systemd an Bord. Viele Entwickler passen sich nun den neuen Begebenheiten an und kümmern sich um die Migration auf das neue Initsystem. Als integraler Systemdienst muss das insbesondere mit dem Paketsystem kooperieren: Installiert ein Admin ein Paket, das einen Daemon mitbringt, sollte dieser danach laufen.

Systemd mitdenken

Damit der Automatismus greift, müssen die Paketbetreuer ihre ».deb« -Pakete entsprechend vorbereiten. Bei Paketen im offiziellen Archiv von Debian oder Ubuntu haben das Debian-Projekt und Canonical ganze Arbeit geleistet: Nur noch wenige Pakete sind nicht kompatibel mit Systemd, für Ubuntu wartet eine Liste unter [8]. Admins dieser Systeme dürfen darauf vertrauen, dass sich die gelieferten Pakete in Sachen Initsystem so verhalten wie erwartet.

Viele Systeme nutzen jedoch nicht nur Pakete aus dem offiziellen Archiv. Das kann mehrere Gründe haben: Häufig bauen Admins eigene Pakete von Software, die noch nicht im Debian-Archiv steckt. Auch Unzufriedenheit mit den Paketen des Distributors kann ein Auslöser für den Eigenbau sein. In jedem Fall gilt: Wer selbst Pakete für seine Systeme pflegt, muss sie freilich auch von Sys-V-Init oder Upstart auf Systemd umstellen. Praktischerweise bringen sowohl Debian als auch Ubuntu viele Helferlein mit, die diverse Arbeitsschritte beim Paketbau automatisch erledigen. Die Paketbetreuer müssen die vorhandenen Werkzeuge im Wesentlichen miteinander kombinieren. Der Artikel zeigt, wie das für Debian- und Ubuntu-Systeme klappt.

Paket-Anatomie

Bei der Integration von Systemd-Ressourcen in Debian-Pakete ergeben sich nur marginale Unterschiede zwischen den Varianten für Debian und Ubuntu. Die grundsätzliche Herangehensweise ist gleich, Systemd hat die Unterschiede zwischen Debian- und Ubuntu-Paketen tatsächlich verkleinert. Für den weiteren Verlauf gilt, dass die Arbeitsschritte für Debian und Ubuntu identisch sind, wenn der Artikel nicht ausdrücklich etwas anderes angibt. Doch zunächst zur Anatomie eines Debian-Paketes, denn wer diese kennt, versteht auch die Arbeitsschritte beim Umrüsten auf Systemd besser.

Grundsätzlich entsteht ein Debian-Paket dadurch, dass ein Programmhersteller ein »debian« -Verzeichnis (Abbildung 1) in seinen Quelltext integriert. Das enthält alle Anweisungen für die Werkzeuge, die Debian für den Paketbau bereithält. Allen voran ist die »debhelper« -Toolsuite zu nennen. Im »debian« -Ordner liegt zudem stets eine Datei namens »rules« – kommt Debhelper zum Einsatz, ist sie inzwischen fast immer leer. Und es gibt weitere Dateien:

Abbildung 1: Neben den nötigen changelog, control, copyright und rules finden sich in debian oft viele weitere Dateien.
  • Das »control« -File enthält Informationen über die Binarypakete, die das jeweilige Quelltextpaket erstellt.
  • Die »changelog« -Datei merkt sich die Änderungen am Debian-Paket. Es ist im Normalfall nicht identisch mit dem Changelog für das vom Paket eigentlich verwaltete Programm.
  • In der Datei »copyright« vermerkt der Maintainer eines Debian-Paketes, welchen Lizenzen die einzelnen Dateien des Quelltext-Paketes besitzen.
  • In der Datei »format« im Unterordner »source« steht, welcher Version des Debian-Paketstandards das Quelltext-Paket unterliegt.
  • Kommt Debhelper zum Einsatz, legt zudem eine Datei namens »compat« einen Debhelper-Kompatibilitätslevel fest.

Die genannten sechs Dateien genügen bei einfachen Programmen in der Regel, um ein mit der Debian- oder Ubuntu-Policy kompatibles ».deb« -Paket zu erzeugen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Knatsch bei Debian

    Reisende soll man nicht aufhalten, doch aus dem Hause Debian verabschieden sich gerade auffällig viele Entwickler. Zehn Fragen und Antworten, die Aufschluss geben über den Status des Debian-Projekts in Zeiten des Streits um Systemd.

  • Debian entscheidet sich für Systemd

    In der finalen Abstimmung hat sich das Debian Technical Committee nun für Systemd als neues Init-System entschieden.

  • Systemd 216 verbessert DNS-Auflösung

    Laut Systemd-Entwickler Lennart Poettering handelt es sich bei Systemd 216 um eine Major Release, die insbesondere die DNS-Auflösung komplettiert.

  • Spotify plädiert für Systemd in Debian

    Ein Mitarbeiter des Musik-Streaming-Dienstes Spotify äußerte sich heute in einem Bugreport zur Init-Frage von Debian und machte sich für die Einführung von Systemd stark.

  • Debian diskutiert Wechsel zu Systemd oder Upstart

    Debian gehört zu den wenigen großen Distributionen, die noch auf das Init-System Sysvinit setzen. Nun denken die Debianer auf der Mailingliste laut über einen Wechsel zu einem neuen Init-System nach. Das Thema ist recht komplex und bietet Zündstoff für lange Diskussionen.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.