staging.inyokaproject.org

Upgrade

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Mit Upgrade (Aufrüstung oder Aufwertung) wird im Gegensatz zu einem Update (Aktualisierung) das Wechseln auf eine neuere Ubuntu-Version bezeichnet. Das System sieht immer ein Update auf die nächste neuere Version vor. Eine Ausnahme von dieser Regel bildeten die Versionen mit Long Term Support. Das System sieht einen Upgradepfad von einer LTS-Version zur Nächsten Version vor.

Es ist eine der Stärken der Ubuntu-Paketverwaltung Systeme mit Laufzeiten von vielen Jahren und mehreren Upgrades zu ermöglichen. Sollte ein Upgrade bei einem Derivat aus bestimmten Gründen mal nicht vorgesehen sein, enthalten die Release Notes einen entsprechenden vermerkt. Dies war beispielsweise bei Kubuntu 16.04 so.

Die folgenden Hinweise und Tipps sollen bei Problemen während oder nach dem Upgrade helfen.

Vorbereitung

Datensicherung

Datensicherungen sollten ohnehin regelmäßig gemacht werden, vor "Upgrades" sind sie aber unbedingt Pflicht. Programme und weitere Informationen findet man unter Datensicherung.

Software

Fremdpakete

Pakete aus Fremdquellen können beim Wechsel auf eine neuere Ubuntu-Version Probleme verursachen. Das gilt auch für PPAs. Wenn ein Paket Abhängigkeiten definiert, die im neuen System unerfüllbar sind, wird das Upgrade nicht funktionieren. Fremdpakete und auch Fremdsoftware sollte man daher sicherheitshalber vorher deinstallieren [1]. Anschließend kann man sie erneut installieren, falls sie nicht inzwischen ohnehin über die Ubuntu-Paketquellen verfügbar sind.

Software, die auf dem alten System noch funktionierte, kann außerdem im neuen System nicht mehr funktionsfähig sein. Wenn ein Programm aus einem Fremdpaket nach dem Upgrade nicht mehr startet, sollte man nach einer neuen Version suchen. Hat man das Programm selbst aus den Quellen kompiliert, ist dies zu wiederholen.

Software von Drittherstellern, die unter /opt installiert ist, wird durch ein Upgrade normalerweise nicht beeinträchtigt und hat auch selbst keine negative Auswirkung.

Backports

In seltenen Fällen ist es möglich, dass in den "Backports" der jeweils älteren Ubuntuversion neuere Pakete enthalten sind als in der Ubuntuversion, auf die man wechseln möchte. Dies kann einerseits das Upgrade verhindern, andererseits können auch die Konfigurationsdateien durch die "neue" alte Version der Software nicht mehr zu lesen sein.

Konfigurationsdateien

Wenn eine neue Version eines Programms mit vorhandenen Konfigurationsdateien nicht zurechtkommt, sollte man das Verzeichnis mit diesen Dateien probehalber umbenennen. Die persönlichen Konfigurationen befinden sich in versteckten Unterordnern des persönlichen Ordners, deren Name meist dem Schema ".config/programmname" folgt. Nach dem Umbenennen dieses Ordners sollte die Software wieder funktionieren, allerdings muss sie neu konfiguriert werden.

Treiber

Selbstgebaute Kernelmodule

Selbstgebaute Kernelmodule müssen nach dem Upgrade neu erstellt werden. Dies betrifft manche WLAN-Treiber (die allerdings in einer neueren Ubuntu-Version bereits enthalten sein können) oder die "Originaltreiber" von Nvidia und AMD.

Sonstige Treiber

Andere Treiber, die von Hardwareherstellern in Form von DEB-Paketen bereitgestellt werden, sind meist von der jeweiligen Kernelversion unabhängig. Sie sollten nach dem Upgrade problemlos funktionieren - garantiert werden kann dies aber ebenfalls nicht.

Speicherplatz aufräumen

Falls der Plattenspeicher knapp ist oder knapp werden könnte, sollte man vor einem Upgrade unbedingt alte Installationspakete in /var/cache/apt/archives/ löschen bzw. aufräumen. So vermeidet man evtl. eine Unterbrechung beim Herunterladen, und es ist mehr Platz für die neuen Installationspakete vorhanden. Mit

sudo apt-get clean 

kann der Cache vollständig entleert werden.

Durchführung

./update-manager.png
Aktualisierungsverwaltung

Ubuntu bietet zwei mögliche Werkzeuge, um die Aktualisierung vorzunehmen. Eine davon ist die Aktualisierungsverwaltung (engl. Update Manager). Diese kann über das Menü oder im Terminal mit folgendem Befehl gestartet werden[5]:

