Raspbian Stretch

Seit zwei Tagen steht Raspbian Stretch zum Download zur Verfügung, also die auf Debian 9 (»Stretch«) aktualisierte Version der Rasbperry-Pi-Distribution Raspbian. An der Oberfläche hat sich wenig verändert, Raspbian lässt sich wie bisher bedienen. Hinter den Kulissen haben sich ein paar Details verändert. Der Hauptvorteil von Raspbian Stretch besteht aber darin, dass viele Software-Versionen aktualisiert wurden. Vielleicht am wichtigsten: Der aktuelle Kernel 4.9 beseitigt eine Sicherheitslücke im WLAN-Treiber.

Updates 21.8.2017, 5.10.2017: diverse Ergänzungen.

Wie bei jedem »Major Update« empfiehlt die Raspberry Pi Foundation eine Neuinstallation. Ein Update ist grundsätzlich auch möglich (Details dazu weiter unten). Dabei kann es aber unter Umständen zu Problemen kommen.

Neuinstallation

Eine Neuinstallation, sei es mit NOOBS oder durch das Kopieren der Image-Datei auf eine SD-Karte, verläuft exakt wie bei der Vorgängerversion Raspbian Jessie. Nach der Installation sollte als erstes das Konfigurationsprogramm Raspberry Pi Configuration ausgeführt werden. Dort können Sie diverse Einstellungen durchführen:

  • ein eigenes Passwort (aus Sicherheitsgründen unbedingt empfehlenswert!)
  • einen eigenen Hostnamen
  • die Sprache
  • die Zeitzone
  • das Tastaturlayout
  • das Land (damit der WLAN-Adapter die örtlichen Funkrichtlinien einhält)
  • SSH und diverse andere Dienste aktivieren

Beim Versuch, das Tastaturlayout einzustellen, treten die ersten Probleme auf. Ein Klick auf den betreffenden Button führt zu keinerlei Reaktion. Abhilfe: Öffnen Sie ein Terminal-Fenster und führen Sie dort die beiden folgenden Kommandos aus:

apt update
apt full-upgrade

Danach starten Sie das Konfigurationsprogramm neu — dann funktioniert auch die Konfiguration des Tastaturlayouts!

Um zu überprüfen, welche Raspbian-Version auf Ihrem Raspberry Pi läuft, führen Sie cat /etc/os-release aus:

cat /etc/os-release 

  PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
  NAME="Raspbian GNU/Linux"
  VERSION_ID="9"
  VERSION="9 (stretch)"
  ID=raspbian
  ID_LIKE=debian
  HOME_URL="http://www.raspbian.org/"
  SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
  BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Software-Versionen

Das Software-Angebot entspricht naturgemäß jenem von Debian Stretch, wenn auch standardmäßig andere Komponenten zum Einsatz kommen — z.B. der Webbrowser Chromium anstelle von Firefox.

Basis           Desktop             Programmierung   Server
--------------  ------------------  --------------   --------------
Kernel     4.9  Chromium        60  bash       4.4   Apache    2.4
glibc     2.24  Gimp           2.8  gcc        6.3   CUPS      2.2
X-Server  1.19  LibreOffice    5.2  Java         8   MariaDB  10.1
Systemd    232  LXDE        0.99.2  PHP        7.0   OpenSSH   7.5
                Mathematica   11.0  Python 2.7/3.5   Samba     4.5

Umfassende Änderungen ergeben sich durch das Update vor allem für Raspberry-Pi-Fans, die den Minicomputer als Server eingesetzt haben. Der Wechsel von MySQL zu MariaDB und das Update von PHP 5.n auf PHP 7 können großen Migrationsaufwand verursachen.

Zuletzt noch ein paar Raspbian-spezifische Versionsangaben:

  • Sonic Pi liegt nun in Version 3.0.1 vor.

  • Scratch 2 kommt dank einer zusätzlichen Bibliothek nun mit den »Sense Hat«-Erweiterungen zurecht.

  • WiringPi liegt in Version 2.44 vor.

  • python.rpi hat die Version 0.6.3.

  • Der Raspberry Pi war wie viele Smartphones und andere Geräte von einem Firmware-Bug im Broadcom-WLAN-Chip betroffen (vom sogenannten Broadpawn Exploit). Raspbian Stretch enthält dafür einen Patch. (Der Patch steht auch für Raspbian Jessie zur Verfügung. Wenn Sie weiterhin Raspbian Jessie verwenden, sollten Sie sicherstellen, dass Sie alle Updates installiert haben!)

Technische Neuerungen

