Raspberry Pi: Release-Wechsel von Raspbian Jessie nach Stretch

Raspbian ist eine auf Debian basierende Linux-Distribution für den Raspberry Pi. Genauso wie Debian friert Raspbian alle 2 bis 3 Jahre den Versionsstand (Release) aller im Repository (Software-Archiv) bereitgestellten Pakete (Programme, Bibliotheken, Treiber, usw.) ein.

Wenn jetzt ein neues Raspbian-Release erscheint, dann ist damit das vorhergehende Release veraltet. Um in den Genuss der neuen Versionen zu kommen, muss man einen Release-Wechsel durchführen. Das ist ein Upgrade-Prozess, der je nach System über mehrere Stunden dauern kann.

Im folgenden Artikel geht es darum, wie man Raspbian "Jessie" auf das Release "Stretch" aktualisiert.

Seit dem 17.06.2017 gibt es die Linux-Distribution Debian mit dem Release Stretch. Für Raspbian wird das neue Release im Sommer 2017 erwartet. Vorher sollte man kein Release-Wechsel durchführen.

Wer sind Jessie und Stretch?

"Jessie" und "Stretch" sind Release-Namen für die Linux-Distribution "Debian". Für den Raspberry Pi wurde diese Linux-Distribution angepasst und trägt die Bezeichnung "Raspbian". Auch hier gelten diese Release-Namen. Das Release ist vergleichbar mit einer Betriebssystem-Version von Microsoft, wie Windows XP, Vista, 7, 8 oder 10.

Irgendwann im Jahr 2017 wird das Debian-Release "Stretch" offiziell "stable". Das heißt, damit wird ein neues Release der Debian-Entwickler freigegeben. Damit wird das vorhergehende Release ("Jessie") automatisch "oldstable". Das hat Konsequenzen. Software-Updates gibt es nur noch für das neue bzw. aktuelle Release. Ausgenommen sind Sicherheitsupdates und der eine oder andere Bugfix. Das führt dazu, dass ein System mit der Zeit veraltet, weil es keine Aktualisierungen mehr bekommt.

Hinweis: Auch wenn "Stretch" noch nicht "stable" ist kann man ein "Jessie" auf "Stretch" upgraden. Allerdings nur an einem Testsystem.

Vorbereitungen für den Release-Wechsel

Wenn man das Upgrade an einem laufenden System durchführen will, sollte man zuerst die Veröffentlichungshinweise durchlesen. In den Release-Notes steht auch, was bei einem Upgrade von "Jessie" auf "Stretch" zu beachten ist.

Einen Release-Wechsel sollte man sich gut überlegen und entsprechende Vorbereitungen treffen. Deshalb an dieser Stelle der Hinweis, vorher ein Backup zu machen. Wenn später etwas schief oder gar nicht geht, dann kann man zum alten Stand zurückkehren oder überschriebene Konfigurationsdateien neu erstellen.

Hinweis: Für einen Release-Wechsel sollte man ein wenig Zeit mitbringen, weil dabei eine Menge Pakete heruntergeladen und anschließend installiert werden müssen. Außerdem erwarten einige Installationen eine Bestätigung vom Benutzer, weil sich einige wichtige Standard-Einstellungen geändert haben.
Wie lange es insgesamt dauert, hängt davon ab, wie umfangreich die Software-Installation und wie schnell das System ist. In der Regel werden mehrere hundert Pakete und damit mehrere tausend Dateien getauscht. Zusätzlich wird einiges neu konfiguriert. Man muss damit rechnen, dass ein Release-Update mehrere Stunden dauern kann.

Vorbereitungen zum Release-Upgrade

Ein Upgrade braucht zusätzlichen Speicherplatz. Deshalb muss man per "raspi-config" dafür sorgen, dass auch die volle Speicherkapazität der Speicherkarte genutzt wird. Außerdem muss UTF-8 als Zeichensatz eingestellt sein, da es sonst beim Upgrade Probleme geben wird.

