Dem Raspberry Pi hing für mich lange der Geruch der Hardwarebastelei an. Das ist nicht mein Metier, weil ich eher aus der weichen Richtung komme1. Irgendwann ist mir dann aufgegangen, dass man sich mit einem Raspberry Pi ein prima kleines, billiges Linux-Böxchen bauen kann. Ende Januar habe ich den Ersten im Betrieb genommen und es wird wohl nicht der Letzte bleiben2.
Zu der Zeit kam das Eine zum Anderen. Projektideen schiebt man ja aus vielen Gründen gerne mal ins zeitliche Nirvana: Keine Zeit, eigentlich dann doch zu teuer3, keine Hardware, auf das das laufen kann4, keine konkrete Aufgabe für die Hardware5. Da gab es in der c’t – mal wieder – einen Artikel zu Nagios (Wollte ich schon lange mal aufsetzen.) und dessen Installation auf einem Raspberry Pi (Wollte ich ja schon immer mal mit rumspielen.).
Nagios steht bei mir schon länger auf der Liste, um den lokalen Zoo an Routern, zu Accesspoints degradierten Routern, mein NAS und ähnliche LAN-Bewohner sowie den Web-Server zu monitoren. Nach dem Verenden meines Linux Servers6 fehlte schlichtweg die permanent laufende Hardware, auf der Nagios laufen konnte. Mein QNAP NAS hat zwar die eine oder andere anderweitige Serveraufgabe übernommen, aber es gibt kein fertiges Paket für das System7.
Aber Nagios und Raspberry Pi im Gespann, da gab es kein Halten. Trotz selbst auferlegter Ausgabensperre habe noch an dem Samstag, an dem die c’t in unserem Briefkasten landete, bestellt und am folgenden Montag war die Ware da. Binnen 5 Minuten war die Trinität aus Raspberry Pi, Gehäuse und Mikro-SD-Karte8 ausgepackt, zusammengesteckt (kinderleicht, kein Werkzeug notwendig) und laufbereit9.
Als Betriebssystem habe ich Raspbian gewählt, das ein auf die Hardware angepasstes Debian Linux ist, also eine Plattform auf der ich mich auskenne10.
Zunächst stellte sich für mich die Frage, wie ich durch den Setup-Prozess komme. Im Dauerbetrieb sollte das Gerät ohne Tastatur und Monitor laufen. Ich hatte schon das Bild vor Augen, wie ich vor unserem Fernseher hocke, der Raspberry Pi mit dickem Kabel am HDMI-Eingang unseres Fernsehers angeschlossen und eine Tastatur an einem seiner USB-Ports. Ich unterlag da einem Trugschluss. Es gibt keinen Installations- und Setup-Prozess wie bei einer normalen Linux-Installation. Raspbian wird als Image auf die SD-Card geschrieben und das Ganze ähnelt eher einer Live-CD: Einstecken und man hat ein lauffähiges System.
Wenn man – wie ich – den Raspberry Pi später headless laufen lassen möchte, dann braucht man ihn auch für die Erst-Einrichtung nur ans Netzwerk anzuschließen: Raspbian bringt – wie die meisten Linux-Installationen – einen aktivierten ssh-Server mit, sodass sich auf diesem Weg den Erst-Kontakt herstellen kann (User: pi, Passwort: raspberry).
Der Aufruf von sudo raspi-config
ruft ein menügesteuertes Konfigurationsprogramm auf. Bei den Einstellungen habe ich mich zum Teil an die Ausführungen im c’t-Artikel und zum Anderen an ein How-To bei Administrator.de gehalten.
Folge Optionen sind m.E. von besonderem Interesse:
- Expand Filesystem: Durch das Aufspielen des Images wird nur ein Teil der SD-Karte genutzt11. Über diese Option wird das Filesystem auf die Größe des SD-Karte erweitert, sodass man
genug12 mehr Platz für Daten und weitere Software-Pakete hat. Ich habe zunächst eine 4 GB-SD-Karte eingesetzt13. - Internationalisation Options: Hier stellt man Sprache, Zeitzone und Tastaturbelegung ein. Insbesondere Letzteres ist für mich extremst wichtig, da ich nur sehr ungern mit einem US-Tastatur-Layout arbeite.
- Change User Password: Wird meist als (zweit)wichtigste Änderung angegeben und ist daher im Menü auch an zweiter Stelle. Man sollte m.E. dennoch zuerst die Tastaturbelegung ändern, weil es sonst aufgrund der geänderten Belegung der Tasten zu sehr unschönen Überraschungen bei der späteren Eingabe des Passwortes kommen kann14. Wenn man zuerst nur mit dem System spielen möchte und somit kein Sicherheitsbedürftnis besteht, dann kann man m.E. sehr gut auch mit dem alten, recht griffigen Passwort für diese Phase leben. Man sollte halt nur nicht vergessen, die Änderung später vorzunehmen.
- Advanced Options / Hostname: Ändern des Hostnamen: wenn man es individuell mag oder mehrere Raspberry Pis mit Raspbian gleichzeitig im Netzwerk betreiben will.
Die anderen Einstellungen habe ich mir zwar mal angesehen, aber nicht verändert.
Zugegeben kann man – zumindest die letzten drei – Anpassungen auch mit den üblichen Tools erledigen15, aber hier bekommt man die notwendigen bzw. empfohlenen Änderungen in einem Tool angeboten.
Ab diesem Punkt fühlte sich mein Raspi wie eine ganz normale Linux-Box an und die weitere Konfiguration des System erfolgte bei mir hauptsächlich mit aptitude
und nano
. Bei der einen oder anderen Panne – insbesondere bei der weiteren Konfiguration des Netzwerks – empfand ich es als sehr hilfreich, dass ich einfach die Micro-SD-Karte aus dem ausgeschalteten Raspberry Pi entnehmen, mit einem entsprechenden Adapter in den SD-Karten-Leser meines ThinkPads stecken und dort unter Linux die Konfigurationsdateien wieder hinbiegen kann16.
Seitdem ich dieses Posting begonnen habe, sind fast drei Monate vergangen. Der Raspberry Pi läuft stabil und tut seinen Dienst als Server. Seine primäre Aufgabe als Plattform für Nagios und als Server für dessen Web-Front-End erfüllt er zuverlässig. Hier fällt seine geringe Rechenleistung nicht auf.
Der Aufruf von aptitude
zeigt aber sehr deutlich, wie langsam das Gerät ist. Bis alle Datenbanken gelesen sind und die Arbeitsansicht aufgebaut ist, vergeht ungewohnt viel Zeit; insbesondere wenn ich es im direkten Vergleich mit anderen – deutlich betagten – Linux-Rechnern sehe. Auch wenn ich deutlich länger warten muss, so fällt das nicht ins gewicht, weil ich nebenher andere Arbeit an anderen Rechnern machen kann.
Insgesamt hat der Raspberry Pi meine Erwartungen als Mini-Server erfüllt.
Bei Raspbian haben mich jedoch drei Punkte überrascht:
- IPv6 ist nicht aktiviert. Im Hinblick darauf, dass die schnelle Verbreitung von IPv6 allgemein propagiert wird, überrascht mich das.
- Avahi ist nicht installiert. Mit dieser Software wäre der Raspberry Pi leichter im lokalen Netz auffindbar.
- sudo verlangt bei Ausführen privilegierter Befehle keine Passworteingabe, was m.E. die Funktion von sudo etwas konterkariert.
Alles Punkte, die man leicht selbst bereinigen kann.
- Auch wenn ich mir in der Schulzeit mit 74LS00-Käfer die Fingerkuppen gepirct oder – mit mangelnder Begeisterung – irgendwelche Treiberstufen für eine 7-Segment-Anzeige gelötet habe. ↩
- Tatsächlich liegt zwischenzeitlich der Zweite schon rum und wartet auf seinen Einsatz. (An diesem Posting habe ich vor fast drei Monaten zu schreiben begonnen…) ↩
- So ging es mir bei Intels NUC [EN]. ↩
- So ging es mir mit Nagios. ↩
- So ging es mir mit dem Raspberry Pi. ↩
- Das war nicht mehr als ein etwas sparsamerer PC, der aber deutlich höhere Anspüches an die Stromversorgung stellte, als moderne NUC-basierte Systeme. Sein Ableben hat einen wahrnehmbaren Abwärtstrend in unser Stromverbrauchsstatistik hinterlassen, was für mich immer ein guter “Grund” war, ihn nicht zu reparieren; neben den üblichen Gründen. ↩
- Und eigentlich sollte IMHO auf einem NAS, das für primär Backups dienen soll, aus Sicherheitsgründen auch keine Software laufen. ↩
- Da gehört als Vierter im Bunde eingentlich noch ein Netzteil mit Mikro-USB-Stecker dazu, aber den habe ich irgendwie in der Aufregung vergessen zu klicken. Aber Passendes fand sich schnell im Haushalt, wobei man aufpassen muss, weil Netzteile ab 1200mA empfohlen werden, was deutlich mehr ist, als ein normale Netzteil für ein Handy oder Smartphone. ↩
- Die Betonung liegt auf laufbereit, denn das Aufspielen des Raspbian-Images auf die SD-Karte dauerte ehrheblich länger. ↩
- Auch wenn ich in den letzten Jahren dessen Derivat Ubuntu nutze. ↩
- Das Filesystem im Image ist auf die notwendistge Größe beschränkt, damit der Download möglichst klein ist. Weiterhin soll das Image den Benutzer nicht auf eine bestimmte SD-Karten-Größe festlegen; außer natürlich einer gewissen Mindestgröße. ↩
- Gestrichen, weil man ja nie genug Plattenplatz auf einem System haben kann… ↩
- Ich frage mich, ob ich diese Option nutzen kann, wenn ich das Filesystem später auf eine größere SD-Karte “umtopfen” möchte, sprich den Inhalt der SC-Karte per
dd
auf eine größere SD-Karte kopiere und dann mit der Option das Filesystem auf die neue Größe wachsen lasse. Aus meiner Sicht spricht bisher nichts dagegen. ↩ - Alleine schon die Verwendung der Buchstaben Y und Z könnte zu bösen Überraschungen führen; an Sonderzeichen mag ich gar nicht denken. ↩
- Die Anpassung des Hostnamens und des Passwortes habe ich auch später auf klassische Weise erledigt. Für die Ländereinstellungen habe ich das Tool sehr gerne benutzt, weil ich mit den entsprechenden manuellen Vorgaben auf Kriegsfuß stehe. ↩
- Wie z.B. eben, als ich feststellte, dass ich mich beim Ändern der Gruppenzugehörigkeit aus allen Gruppen bis auf die zu ergänzende Gruppe rausgeworfen hatte; also auch aus der Gruppe sudo, was sehr mißlich ist… ↩