update-manager 

Liegt eine neue Version gemäß den unter Einstellungen festgelegten Kriterien vor, wie z. B. die Option nur über neue LTS Versionen benachrichtigt zu werden, kann hier nun grafisch der Aktualisierungsprozess gestartet werden.

Einige Derivate liefern die Aktualisierungsverwaltung nicht aus. Zusätzlich kann die Aktualisierung deshalb bei allen offiziellen Ubuntu Derivaten mittels folgendes Befehls gestartet werden[5]:

do-release-upgrade 

Dabei handelt es sich um den gleichen Prozess, der sonst grafisch in der Aktualisierungsverwaltung erfolgt.

Nachbereitung

Paketquellen kontrollieren

Nach einem erfolgreichen Upgrade sollte man die Paketquellen in sources.list und innerhalb des Verzeichnisses /etc/apt/sources.list.d/ kontrollieren, ob hier alle Änderungen auf die neue Version erfolgreich durchgeführt wurden. Falsche oder widersprüchliche Versionsangaben können langfristige Probleme verursachen.

Fremdquellen aktivieren

Vor dem Upgrade deaktivierte Fremdquellen können nun - sofern sie noch notwendig sind - wieder aktiviert werden. Ggf. müssen hier neue Alternativen für die aktuelle Version gesucht werden.

Protokoll-Dateien (Log) einsehen

Will man später den Verlauf des Upgrades noch einmal begutachten, so finden sich unter /var/log/dist-upgrade entsprechende Protokoll-Dateien.

Problemlösungen nach fehlgeschlagenen Upgrades

Bei Problemen aller Art muss zunächst sichergestellt werden, dass die Quellenliste /etc/apt/sources.list korrekt ist. Zu beachten sind auch evtl. Einträge unter /etc/apt/sources.list.d/.

Danach sollte man überprüfen, ob das Upgrade vollständig durchgelaufen ist. Insbesondere bei unterbrochenen Upgrade-Prozessen haben sich folgende drei Befehle bewährt:

Hinweis:

Die Befehle kann man entweder im Recovery Modus mit dort zu aktivierendem Schreibzugriff gemäß Link eintippen oder in einer virtuellen Konsole. Notfalls wäre es auch per chroot/Live-CD möglich.

sudo dpkg --configure -a
sudo apt-get -f install
sudo apt-get update && sudo apt-get dist-upgrade   # wenn kein Netz, dann nur: sudo apt-get dist-upgrade 

Dabei ist es unerheblich, ob die Unterbrechung zum Beispiel durch Unachtsamkeit, Fehler im Programmablauf, Stromausfall oder etwa Speichermangel erfolgte. Bei Speichermangel ist zuvor der verfügbare Platz zu überprüfen und ggf. Platz zu schaffen:

df -h 

Mit

sudo apt-get clean 

werden zwar alle bereits heruntergeladenen Pakete gelöscht, dafür aber auch die bereits installierten und daher nicht mehr benötigten Pakete mit entfernt, welche im Zwischenspeicher nur unnötig viel Platz verbrauchen und damit das Fortführen des Vorgangs bis zum Ende verhindern. Zuvor sind eventuell manuell weitere Dateien zu löschen, falls der Befehl wegen Speicherplatzmangel trotz Neustart (per sudo reboot) nicht ausführbar ist.

Die noch nicht installierten restlichen Pakete sind durch die eben genannten ersten drei Befehle mit einer bestehenden Internetverbindung erneut herunterlad- und installierbar, indem man eine Internetverbindung im Recovery Modus oder der virtuellen Konsole herstellt oder dazu den grafischen NetworkManager der Live-DVD benutzt und im Falle der Live-DVD zusätzlich danach für die drei Befehle ein chroot eröffnet, in die man diese Befehle einzeln kopiert.

Danach ist das Metapaket zu installieren[3], das für die Installation des gesamten grafischen Desktops sorgt. Dieses Metapaket heißt:

  • für Ubuntu: ubuntu-desktop

  • für Kubuntu (KDE): kubuntu-desktop

  • für Xubuntu (Xfce): xubuntu-desktop

  • für Lubuntu (LXQt): lubuntu-desktop

  • für Ubuntu MATE: ubuntu-mate-desktop

  • für Ubuntu Budgie: ubuntu-budgie-desktop

  • für Ubuntu Unity: ubuntu-unity-desktop