Hinter den Kulissen gibt es in Raspbian Stretch auch einige technische Details, die sich verändert haben:

  • Benutzer-Accounts: Zwar lautet der Default-Benutzer von Raspbian weiterhin pi, die Distribution und insbesondere das Raspberry-Pi-Konfigurationsprogramm kommt nun aber auch damit zurecht, wenn Sie einen anderen Account nutzen. Voraussetzung ist allerdings, dass dieser Benutzer ebenfalls sudo-Rechte hat.

  • Bluetooth/ALSA/PulseAudio: PulseAudio ist standardmäßig nicht mehr installiert. Bluetooth kommuniziert nun nicht mehr über PluseAudio mit dem Sound-System ALSA, sondern direkt über die Bibliothek bluez-alsa.

  • MySQL -> MariaDB: Der Datenbank-Server MySQL steht unter Raspbian Stretch nicht mehr zur Verfügung. Stattdessen kommt jetzt das weitgehend dazu kompatible Programm MariaDB zum Einsatz. Wenn Sie ein neues Datenbankprojekt starten, werden Sie vermutlich keinen Unterschied bemerken. Wenn Sie aber eine vorhandene Datenbank übernehmen möchten, müssen Sie diese mit mysqldump sichern und mit mysql neu wieder einspielen. (Die Kommandos mysql und mysqldump heißen auch in MariaDB so.) Führen Sie das Backup unbedingt durch, bevor Sie ein Update von Debian Jessie auf Debian Stretch durchführen!

  • USB-Datenträger: USB-Sticks, Festplatten etc. werden nun automatisch im Verzeichnis /media/pi/<name> in den Verzeichnisbaum eingebunden (bisher /media/<name>).

Netzwerkonfiguration

Größere Umbauten gab es bei der Netzwerkonfiguration. Anstelle von eth0, eth1 etc. heißen die Netzwerkschnittstellen jetzt enxb827eb11442e etc. Das ist zwar äußerst unhandlich, hat aber den Vorteil, dass die Schnittstellennamen mit Hardware-IDs verbunden sind. D.h., die Schnittstellennamen sind reproduzierbar immer gleich.

Die Datei /etc/network/interfaces ist jetzt standardmäßig leer und bleibt dies auch nach einer WLAN-Konfiguration. Für die Konfiguration der Ethernet-Schnittstelle ist jetzt dhcpcd zuständig.

Solange Sie die Netzwerkkonfiguration über GUI-Tools durchführen, ändert sich am Default-Verhalten nichts: Die Ethernet-Schnittstelle empfängt weiterhin Ihre IP-Konfiguration über DHCP. Die WLAN-Einstellungen werden weiterhin in /etc/wpa_supplicant/wpa_supplicant.conf gespeichert.

Die empfohlene Vorgehensweise zur Konfiguration einer statischen IP-Konfiguration für die Ethernet-Schnittstelle besteht darin, /etc/dhcpcd.conf zu verändern, z.B. nach dem folgenden Muster:

# Datei /etc/dhcpcd.conf
...
interface enxb827eb11442e
static ip_address=10.0.0.99/24
static routers=10.0.0.138
static domain_name_servers=10.0.0.138 8.8.8.8

Damit die Änderungen wirksam werden, führen Sie

sudo systemctl restart dhcpcd

aus. Alternativ können Sie den Rasbperry Pi natürlich auch neu starten.

WLAN-Konfiguration vorweg (speziell für Raspberry Zero)

Wie ich in diesem Blog-Beitrag beschrieben habe, können Sie bei einer Raspbian-Image-Installation (nicht NOOBS) das WLAN-Passwort vorweg einstellen und den SSH-Server aktivieren. Das ermöglicht die Inbetriebnahme eines Raspberry Pi ohne USB-Tastatur.

Mit Raspbian Stretch funktioniert diese Vorgehensweise weiterhin. Allerdings muss die Datei wpa_supplicant.conf jetzt die zusätzlichen Parameter ctrl_interface und update_config enthalten, idelerweise auch country. Die folgende Datei gibt ein Muster an:

# Datei wpa_supplicant.conf in der Boot-Partition
country=DE  #omit if US
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="wlan-bezeichnung"
       psk="passwort"
       key_mgmt=WPA-PSK
}

Quellen:

Probleme nach einer Neuinstallation

Wie bereits erwähnt, funktioniert die Tastaturkonfiguration durch das Raspberry-Pi-Konfigurationsprogramm nicht. Dieses Problem lässt sich durch die Installation der Updates leicht beheben.

Des Weiteren gibt es aktuell Probleme mit dem RealVNC-Server. Hierfür gibt es noch keine Lösung. Meine Empfehlung lautet, statt den RealVNC-Server zu deaktivieren und stattdessen xrdp zu installieren (siehe auch diesen Blog-Beitrag).

