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:

  1. Installation von Programmen

  2. Metapakete, optional

  3. Pakete auf der Konsole installieren, optional

  4. Was tun im Notfall?, optional

Inhaltsverzeichnis
  1. Vorbereitung
    1. Datensicherung
    2. Software
      1. Fremdpakete
      2. Backports
      3. Automatix oder EasyUbuntu
      4. Konfigurationsdateien
      5. Treiber
    3. Speicherplatz aufräumen
  2. Protokoll-Dateien (Log) einsehen
  3. Problemlösungen nach fehlgeschlagenen Upgr...
  4. Links

Mit Upgrade (Aufrüstung oder Aufwertung) wird im Gegensatz zu einem Update (Aktualisierung) das Wechseln auf eine neuere Ubuntu-Version bezeichnet, wobei dies nur für die jeweils nächstneuere Version möglich ist. D.h. es ist nicht möglich, eine oder mehrere Versionen zu überspringen. Die einzige Ausnahme stellt der Wechsel von einer LTS- zur nächsten LTS-Version dar.

Auch wenn ein bereits installiertes System per Upgrade (do-release-upgrade oder update-manager) auf eine neue Version aktualisiert werden kann, heißt das noch lange nicht, dass dies auch die empfehlenswerte Methode ist. In vielen Fällen ist ein sauberer Neuanfang problemloser.

Erleichtert wird dieser, wenn man eine alte EDV-Grundregel beherzigt: "System- und Benutzer-Dateien gehören getrennt". 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.

Fazit: In der Zeit, die man damit verbringt, über die Paketverwaltung auf eine neuere Version zu aktualisieren, könnte man ohne weiteres auch neu installieren:

  1. Das ISO-Abbild der neuen Version herunterladen und ein Installationsmedium erstellen (Ubuntu-CD oder Live-USB-Medium)

  2. Währenddessen die Daten sichern

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

  4. Mit dem Installationsmedium die neue Version installieren

  5. Zusätzliche Anwendungen mit der vorbereiteten Liste und einem Terminal nachinstallieren:

sudo apt-get install PAKET1 PAKET2 PAKET3 etc. 

6. Daten zurückkopieren

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.

Wer ein Upgrade eines bestehenden Systems wagen möchte oder muss, findet im Folgenden Hinweise und Tipps, wie sich Probleme allgemein umgehen lassen. Konkrete Beschreibungen zu einzelnen Versionen sind oben zu finden.

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 funktionsunfä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.

Automatix oder EasyUbuntu

Früher verbreitete Skripte wie z.B. Automatix oder EasyUbuntu installieren zwar fast ausschließlich Pakete aus den offiziellen Ubuntu-Quellen, bei einigen Programmen ist dies jedoch nicht möglich, da sie entweder gar nicht oder nur in einer älteren Version als Ubuntu-Pakete vorliegen. Daher wird hier auf die Original-Versionen der Hersteller zurückgegriffen.

Wer mit so einem Skript eine neue Version des Firefox installiert hat, bekommt beim Upgrade ein Problem: Die Profile werden in unterschiedlichen Ordnern gespeichert. Hier ist wie folgt vorzugehen: Zunächst sollte man den Profilordner .mozilla/firefox sichern. Dabei bitte kontrollieren, ob in diesem Ordner die Lesezeichen enthalten sind. Diese werden in der Datei bookmarks.html gespeichert. Nach dem Upgrade kann man zumindest die Lesezeichen über den Lesezeichen-Manager von Firefox importieren. Ob sich auch die sonstigen Einstellungen mit einer neueren Firefox-Version verwenden lassen, ist nicht garantiert. Mit Thunderbird ist dies genau das gleiche.

Vom Einsatz dieser Skripte wird daher grundsätzlich abgeraten!

Konfigurationsdateien

Wenn eine "neue" alte 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 dem Schema ".programmname" folgt. Nach dem Umbenennen dieses Ordners sollte die Software wieder funktionieren, allerdings muss sie neu konfiguriert werden.

Treiber

restricted-modules

Manche Treiber werden in gesonderten Paketen geliefert, die Kernelmodule bereitstellen. Wurde ein solches Paket inkorrekt installiert, fehlen die Treiber nach einem Upgrade. Wer 3D-Treiber für AMD- und Nvidia-Karten verwendet, sollte sicherstellen, dass das Metapaket [2] linux-restricted-modules installiert ist - und nicht nur eine Version für einen spezifischen Kernel! Beispiel: "linux-restricted-modules-2.6.15-23-386" ist ungenügend, wenn nicht auch "linux-restricted-modules-386" vorhanden ist. Gleiches gilt für andere Treiber, die (nur) teilweise in den restricted-modules enthalten sind, beispielsweise für die FRITZ!Cards von AVM.

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 Systemversion vom Kernel unabhängig. Sie sollten nach dem Upgrade problemlos funktionieren - garantiert werden kann dies 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.

Apt legt auf einem Btrfs-Dateisystem vor dem Upgrade einen neuen Snapshot des Systems an. Ältere Schnappschüsse sind ggf. selbst zu löschen, falls der Speicherplatz begrenzt ist.

Snapshots anzeigen:

sudo btrfs subvolume list / 

und löschen mit:

sudo btrfs subvolume delete <snapshot> 

Protokoll-Dateien (Log) einsehen

Will man später den Verlauf des Upgrade noch einmal begutachten, so finden sich unter /var/log/dist-upgrade entsprechende Protokoll-Dateien. Teilweise sind diese sehr ausführlich, aber vielleicht dennoch hilfreich bei obskuren Problemen nach einem (gescheiterten) Versuch.

Seit Ubuntu 9.04 werden diese für jeden Upgrade-Versuch in einem Unterordner mit Datums- und Zeitangabe gespeichert. Hat man beispielsweise am 23. Mai 2009 um 12:56 den Vorgang gestartet, so finden sich die Protokoll-Dateien in /var/log/dist-upgrade/20090523-1256.

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-CD benutzt und im Falle der Live-CD 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:

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

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 (z.B. 3.2-er von Ubuntu 12.04, wenn 3.13-er von Ubuntu 14.04 installiert wurden). 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):

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".

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