Neues Raspbian Stetch Image auf Basis von Debian 9 – Wichtige Details zu den Änderungen

raspberry.tips
raspberry.tips - Raspberry Pi Projekte und Tutorials

Am 16. August hat die Raspberry Pi Foundation das Raspbian Image auf “Stretch” aktualisiert, Basis für das Betriebssystem ist nun Debian 9. Neben einigen zusätzlichen Software Neuerungen und Aktualisierungen hat sich vor allem im Bezug auf Projekte mit der Basis Apache, PHP und MySQL einiges geändert. Da die meisten meiner Tutorials auf Jessie bzw. dem Vorgänger Wheezy basieren werde ich wo notwendig Stück für Stück aktualisieren, gerne dürft ihr Fragen / Hinweiße in den jeweiligen Kommentaren hinterlassen. Details zu Stretch nun in diesem Post.

Änderungen in Raspbian Stretch

Hier habe ich euch die wichtigsten Änderungen zusammengefasst.

  • Basis ist nun Debian 9 (Stretch),vorher Debian 8 (Jessie)
  • Aktueller Kernel und Firmware wurden integriert
  • Die MySQL Variante MariaDB ersetzt MySQL
  • Die Namen der Netzwerinterfaces haben sich geändert (MAC Adresse anstelle ethX – ethY)
  • PHP ist nun in Version 7.0 enthalten
  • Chromium Browser ist nun vorinstalliert (60)
  • Sonic Pi ist nun in der Version 3.0.1, RealVNC in der Version 6.1.1 und NodeRED in der Version 0.17.4 enthalten
  • Einige Desktop Anwendungen fragen nun nach einem Passwort (sudo)
  • Neue WLAN Firmware zum Fixen der Broadpwn Sicherheitslücke
  • Weitere kleinere Anpassungen und Fixes

Hier noch die offiziellen Release Notes Debian 9 und die Release Notes des Raspbian Image

Wichtig! Im Aktuellen Stretch Image solltet ihr als erstes ein update & upgrade durchführen da im Image noch einige Bugs enthalten sind die durch ein Update gefixt werden.

sudo apt-get update
sudo apt-get upgrade -y

Wo kann das “alte” Raspbian Jessie Image runtergeladen werden?

Alte Versionen der Raspbian Images können ebenfalls von raspberrypi.org heruntergeladen werden.

  • Download letztes Raspbian Jessie Image
  • Übersicht aller Images

Neues Namensschema für Netzwerkschnittstellen in Stretch

Das Namensschema für die Netzwerkschnittstellen wurde geändert, bisher wurden alle vorhandenen Netzwerkkarten durchgearbeitet und der ersten gefundenen der Name eth0 vergeben usw. das neue Schema ist nun wie ich finde recht kompliziert aufgebaut. Es gibt verschiedene Schemas welche in der Policy Datei festgelegt sind.

<Typ des Interfaces><verwendetes Namensschemas><Name nach Namensschema>

Konkret ist das bei den Standard Interfaces von Raspbian

<Typ des Interfaces><Schema x><MAC Adresse>

  • Die ersten zwei Buchstaben spiegeln den Typ der Karte wieder
    • en = Ethernet
    • sl = Serial Line
    • wl = WLAN
    • ww = WAN
  • Typ des Namensschemas, bei uns ist es immer x für die Mac Adresse
  • Als Name, da Schema x, wird dann die MAC Adresse der Netzwerkkarte angehängt

Beispiel für Rasperry Pi OnBoard  Ethernet: enxb827eb47fdfd

Altes Namensschema für Netzwerkinterfaces verwenden

Wer gerne wieder das alte Namensschema für seine Netzwerkschnittstellen verwenden möchte anstelle das Namensschema auf MAC-Address Basis kann das recht einfach erledigen. Folgender Befehl ändert die Richtlinie, durch Anlage einer leeren Regel (link auf /dev/null) wird das alte Schema verwendet.

sudo ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

In Stretch Geänderte PHP Version und MySQL Variante

Neben vielen kleineren Versions-Sprüngen und Änderungen an ehr uninteressanten Paketen hat sich an den für viele RasPi Projekte wichtigen Paketen PHP und MySQL folgendes geändert.

MariaDB in Raspbian

Die MySQL Variante MariaDB ist im Kern auch ein MySQL, die ursprüngliche Code Basis die selbe und die SQL-Syntax unterscheidet sich nicht, es gibt lediglich einige spezielle Funktionen die nur mit MariaDB Funktionieren. Ansonnten gibt es noch einige Unterschiede in den bereichen Hochverfügbarkeit, Security und Performance was aber ehr Features und Themen für den Business und Kommerziellen Einsatz sind und uns bei RasPi Projekte ehr weniger berühren.

  • Sowohl der Standard MySQL Client als auch der MySQL Server wurde von MySQL auf die MariaDB Variante geändert
    • MariaDB ServerVersion 10.1
    • MariaDB Client 10.1

Wer nun via APT den MySQL Server installiert wird daher immer die MariaDB erhalten. Hierbei gilt es zu berücksichtigen das MariaDB 10 ein neues Format mit sich bringt und die Datenbankdateien nicht abwärts-kompatibel zu älteren MySQL / MariaDB Versionen sind.

Installation der MariaDB unter Stretch

sudo apt-get install default-mysql-server
sudo mysql_secure_installation