sudo apt-get remove realvnc-vnc-server
sudo apt-get install xrdp

Schließlich fehlen japanische und chinesische Fonts. Das wird Sie vermutlich nicht stören. Wenn doch, führen Sie sudo apt-get install fonts-droid-fallback aus.

Update von Raspbian Jessie auf Raspbian Stretch

Grundsätzlich ist es möglich, eine vorhandene Raspbian-Jessie-Installation auf Raspbian Stretch zu aktualisieren. Die Raspberry Pi Foundation rät von derartigen Updates ab, und diesem Ratschlag schließe ich mich an. In 25 Linux-Jahren hatte ich schon zu oft Probleme mit derartigen Updates.

Das heißt aber nicht, dass Sie es nicht versuchen können :-) Ich habe es natürlich auch probiert; die hier geschilderten Erfahrungen sind aber nur ein Einzelfall.

Als erstes sollten Sie ein vollständiges Backup aller für Sie wichtigen Dateien durchführen. Speichern Sie das Backup auf einem anderen Datenträger, z.B. auf einem USB-Stick oder in einem Netzwerkverzeichnis.

Danach führen Sie ein letztes Update für Debian Jessie durch, wie immer mit den Kommandos:

sudo apt update
sudo apt full-upgrade

Damit Sie das Update durchführen können, muss im Dateisystem auf der SD-Karte ausreichend freier Platz sein. Auf eine genaue Zahl will ich mich hier nicht festlegen, aber alleine der Download-Bedarf für alle Pakete beträgt rund 1 GByte. Mit 2 bis 3 GByte freien Speicher sind Sie auf der sicheren Seite. (Wenn Sie nicht wissen, wie viel Speicherplatz frei ist, führen Sie df -h / aus.)

Anschließend öffnen Sie mit sudo-Rechten die Dateien /etc/apt/sources.list und /etc/apt/sources.list.d/raspi.list sowie gegebenenfalls weitere *.list-Dateien in /etc/apt/sources.list.d. In all diesen Dateien ersetzen Sie jessie durch stretch. Statt eines Editors können Sie auch das Kommando sed zu Hilfe nehmen:

cd /etc/apt
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list
sudo sed -i 's/jessie/stretch/g' /etc/apt/sources.list.d/raspi.list

Danach führen Sie nochmals die beiden folgenden Kommandos aus. Die Ausführung des Updates dauert je nach Raspberry-Pi-Modell und Geschwindigkeit der SD-Karte mehrere Stunden. Wenn Sie die Möglichkeit haben, sollten Sie das Update nicht via SSH durchführen, sondern sich direkt auf dem Rasbperry Pi einloggen. (Bei einem Update via SSH besteht die Gefahr, dass während des Updates die Netzwerkverbindung unterbrochen wird. Dann ist auch der Update-Prozess unterbrochen, und Sie müssen u.U. mit dpkg --configure -a die Paketdatenbank reparieren, bevor Sie den Update-Prozess mit apt full-upgrade neuerlich starten können.)

Das Update verläuft nicht einfach vollautomatisch: Sie müssen vielmehr immer wieder Fragen beantworten, ob Sie die eine oder die andere Version einer Konfigurationsdatei verwenden möchten etc. Ohne profundes Linux-Wissen ist die richtige Entscheidung schwierig — ebenso wie die Abschätzung, welche Folgen sich daraus ergeben.

sudo apt update
sudo apt full-upgrade

Die Durchführung des Updates hat bei mir mehrere Stunden gedauert, wesentlich länger als eine Neuinstallation! (Eine exakte Zeitangabe kann ich nicht geben, weil ich zwischendurch mehrfach den Rechner verlassen habe und der Update-Prozess bei meiner Rückkehr jedesmal auf eine Entscheidung von mir wartete.)

Der einzige Vorteil eines Updates im Vergleich zu einer Neuinstallation besteht darin, dass alle bisherigen Einstellungen und Dateien erhalten bleiben. Das kann im Vergleich zu einer Neuinstallation natürlich viel Zeit sparen. In der Regel geht diese Zeit aber an anderer Stelle verloren — nämlich bei der Fehlersuche, wenn ein aktualisiertes Programm nicht mehr so funktioniert wie vorher …

Wie bereits erwähnt, kann der Umstieg von MySQL zu MariaDB zu Problemen führen. Lesen Sie vor einem Update unbedingt diesen Knowledge-Base-Beitrag der MariaDB-Webseite.

Bei meinem Test war das Update prinzipiell erfolgreich, wenngleich ein paar Kleinigkeiten das Bild trüben: Der Auto-Login für den Nutzer pi funktioniert nicht mehr und die Schrift im Terminal sieht hässlich aus. phpMyAdmin funktionierte erstaunlicherweise nach dem Update, allerdings konnte das Programm auf die phpMyAdmin-interne Datenbank nicht mehr zugreifen. (Dadurch gehen einige Zusatzfunktionen von phpMyAdmin verloren.)

Ich habe mir nicht die Mühe gemacht, diese Probleme zu beheben. Auch auf wirklich tiefgreifende Tests habe ich verzichtet und stattdessen wieder die SD-Karte mit der Raspbian-Stretch-Neuinstallation in den Slot gesteckt :-)

Quellen

14 Gedanken zu „Raspbian Stretch“

  1. Ich habe heute auch eine komplett neue Raspian Strech Image Datei erstellt und in einen Raspberry 3 gesteckt. Mit Putty und der Stndardeingabe Bnutzer und Password sagt er Access denied.
    Ist da doch der Standardzugang nicht mehr möglich.

    1. Das habe ich leider nicht getestet, werde ich voraussichtlich morgen nachholen. Das wäre sehr ärgerlich, wenn das nicht mehr funktioniert. Ich nehme an, du hast das wie hier beschrieben versucht, oder?

      1. Hallo,

        anscheinend war beim Image was nicht in Ordnung. Nochmals Image und jetzt funktionierts. Hat jemand schon Erfahrung mit dem Logilink Wlan Stick und dem neuen Stretch. Ich habe den Logilink eingesteckt und mit lsusb hat der Raspi ihn auch identifiziert. Die Wlan Verbindung funktioniert aber noch nicht. Gibt es mit diesem Stick mit dem neuen Betriebssystem Probleme ?

        Danke für die prompte Antwort

  2. Noch ein Kommentar zum WLAN Problem mit Logilink WLAN Stick.
    Nach Einstecken wird der Stick erkannt und bei lsusb auch angezeigt.
    Bei Abfrage mit ifconfig erscheint nicht mehr eth0 und wlan 0 sondern enx ……………: Hardwareadresse und wlx …………Hardwareadresse:

    1. Die langen Schnittstellennamen haben sich mittlerweile bei fast allen Distributionen durchgesetzt. Sie haben den Vorteil, dass sie immer gleich bleiben, egal in welcher Reihenfolge die Netzwerkadapter initialisiert werden bzw. ob der eine oder andere Adapter fehlt.

  3. Um sich mit Putty auf den Raspberry zu verbinden ist es unbedingt nötig die Textdatei ssh im entsprechenden Verzeichnis anzulegen, ansonsten gibt es keine Verbindung.

  4. Ich hatte usbmount unter Wheezy installiert. Nach dem Upgrade auf Stretch wird usbmount aber ignoriert. Der angeschlossene Stick wird nicht mehr, wie er sollte, bei /media/usb0 (bzw. usb1 usw.) eingehängt, sondern bei /media/pi, was nicht sein dürfte, mit der Folge, dass der auf dem Desktop installierte client für MPD „Ario“ die auf dem Stick befindlichen Musikdateien nicht findet.

    1. Auch in diesem Punkt verhält sich Raspbian jetzt wie die meisten anderen Distributionen. Ich hab‘ den Punkt zu den technischen Neuerungen hinzugefügt.

      1. Ich werde nun, nachdem ich meine Sicherung wieder eingespielt habe, erneut upgraden, usbmount deinstallieren, die /etc/usbmount/usbmount.conf löschen und die /etc/mpd.conf anpassen. Mal sehen, was dabei rauskommt. Insgesamt ist das Upgrade bis auf dieses eine Problem reibungslos verlaufen.

  5. Hi alle zusammen,

    soweit super Infos.
    Damit kam echt was anfangen.
    Zu Thema SSH, wohin mit der Textdatei ssh.* ? Welches Verzeichnis?
    Hatte bis dato nur Debian 8 auf dem Desktop und auf dem Pi sowie Windows 8.1

    Antwort wäre nett.

    Danke

  6. Habe soeben von jessie auf strech upgedatet (keine Neuinstallation)
    bash script das unter jessie funktionierte geht nun nicht mehr. Rechte sind aber immer noch die selben.

    Was kann ich noch pruefen.
    Gruss
    gwaag

  7. Hallo Herr Kofler,
    vielen vielen Dank für Ihren Beitrag. Auf so eine „Anleitung“ habe ich gehofft. Fazit: ich mache, wenn überhaupt, eine Neuinstallation.
    Viele Grüße … Michael V.

  8. apt full-upgrade -y
    Eingabeaufforderungen werden mit „Yes“ durchgeführt,
    somit erspart man sich das ständige Gefrage,
    wenn man das eh alles möchte.

Kommentare sind geschlossen.