Ubuntu-Core-Images für dedizierte Dienste aufsetzen

Aus LinuxUser 03/2021

Ubuntu-Core-Images für dedizierte Dienste aufsetzen

© James Kelley, 123RF

Abgekapselt

Dank der Images aus dem Ubuntu-Appliance-Programm statten Sie schwächere Hardware sehr einfach mit einem bestimmten Dienst aus.

Canonical hat im Laufe seines über 15-jährigen Bestehens auf Basis der Desktop-Distribution Ubuntu ein Geschäftsmodell entwickelt, das sich stark auf die Cloud und das Internet der Dinge ausrichtet. So entstanden neben der Desktop-Version schnell Server-, Core- und mehrere Cloud-Varianten, wobei Ubuntu Core als Grundlage für den Einstieg in die Sparten Internet of Things und Heimautomation dient. Das System ist dabei über verschiedene Maßnahmen abgesichert, darunter Secure Boot, verschlüsselte Festplatten, automatische Updates, Container sowie Kryptografie.

Ubuntu Appliance

Für die Sparten IoT und Heimautomation stellt Canonical unter dem Begriff Ubuntu Appliance [1] seit Juni 2020 spezialisierte Derivate bereit, die jeweils für eine konkrete Aufgabe konzipiert sind. Sie eignen sich etwa dazu, einen Raspberry Pi oder ein IoT-Gerät aufzusetzen, wobei die Hardware jeweils nur eine Anwendung oder einen Dienst ausführt und ansonsten keine unnötige Software enthält.

Nach dem Motto “Was nicht vorhanden ist, verursacht auch keine Probleme” findet hier eine Reduzierung auf das Nötigste statt, was nicht nur der Sicherheit und Wartbarkeit besonders bei eingebetteten Geräten dient, sondern auch die Storage-Kosten gering hält. Die Appliances verfügen über starke Datenschutzrichtlinien und langfristige Garantien hinsichtlich der Verfügbarkeit von Sicherheitsaktualisierungen.

An sich sind solche Appliances aber keine Erfindung von Canonical, es gibt sie bereits seit geraumer Zeit von Unternehmen wie IBM, SAP, Cisco oder Oracle [2]. Auf der entsprechenden Webseite von Canonical finden Sie einige frei verfügbare Abbilder für PCs wie etwa den Intel NUC, SBCs wie den Raspberry Pi oder komplett virtuelle Maschinen [3].

Die Anwendungen umfassen das auf Heimautomation spezialisierte OpenHAB, den Mediaserver Plex, die Kollaborationsplattform Nextcloud, den DNS-Server Adguard Home, der Werbung und Tracker im Heimnetz blockiert, sowie die Container-Lösung LXD von Canonical selbst.

Jeder darf

Appliances brauchen nicht zwingend von Canonical zu stammen. Neben den als Anreiz gedachten, vorgefertigten Beispielen dürfen Sie eigene Images bauen und der Community bereitstellen. Die Webseite Ubuntu Discourse [4] bietet die Möglichkeit, neue Appliances vorzuschlagen und Unterstützung zu erhalten, wenn die Community einen Vorschlag interessant findet.

Dabei fällt das Erstellen eines Images nicht weiter schwer, denn Ubuntu-Appliances sind einfach gestrickt: Sie basieren auf der 260 MByte umfassenden Embedded-Variante Ubuntu Core [5]. Durch die Integration eines oder mehrerer je in einer virtuellen Sandbox laufender Snaps, die die gewünschte Funktionalität mitbringen, entsteht auf dieser Basis eine Appliance.

Multipass

Bevor Sie eine Appliance fest installieren, ist es sinnvoll, sie vorab in einer virtuellen Maschine zu testen. Dazu bietet Canonical mit Multipass ein schlankes Tool an, das für Linux, MacOS und Windows bereitsteht [6]. Allerdings ist Multipass unter Linux außer bei Ubuntu nur noch im AUR von Arch Linux vertreten. Für Windows steht es im Chocolatey-Repository [7] bereit, für MacOS in Homebrew [8].

Mithilfe dieser Software stellen Sie virtuelle Ubuntu-Instanzen – und somit die Appliances – über einen einzigen Befehl bereit. Multipass verwendet unter Linux KVM, unter Windows arbeitet im Hintergrund Hyper-V, bei MacOS übernimmt Hyperkit das Virtualisieren. Da Multipass außerdem Metadaten für die Initialisierungs-Software Cloud-Init unterstützt, wäre es somit möglich, eine kleine Cloud auf einem PC oder Notebook zu simulieren.

Mit diesem Programm, das als abgespeckte Variante von LXD durchgeht, installieren Sie über wenige Klicks das gewünschte Image aus dem Netz, führen es aus und halten es auf dem neuesten Stand. Für Sie als Anwender entfällt die bei den unterstützten Diensten sonst übliche, teils komplexe Installation und Konfiguration.

OpenHAB

Nach der Installation von Multipass setzen Sie die gewünschte Appliance auf. Für das Beispiel OpenHAB dient dazu der Befehl aus der ersten Zeile von Listing 1. Dabei vergibt die Software automatisch einen Namen. Wollen Sie selbst eine Bezeichnung für diese Instanz vergeben, hängen Sie diese per --name Name an den Installationsbefehl an.

Listing 1

OpenHAB aufsetzen

$ multipass launch appliance:openhab
$ multipass list