oder übergangsweiße noch mit

sudo apt-get install mysql-server
sudo mysql_secure_installation

Einen Grund für MySQL in der Version 5.5 oder 5.7 gibts es aus meiner Sicht nicht.

Neue PHP Version in Raspbian Stretch

Ein aus meiner Sicht längst überfälliger Schritt ist die Aktualisierung von PHP auf Version 7, der Release liegt bereits über 2 Jahre zurück. Die neue Version bringt einen erheblichen Geschwindigkeitsvorteil, allerdings sind vor allem bei älterem Code einige Anpassungen notwendig. Einen passenden Artikel zu den Änderungen für PHP Entwickler findet sich auf der php.net Seite.

Die Installation von Apache mit php7 ist auch recht einfach

sudp apt-get install apache2 php7.0 libapache2-mod-php7.0 php7.0-mysql

Wer weiterhin PHP5.6 verwenden möchte (oder muss) kann folgende Befehle verwenden

apt install php5 php5-pgsql php5-gd php5-curl php5-cli apache2

Wichtig! PHP 5.6 wird im nächsten Jahr langsam aus den Repositories verschwinden, bemüht euch um eine Migration auf PHP 7.

Raspbian Jessie auf Stretch aktualisieren

Wichtig!
Erstellt euch vor dem Update unbedingt eine Sicherung eures System und ggf. der Daten.

Für das Update solltet ihr mindestens 5GB auf eurer SD-Karte frei haben, das Download der einzelnen Pakete war bei mir ca. 1,2GB groß.

In diesem Teil des Artikels zeige ich euch wie ihr von eurer vorhandenen Raspbian Jessie Installation auf  Raspbian Stretch aktualisieren könnt. Das Update solltet ihr am Besten nicht Remote durchführen sondern mit einer Tastatur / Maus und Bildschirm. Falls ihr nicht wisst ob ihr überhaupt noch auf Jessie seit, kontrolliert das mit folgendem Befehl. Jessie ist der Codename und das Release ist 8.

release anzeigen raspberry pi

lsb_release -a

Bevor wir anfangen sollten wir erst mal unsere aktuellen Pakete auf den letzten für Jessie verfügbaren Stand aktualisieren

sudo apt-get update
sudo apt-get upgrade -y

Wir zwingen unser System noch auch zurückgehaltene Pakete zu aktualisieren, eine aktuelle Firmware macht ebenfalls Sinn.

sudo apt-get dist-upgrade -y
sudo rpi-update

Um nun die Paketquelle noch von Raspbian Jessie auf Raspbian Stretch umzustellen müssen wir via Editor die Datei sources.list anpassen

sudo nano /etc/apt/sources.list

Wir müssen innerhalb der Datei alle vorkommenden “jessie” mit “stretch” ersetzen.

Findet

deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

Ersetzt (jessie mit stretch)

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
stretch sources list

Speichert durch das drücken von Ctrl + X dann Y und Enter.

Selbes vorgehen müssen wir auch bei der Datei /etc/apt/sources.list.d/raspi.list durchführen. Öffnet die Datei wieder im Editor Nano:

sudo nano /etc/apt/sources.list.d/raspi.list

Wir müssen innerhalb der Datei wieder alle vorkommenden “jessie” mit “stretch” ersetzen.

Findet

deb http://archive.raspberrypi.org/debian jessie main ui

Ersetzt (jessie mit stretch)

deb http://archive.raspberrypi.org/debian stretch main ui
stretch raspi sources

Speichert durch das drücken von Ctrl + X dann Y und Enter.

Da wir nun die quellen angepasst haben können wir mit dem Update auf Stretch starten. Das Update kann mehrere Stunden dauern! Brecht es nicht ab

sudo apt-get update
sudo apt-get dist-upgrade -y

Schaut ab und an nach dem Update, es kann vorkommen das bestimmte Installationen trotz des Parameters -y mit einem Y + Enter (J + Enter bei deutschem System) bestätigt werden müssen. Ich musste auch einen Change Log lesen (runter scrollen und mit q bestätigen).

Nach dem eigentlichen Update entfernen wir noch die als nicht mehr benötigten Pakete (durch Änderungen in den Abhängigkeiten können nicht mehr benötigte entfernt werden).

sudo apt-get autoremove -y

Wir putzen noch den Cache von alten nutzlosen Paketen mit autoclean.

sudo apt-get autoclean

Zum Abschluss rebooten wir unseren RasPi

sudo reboot

Zum Schluss solltet ihr noch mal checken das wirklich alles aktuell ist

sudo apt-get update
sudo apt-get upgrade -y
sudo rpi-update

Euer Raspberry Pi mit installiertem Raspbian wurde nun von Jessie auf Stretch aktualisiert. Kontrolliert das gerne mit:

lsb_release -a

Viel Spaß!

Neues Raspbian Stetch Image auf Basis von Debian 9 – Wichtige Details zu den Änderungen
raspberry.tips


wallpaper-1019588
[Comic] Batman: City of Madness
wallpaper-1019588
Hyakushō Kizoku: Anime erhält eine dritte Staffel
wallpaper-1019588
Arcanadea: Figuren-Franchise erhält einen TV-Anime
wallpaper-1019588
Gintama: Neuer Teaser zum Spin-Off-Anime veröffentlicht