DietPi: Klein, schlank und schnell (2019)

DietPi: Klein, schnell, leicht.

Für meine SBCs (Single Board Computer) wie den Raspberry Pi, Pine 64 oder ODroid XU4 nutze ich vorzugsweise die Distribution DietPi.  Diese betreibe ich headless – also ohne Bildschirm oder Eingabegeräte wie Tastatur und Maus.  Konfiguriert und gewartet werden die kleinen Server dann per SSH (Secure Shell) oder Web-Oberflächen installierter Dienste.

DietPi enthält standardmäßig keine Grafische Oberfläche – ist also sehr leichtgewichtig.  Um jedoch nicht alles „per Hand“ konfigurieren zu müssen, bringt DietPi ein Konsolen- bzw. Text-basiertes Benutzerinterface mit, um Software einfach zu installieren und konfigurieren.

Damit wird das aufsetzen von Servern für Plex, VPN, NextCloud, InfluxDB, Grafana, Node-Red für Heimautomatisierung, … zum Kinderspiel.

Ein weitere Vorteil von DietPi ist, dass das System und installierte Programme so vorkonfiguriert sind, um den Hauptspeicher und den SD bzw. eMMC Systemspeicher zu schonen: Logs werden garnicht oder nur in den RAM geschrieben, nur wirklich notwendige Dienste werden gestartet, uvm. 

Download

Auf der DietPi Webseite kann man aktuelle Images herunterladen.  Den Link für den Download findet man, nach dem man den SBC seiner Wahl anklickt.

Download

Die Übersicht im Download Bereich ist auch ganz nett, um sich einen Überblick über andere SBCs zu verschaffen und die Leistung der kleinen Maschinen zu vergleichen.

Image Schreiben

Natürlich kann alles in der Konsole gemacht werden.  Aber am schnellsten und sichersten schreibst du das Image mit balenaEtcher auf die (micro)SD-Karte deiner Wahl*.

* Die original microSDHC Karten von SanDisk (SanDisk Extreme 32GB microSDHCkann ich sehr empfehlen – da ist mir nur eine in all den Jahren bisher kaputt gegangen.  Karten von Transcent oder Samsung kann ich hingegen nicht empfehlen – diese haben immer wieder mal unerwartet ihren Dienst quittiert.

Vor dem ersten Start

In vielen Fällen soll der Computer headless betrieben werden. Das heisst keine Peripherie wie Bildschirm, Tastatur oder Maus.

Um aber nicht nur für die Konfiguration solch einen Aufwand zu treiben, wie z.B. Monitor und Tastatur anschließen zu müssen, kann man vor dem ersten Start DietPi vorkonfigurieren.

Auf der DietPi SD-Karte gibt es einen Bereich, der gelesen und beschrieben werden kann, um das System bei dem ersten Start zu Konfigurieren, ohne dass man Tastatur und Bildschirm anschliessen muss:

Auf dem Mac wird beim einlegen der SD-Karte automatisch „boot“ gefunden und eingebunden. Darin befindet sich eine Datei namens „dietpi.txt„.  Hier sind ein paar selbsterklärende Konfigurationsparameter, die ich hin-und-wieder anpasse:

AUTO_SETUP_NET_WIFI_ENABLED=1
AUTO_SETUP_NET_HOSTNAME=MyServer
CONFIG_HDMI_OUTPUT=0
AUTO_SETUP_TIMEZONE=Europe/Berlin

In der Datei „dietpi-wifi.txt

aWIFI_SSID[0]="MySuperDooperWiFi"
aWIFI_KEY[0]="0123456789"

Der erste Start

Der erste Start kann etwas länger dauern: DietPi aktualisiert sich automatisch.

IP-Adresse herausfinden und per SSH darauf zugreifen (Passwort: dietpi):

ssh root@ip-adresse

Nach dem Neustart muss eventuell die known_hosts Datei editiert werden, da der host key nach dem ersten Start von DietPi neu generiert wird.
Die Fehlermeldung „Offending ECDSA key in /Users/<username>/.ssh/known_hosts:26“ verrät hier, dass sich der Eintrag in Zeile 26 befindet.

Also einfach Zeile 26 in der Datei: /Users/<username>/.ssh/known_hosts löschen.

Bei erneutem Verbindungsversuch wird man nun wieder gefragt, ob man dem Server vertrauen will.

Wesentliche Anpassungen

  • DietPi-Config
    • Zeitzone anpassen (Language/Regional Options)
    • Passwort ändern (Security Options > Change Root Password)
    • Hostname vergeben (Security Options > Change Hostname)
  • Software installieren
    • Avahi für mDNS/Bonjour/Zeroconf installieren.

      Dadurch brauchen wir nicht zwingend die IP-Adresse, sondern können uns mit der Maschine über hostname.local verbinden

Fun-Fact:

Ist bei Frage eine der möglichen Antworten großgeschrieben, reicht es mit enter/return zu bestätigen, das dies die Standardauswahl ist:

Do you want to continue? [Y/n]

Sind beide Optionen klein geschrieben, gibt es keine Standardauswahl und man muss die Auswahl eingeben.

Are you sure you want to continue connecting (yes/no)?

DietPi-Config:

Language/Regional Options > Timezone > Europe > Berlin

Security-Options > Change Root Password

Security-Options > Change Hostname

Um den Vorgang abzuschließen, auf den letzten Menüpunk gehen (Install) und mit OK bestätigen.

Erwähnenswerte DietPi Software

dietpi-banner – damit lässt sich sich der Bildschirm nach dem Anmelden anpassen.
dietpi-software – hiermit können Softwarepakete installiert werden, die teilweise für die Ausführung auf SBCs optimiert und vorkonfiguriert wurde.
dietpi-config – hier lassen sich Grundeinstellungen vornehmen, wie z.B. Wifi oder Bluetooth deaktivieren, damit nicht unnötig rumgefunkt wird.

Wartung

DietPi-Distribution aktualisieren:

dietpi-update

Software aktualisieren:

apt update
apt upgrade
apt autoremove

Computer Neustarten:

shutdown -r now

Computer herunterfahren:

shutdown now

Tipp zum Schluss

Die vorkonfigurierten Softwarepakete, die über dietpi-software installiert werden können, speichern alle (z.B. Node-Red, InfluxDB) ihre Daten in /mnt/dietpi_userdata

Be excellent to each other!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.