Das Aufsetzen nimmt auf einem Raspberry Pi einige Minuten in Anspruch. Wenn der Prompt wieder erscheint, fragen Sie mit dem Kommando aus der letzten Zeile von Listing 1 die IP-Adresse der virtuellen Maschine ab. Diese rufen Sie dann in der Form http://IP-Adresse:8080 im Browser auf (Abbildung 1).

Abbildung 1: OpenHAB dient in einem lokalen Netzwerk als Steuerzentrale für Geräte der Heimautomatisierung. Mit Ubuntu Appliance betreiben Sie diesen Dienst aus einem Image heraus auf günstiger Hardware.

Abbildung 1: OpenHAB dient in einem lokalen Netzwerk als Steuerzentrale für Geräte der Heimautomatisierung. Mit Ubuntu Appliance betreiben Sie diesen Dienst aus einem Image heraus auf günstiger Hardware.

Firefox streikt

Mit Firefox gab es im Test zunächst Probleme, denn die URL wechselte immer sofort zu HTTPS, obwohl der seit Firefox 83 angebotene Modus zur strikten Verwendung von HTTPS ausgeschaltet war. Nach mehreren Versuchen kam die Seite doch hoch, ohne dass sich etwas an der Konfiguration des Browsers geändert hätte. Der Grund dafür blieb unklar. Mit Chrome funktionierte der Aufruf auf Anhieb. Ist der Dienst im Browser geöffnet, konfigurieren Sie OpenHAB für Ihre Geräte oder konsultieren zunächst die Dokumentation [9].

Der nächste Test umfasste die virtuelle Maschine für den Mediaserver Plex (Abbildung 2). Der Befehl zur Installation ähnelt dem aus Listing 1, wobei Sie openhab durch plexmediaserver ersetzen. Die IP-Adresse bringen Sie wieder mit dem List-Befehl in Erfahrung (Abbildung 3).

Abbildung 2: Plex ist eine beliebte Anwendung für das Verwalten von Medienbeständen. Als Appliance genügen wenige Klicks, um den Server des Diensts bereitzustellen.

Abbildung 2: Plex ist eine beliebte Anwendung für das Verwalten von Medienbeständen. Als Appliance genügen wenige Klicks, um den Server des Diensts bereitzustellen.


Abbildung 3: Der List-Befehl zeigt Namen, Status, IP-Adresse und das zugrundeliegende Image an. Nähere Informationen zur Instanz liefert der Info-Befehl.

Abbildung 3: Der List-Befehl zeigt Namen, Status, IP-Adresse und das zugrundeliegende Image an. Nähere Informationen zur Instanz liefert der Info-Befehl.

Den Port finden Sie entweder auf der Appliance-Webseite für den jeweiligen Dienst, oder Sie befragen das Internet. Im Fall von Plex lautet die URL http://IP-Adresse:32400/web. Sie können für alle Appliances aus dem Terminal heraus auch eine Shell aufrufen. Bei der Plex-Instanz aus diesem Beispiel gelingt das mit dem Befehl aus Listing 2.

Listing 2

Shell-Zugriff

$ multipass shell plex

Befehlsüberblick

Mit multipass -h erhalten Sie eine Übersicht aller Befehle, die das Tool mitbringt (Abbildung 4). Alternativ werfen Sie einen Blick in die Manpage [10]. Über multipass find sehen Sie alle Images und Appliances, die das Programm aktuell virtualisieren kann.

Abbildung 4: Der Hilfe-Befehl listet die Parameter f&uuml;r Multipass auf. Versehentlich gel&ouml;schte Instanzen stellen Sie beispielsweise mit <code>recover</code> wieder her.

Abbildung 4: Der Hilfe-Befehl listet die Parameter für Multipass auf. Versehentlich gelöschte Instanzen stellen Sie beispielsweise mit recover wieder her.

Multipass kann nicht nur Appliances visualisieren, sondern auch vollständige Ubuntu-Abbilder, wie etwa ein tägliches Image der aktuellen Ubuntu-Entwicklung (Listing 3, Zeile 1) oder das jeweils aktuelle LTS-Release (Listing 3, Zeile 2). Zu den weiteren Befehlen zum Verwalten virtueller Maschinen zählen unter anderem delete, purge, recover und connect (Abbildung 5).

Listing 3

Ubuntu-Images starten

$ multipass launch daily:21.04
$ multipass launch -n groovy LTS

Abbildung 5: Mit dem Connect-Befehl, den die Hilfe unterschl&auml;gt, begeben Sie sich auf die Befehlsebene einer Anwendung und unterziehen wie hier eine Vorab-Version von Ubuntu&nbsp;21.04 einem Update.

Abbildung 5: Mit dem Connect-Befehl, den die Hilfe unterschlägt, begeben Sie sich auf die Befehlsebene einer Anwendung und unterziehen wie hier eine Vorab-Version von Ubuntu 21.04 einem Update.

Fazit und Ausblick

Ubuntu-Appliances bieten eine sichere, schnelle und vor allem einfache Methode, um Dienste auf preiswerter Hardware mit der minimal benötigten Software zu betreiben. Wäre da nicht Canonical im Hintergrund, hätte das Modell gute Chancen auf eine weite Verbreitung. Da Multipass aber außer bei Ubuntu nur noch im Arch User Repository vorliegt und die gesamte Infrastruktur auf das oft kritisierte Snap-Paketformat zugeschnitten ist, bleibt der Ansatz wohl eine Nischenanwendung. So kamen denn auch seit der Einführung im letzten Sommer so gut wie keine neuen Appliances hinzu. Schade – eine weitere verpasste Chance durch die abgeschottete Entwicklung einer an sich guten Idee. (agr)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 03/2021 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben