8.45. Distribution aktualisieren (update und upgrade)

8.45.1. Vorworte

Das Aktualisieren einer bestehenden Linuxinstallation ist immer eine etwas heikle Geschichte und eine Frage des Selbstvertrauens sowie des Bauchgefühls. Es geht dabei schließlich nicht nur um vergleichbaren Kleinkram wie ein einzelnes Paket, sondern um das ganze System, in dessen Pflege Sie bereits viel Zeit und Mühe gesteckt haben. Dieser Aufwand soll schließlich nicht umsonst gewesen sein.

Eine Aktualisierung bedeutet stets größere Umbauarbeiten, bei dem sich vergleichsweise viel ändert und durchaus auch etliches schief gehen kann, womit Sie nicht unbedingt rechnen. An der Stelle sei jedoch zu Ihrer Beruhigung angemerkt, dass der Wechsel von Debian 6 Squeeze auf Debian 7 Wheezy recht unspektakulär verlief und vielfach problemlos über die Bühne ging. Beim Wechsel von Debian 7 Wheezy auf Debian 8 Jessie war vor allem der Wechsel von Apache 2.2 auf Apache 2.4 mit manuellen Anpassungen an der Apache-Konfiguration verbunden. Beim Wechsel von Debian 8 Jessie nach Debian 9 Stretch muss darauf geachtet werden, dass lokal installierte PHP-Anwendungen auch mit PHP 7.0 kompatibel sind.

Trotzdem halten wir es für ganz praktisch, wenn wir Ihnen eine Schritt-für-Schritt-Abfolge zur Verfügung stellen, der Sie folgen können. Das verringert die Wahrscheinlichkeit, dass bei der Aktualisierung etwas vergessen wird. Empfehlenswert ist auch, den Vorgang zu zweit mit einem Sparringspartner vorzunehmen. Das mindert die Anspannung und hilft Situationen zu umschiffen, in denen etwas Unbekanntes auftritt, wo Sie vielleicht allein nicht ohne Hilfe weiterkommen.

Desweiteren sind mehrere Hilfsmittel von Nutzen. Dazu gehören neben einem vollständigen und verfügbaren Backup Ihrer Daten eine CD/DVD oder ein USB-Stick mit einem Live-System für alle Fälle, um Ihr System bei Missgeschicken davon booten zu können und darüber wieder Zugriff auf Ihr System zu erhalten. Ein weiteres Gerät mit Internetzugang hilft dabei, Lösungen zu aufkommenden Fragen oder Unklarheiten zu recherchieren. Stift und Papier klingen trivial, ermöglichen aber flinke Notizen, falls das doch erforderlich sein sollte.

8.45.2. Vom upgrade zum dist-upgrade

Die vollständige Aktualisierung des Paketbestands erfolgt mit dem APT-Unterkommando dist-upgrade. Es ist auf den ersten Blick sehr ähnlich zu upgrade, es bestehen jedoch wesentliche Unterschiede zwischen beiden. Ersteres bezieht nur Änderungen innerhalb der bestehenden Veröffentlichung, das Zweite bezieht alles von der neuen Veröffentlichung.

8.45.3. Unsere empfohlene Reihenfolge

Wir empfehlen Ihnen, bei der Aktualisierung Ihrer Distribution die nachfolgenden Schritte nicht außer Acht zu lassen.

  1. Lesen Sie zuerst die Dokumentation und die Hinweise zum Distributionswechsel. Darin ist beispielsweise beschrieben, welche Veränderungen Sie bezüglich interner Strukturen und Dienste erwartet. Diese Informationen finden Sie unter dem Stichwort Veröffentlichungshinweise – auf englisch Release Notes – einerseits auf der Webseite des Debian-Projekts [Debian-Release-Notes] sowie als Bestandteil der offiziellen, verfügbaren Debian-Images.
  2. Halten Sie Ihre Zugangsdaten für administrative Zwecke bereit.
  3. Sofern noch nicht vorhanden, erzeugen Sie ein Backup Ihrer wichtigen Daten auf ein möglichst externes Medium. Dazu zählen neben den Nutzerdaten insbesondere die Konfigurationseinstellungen Ihrer Programme. Häufig werden dabei Inhalte von Datenbanksystemen und Webpräsenzen übersehen, die sich unter dem Verzeichnis /var tummeln. Überprüfen Sie danach Ihr Backup auf Vollständigkeit. Nichts ist enttäuschender als eine Datensicherung, welche sich im Nachhinein als unvollständig herausstellt.
  4. Setzen Sie die Veröffentlichung testing oder unstable ein, fahnden Sie mit Hilfe des Pakets apt-listbugs [Debian-Paket-apt-listbugs] nach möglicherweise kritischen Fehlern in der Debian-Fehlerdatenbank (siehe Abschnitt 33.3.2, „Bugreports mit apt-listbugs lesen“).
  5. Aktualisieren Sie die bestehende Paketliste mittels apt-get update (siehe Abschnitt 3.13, „Liste der verfügbaren Pakete aktualisieren“). Damit bringen Sie die Paketliste auf den aktuellen Stand und verringern die Unterschiede zum verfügbaren Paketbestand.
  6. Spüren Sie Waisen und nicht mehr benötigte Pakete mittels apt-get autoremove auf (siehe Abschnitt 8.42, „Umgang mit Waisen“). Dieser Schritt verringert den zu berücksichtigenden Paketbestand und macht sich in mehrfacher Hinsicht bemerkbar. Einerseits werden Altlasten beseitigt, sie sparen Zeit und Festplattenplatz, es müssen somit weniger Datenpakete über die Leitung geschubst werden und anderseits danach eine geringere Anzahl Pakete aktualisiert werden.
  7. Spielen Sie die letzten Paketversionen Ihrer aktuell genutzten Veröffentlichung mittels apt-get upgrade ein. Damit verringern Sie die Unterschiede zum Versionswechsel weiter.
  8. Passen Sie Datei /etc/apt/sources.list entsprechend auf die neue Distribution an. Wechseln Sie bspw. von Debian 7 Wheezy auf Debian 8 Jessie, ändern Sie alle Vorkommen von wheezy auf jessie.
  9. Bringen Sie die Paketliste mittels apt-get update auf den neuesten Stand (siehe „Paketliste aktualisieren“ unter Abschnitt 3.13, „Liste der verfügbaren Pakete aktualisieren“).
  10. Aktualisieren Sie die Distribution mittels apt-get dist-upgrade. Jetzt wird der Distributionswechsel vollzogen und alle bestehenden Pakete werden erneuert, sofern neue Varianten vorliegen.

Abbildung 8.38. Ausgabe während des Upgrades von Jessie auf Stretch

werkzeuge/paketoperationen/debian-jessie-upgrade.png

8.45.4. Anmerkungen

Ein Distributionswechsel ist auch mit aptitude möglich. Dazu verwenden Sie in Schritt 10 obiger Liste auf der Kommandozeile statt apt-get dist-upgrade den Aufruf aptitude full-upgrade. Aus historischen Gründen besteht noch ein Synonym zu dist-upgrade, welches Sie derzeit ebenfalls noch benutzen können.

Über die Textoberfläche gelingt Ihnen gleiches nur über einen kleinen Umweg. Dazu markieren Sie zunächst mittels AktionenAktualisierbare markieren alle Pakete, für die eine neuere Variante verfügbar ist (Kurzform: Taste U). In Folge lösen Sie mittels g die Erneuerung der zuvor markierten Pakete aus.