Desweiteren sollte man das Update man auf der Konsole und nicht im Terminal auf dem Desktop durchführen. Denkbar wäre das Upgrade über SSH. Wenn, dann über LAN, nicht WLAN.

Laufende Dienste sind während der Aktualisierung bzw. während des Release-Wechsels nur eingeschränkt oder gar nicht verfügbar. Manche davon sind erst nach einem abschließenden Neustart wieder verfügbar.
Man sollte sich die Zeit nehmen, die Aktualisierung mindestens zeitweise zu verfolgen, weil immer wieder Nachfragen bezüglich geänderter Konfigurationsdateien erfolgen, die bestätigt oder abgelehnt werden müssen, um den Prozess am Laufen zu halten.

Installiertes Release auf den neusten Stand bringen

Hinweis: Bei einem Release-Wechsel sollte man externe Paketquellen entfernen und damit rechnen, dass Pakete entfernt werden.

Zuerst muss das installierte bzw. alte Release aktualisieren und auf den neusten Stand gebracht werden.

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

Paketstatus überprüfen

Es ist eine gute Idee, sicherzustellen, dass es keine beschädigten Pakete gibt.

sudo dpkg --audit
sudo dpkg --get-selections | grep hold

Erscheint keine Ausgabe, ist alles in Ordnung und Sie können mit dem Release-Wechsel bedenkenlos fortfahren. Wenn eine Ausgabe erscheint, dann müssen erst einmal diese Probleme behoben bzw. diesen Meldungen nachgegangen werden.

Speicherkapazität prüfen und freigeben

Bevor wir loslegen prüfen wir noch, ob auch genug Speicherplatz vorhanden ist.

df -h

Wie viel zusätzlicher Speicher die heruntergeladenen Pakete brauchen hängt natürlich von der installierten Software ab. Allerdings sollte hier genug Speicherplatz vorhanden sein, damit ein Upgrade überhaupt möglich ist. Ein oder zwei Gigabyte frei verfügbarer Speicherplatz sollten es schon sein.
Was man auf alle Fälle machen sollte, um mehr Speicherkapazität zu bekommen, ist den Paket-Cache zu löschen. Denn in der Regel wird man die darin enthaltenen Pakete nach einem Release-Wechsel nicht mehr benötigen.

sudo apt-get clean

Paketquellen anpassen und aktualisieren

Das Upgrade bzw. der Release-Wechsel findet bei Raspbian nicht automatisch statt, sondern erst nach einer Anpassung der Paketquellen. Dazu muss man folgende Datei öffnen und bearbeiten.

sudo nano /etc/apt/sources.list

Hier trägt man folgende Zeile ein:

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

Vor allen anderen Zeilen setzt man ein "#".

Dann löscht man alte Paketquellen im Verzeichnis "/etc/apt/sources.list.d/".