Außerdem installiert[3] man das Metapaket für die neuen Kernel und deren kommende Updates:

  • für Ubuntu bzw. aktuelle Hardware : linux-generic-hwe-VERSION

  • für alle anderen Desktops bzw. „abgehangene“ Hardware: linux-generic

Sobald die neuen Kernel sowie die neue Ubuntu-Version vollständig installiert sind, sollte man im Rahmen der Systempflege (Abschnitt „Alte-Kernel“) auch manuell alte Kernel der Vorgängerversion entfernen. Wurden durch das Metapaket linux-generic tatsächlich fehlende neue Kernelversionen installiert, sollte man neustarten.

Nach dieser Installation eventuell fehlender Metapakete kann man versuchen, die grafische Oberfläche neu zu starten (siehe auch Displaymanager):

  • Ubuntu:

    sudo systemctl restart gdm 
  • Xubuntu, Lubuntu, Ubuntu MATE, Ubuntu Budgie, Ubuntu Unity, Ubuntu Studio (bis 20.04):

    sudo systemctl restart lightdm 
  • Kubuntu, Ubuntu Studio (ab 20.10)

    sudo systemctl restart sddm 

Werden Probleme beim Starten des X-Servers gemeldet, sollte die Installation des Grafiktreibers überprüft werden. Dies betrifft vor allem die o.g. fehlerhaften Installationen von den proprietären AMD- und Nvidia-Treibern sowie manuelle Installationen mit "Originaltreibern".

  • Hat man bisher ausschließlich die von Ubuntu gelieferten Treiber verwendet, sollte das Vorhandensein der entsprechenden Pakete überprüft werden.

  • Hat man bisher ausschließlich "Originaltreiber" verwendet, muss deren Installation wiederholt werden.

  • Hatte man mit verschiedenen Treibern experimentiert, sollte man versuchen, alle diese Treiber ganz zu entfernen, und dann einen der Treiber neu zu installieren.

Zur einfacheren Wartung bietet es sich an, das zu rettende System von einer Live-USB oder einer Live-DVD aus zu betreten[4]. So kann man gleichzeitig im zu rettenden System arbeiten und unter einer grafischen Oberfläche Anleitungen im Internet lesen.

Alternative: Neuinstallation

Auch wenn ein bereits installiertes System per Upgrade (do-release-upgrade oder update-manager) auf eine neue Version aktualisiert werden kann, heißt das nicht, dass dies auch immer / für jedes System die empfehlenswerte Methode ist. Besonders bei Systemen mit vielen eingebundenen Fremdquellen oder an der Paketverwaltung vorbei vorgenommenen Änderungen am System kann eine Neuinstallation effizienter sein.

Erleichtert wird diese, wenn man System- und Benutzerdaten getrennt hat. Eine Möglichkeit sind mindestens zwei verschiedene Partitionen auf der Festplatte: eine für / und eine weitere für /home. Dann kann eine Neuinstallation auf der /-Partition erfolgen, während die /home-Partition ohne Veränderungen in das neue System eingebunden wird.

Folgender schematischer Ablauf würde eine Neuinstallation bei gleichzeitiger Datenübernahme ermöglichen:

  1. Daten sichern

  2. Das ISO-Abbild der neuen Version herunterladen und ein Installationsmedium erstellen (Desktop-DVD oder Live-USB-Medium)

  3. Manuell eine Liste der zusätzlich zu installierenden Anwendungen vorbereiten oder installierte Pakete merken

  4. Mit dem Installationsmedium die neue Version installieren. Achtung: Den gleichen Benutzernamen verwenden um problemlos die Daten aus der alten Home-Partition weiternutzen zu können.

  5. Daten zurück kopieren (dieser Schritt nur, wenn keine separate Home-Partition vorhanden war)

Die /home-Partition darf NICHT formatiert werden. Auch ohne eine separate /home-Partition bleiben bei einer erneuten Installation auf eine bestehende Partition Datenverzeichnisse erhalten (also z.B. /home), wenn man die bestehende "/"-Partition NICHT formatiert. Dann werden nur die Systemverzeichnisse gelöscht. Alle Konfigurationsdateien in Unterverzeichnissen von /home bleiben so erhalten, wodurch prinzipiell die vorgenommenen persönlichen Einstellungen übernommen werden. Dabei können aber veraltete oder fehlerhafte Benutzerkonfigurationen (in versteckten Dateien und Unterverzeichnissen in /home) nicht automatisch erneuert werden. Systemeinstellungen unter /etc werden ebenfalls nicht übernommen.

Diese Revision wurde am 23. Oktober 2022 17:31 von fleet_street erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Installation, System, Aktualisierung