sudo rm -f /etc/apt/sources.list.d/*

Dann erzeugt man eine neue Datei:

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

Hier trägt man folgende Zeile ein:

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

Nachdem man die Paketquellen geändert hat, muss die Liste der verfügbaren Pakete aktualisiert werden.

sudo apt-get update

Hierbei muss man beachten, dass alle Paketquellen fehlerfrei heruntergeladen und gelesen werden müssen. Kommt es zu Fehlermeldungen, dann sollte man zuerst diese Probleme beseitigen. Wenn man das ignoriert und zum nächsten Schritt übergeht, dann kann das zu einem fehlerhaften Release führen.

Hinweis: Es gibt einige Anleitungen, in denen empfohlen wird den Release-Namen durch "stable" zu ersetzen, weil dann automatisch auf das neue Release gewechselt wird. Das Problem dabei ist, dass das nicht immer sinnvoll ist. Zum einen macht man an einem laufenden System keinen Release-Wechsel, wenn es dazu keinen stichhaltigen Grund gibt. Auch macht es einen Unterschied ob 10 oder 1.000 Pakete plötzlich aktualisiert werden. Von der Datenmenge und dem Zeitaufwand mal abgesehen. Auch sollte man vielleicht vorher noch ein Backup anfertigen.
In jedem Fall ist die Benutzung der Release-Namen "Wheezy", "Jessie" und "Stretch" der bessere Weg einen Release-Wechsel vorzunehmen.

Release-Upgrade durchführen

Die Release-Notes raten dazu, den Release-Wechsel aufzuteilen und zunächst alle installierten Pakete auf den neusten Stand zu bringen.

sudo apt-get upgrade

Der nächste Schritt führt den eigentlichen Release-Wechsel durch und aktualisiert Raspbian auf das neue Release.

sudo apt-get dist-upgrade

Dieser Schritt aktualisiert auch die Pakete, für die zusätzliche Software installiert werden muss oder für die andere Pakete kommen.

Dabei werden sehr viele Pakete heruntergeladen und anschließend installiert. Dieses Upgrade dauert eine Weile und es kann immer wieder zu Unterbrechungen kommen. Bei manchen Paketen muss man mit umfangreichen Änderungen an Konfigurationsdateien rechnen. Das ist aber ein grundsätzliches Problem, dass bei jedem Upgrade auftreten kann und bei einem Release-Wechsel gehäuft auftritt.
Daher ist es wichtig, das Upgrade zu beobachten und gegebenenfalls eine Auswahl zu treffen. In jedem Fall werden Ihnen neue Konfigurationsdateien angeboten. Um den nachträglichen Konfigurationsaufwand zu begrenzen, sollten Sie die alten Einstellungen beibehalten. Es kann nicht schaden sich parallel über neue Konfigurationsdateien Notizen zu machen, damit mit man für später weiß, wo eventuell eine Konfiguration kontrolliert werden muss.

Neue Versionen bereits installierter Pakete, die das System nicht aktualisieren kann, ohne den Status eines anderen Pakets zu ändern, werden nicht aktualisiert. In dem Fall müssen die Abhängigkeiten der Pakete korrigiert werden. Dabei werden unter Umständen einige Pakete zusätzlich installiert.

sudo apt-get -f install

Manchmal muss man den Upgrade-Prozess noch einmal anstoßen, weil er sich aus irgendwelchen Gründen vorzeitig beendet hat.

sudo apt-get dist-upgrade

Erst wenn keine weiteren Installationen durchgeführt werden (0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert), hat man einen vollständigen Release-Wechsel durchgeführt.

Aufräumen

Dann sollte man noch die Pakete deinstallieren, die nicht mehr gebraucht werden und die Paketelöschen, die veraltet sind.

sudo apt-get autoremove
sudo apt-get autoclean

Danach kann man veraltete Init-Skripte und Konfigurationsdateien der alten Pakete entfernen.

dpkg -l | awk '/ˆrc/ { print $2 }' | less

Sofern die Liste keine Dinge enthält, die man noch braucht, kann man deren Inhalt in einem Rutsch löschen.

sudo apt-get purge $(dpkg -l | awk '/ˆrc/ { print $2 }')

Man kann diesen Schritt vorerst auch auslassen und zu einem späteren Zeitpunkt ausführen.

Neustart

Dann ist ein Neustart fällig.

sudo reboot

Nun sollte das System mit dem neuen Release laufen.

Die nächsten Schritte bestehen darin, alle Funktionen zu prüfen, die man erwartet. Gegebenenfalls müssen Konfigurationsdateien angepasst werden.

Troubleshooting

Nach dem Release-Wechsel wird man in der Regel man auf das eine oder andere Problem stoßen. Sofern kein grundsätzliches Problem vorliegt, bekommt man fast alle Probleme gelöst. In der Regel wird man sich mit Konfigurationsdateien beschäftigen und das eine oder andere Paket nachinstallieren müssen.

Weitere verwandte Themen:

Teilen:

Produktempfehlungen