Da ich durch das Corona-Virus im Moment mehr oder weniger an meine Wohnung gefesselt bin, habe ich mir vorgenommen, das schon länger angedachte Linux Mint Update von 18.3. (Sylvia) zu 19 (Tara) durchzuführen.
Mein Linux Mint lief zwar seit Jahren stabil durch und Sylvia wird auch noch bis 2021 unterstützt, aber so manches moderne Feature gibt es auf diesem Stack dann doch nicht mehr und irgendwann muss man sowieso updaten.
Also hab ich mir verschiedene Anleitungen hierzu durchgesehen und dann entschieden es einfach zu versuchen. Hier könnt ihr lesen, wie es mir hierbei erging.
Vorbereitung ist alles
Bei einem Betriebssystemupdate kann grundsätzlich eine Menge schief gehen, also ist es wichtig erstmal die Fallhöhe zu begrenzen, dh. alles Wichtige zu sichern. Dafür habe ich zum einen Backup-Scripte, die an mehreren Stellen greifen, teilweise zeitversetzt nach jedem Boot-Vorgang. Das ist sehr nützlich, weil dadurch immer ein tagesaktuelles Backup der wichtigsten Daten vorliegt. Für das Systemupdate habe ich diese aber deaktiviert, damit bei den zu erwartenden mehrfachen Reboots hier nicht zwischendurch das Backup anschlägt.
Zum zweiten habe ich Timeshift für Snapshots des Systems im Einsatz. Letzteres wird ausdrücklich bei Linux Mint empfohlen und ich hab hier nur nochmal gecheckt, dass alles korrekt konfiguriert ist.
Weiterhin ist es sinnvoll das System vor dem Update nochmal auf den aktuellsten Stand zu bringen. Das klappt unkompliziert über apt
:
$ sudo apt update && sudo apt upgrade -y
Zudem hab ich mir eine der Anleitungen bereitgelegt, über die ich bei der Recherche gestoßen bin: https://linuxhint.com/update_linux_mint_system/
Und ich habe sichergestellt, dass ich genug Zeit habe, da bisher eigentlich bei jeden größeren Versionssprung irgendwelche Probleme aufgetreten sind, die im schlimmsten Fall verhindern, dass der Rechner normal nutzbar bleibt.
Achso.. auf die Empfehlung die neue Version vorher per Live-DVD zu testen, habe ich verzichtet. Ich hielt das Risiko bei meiner Hardware für eher gering und notfalls hätte ich anhand der Backups das System auch leicht wieder aufbauen können.
Light Display Manager statt MDM
In der Anleitung wurde explizit empfohlen als Display-Manager lightdm
zu nutzen, weil dies Standard für Linux Mint ist. Ich war mir unsicher, welcher Display-Manager bei mir im Einsatz war, also hab ich dies erstmal wie folgt ermittelt:
$ cat /etc/X11/default-display-manager /usr/sbin/mdm
Ok, dann also erstmal lightdm
installieren. Auch hier liefert die Anleitung schon einen Hinweis mit, wie die Installation erfolgt:
$ sudo apt install lightdm
Zudem wird empfohlen mdm
zu deinstallieren, was ich ebenfalls getan habe:
$ sudo apt remove --purge mdm mint-mdm-themes* $ sudo dpkg-reconfigure lightdm $ sudo reboot
Leider stellte ich nach dem Reboot fest, dass das System nicht mehr hochkam :(
Offenbar fehlte lightdm
irgendwas, weswegen nur der Splash-Screen von Linux Mint gezeigt wurde, aber kein Login-Screen. Den Splash-Screen kann man mit ESC ausblenden, aber trotzdem konnte ich keine Fehlermeldung sehen. Und was nun?
Um an dieser Stelle die normalen Boot-Meldungen sehen zu können, war bei mir eine Anpassung im Bootloader grub
notwendig. Nach ein wenig Recherche am Handy habe ich dann die /etc/default/grub
leicht angepasst:
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX_DEFAULT="splash"
Was das genau macht, lässt sich in der GNU GRUB Dokumentation nachlesen. Grob gesagt werden durch das quiet
die Ausgaben unterdrückt, also hab ich dies entfernt.
Nach einem weiteren sudo update-grub
und einem Reboot hatte ich immer noch einen schwarzen Bildschirm. Also habe ich die verschiedenen Terminals durch STRG+ALT+Funktionstaste durchprobiert und konnte tatsächlich letztlich den folgenden Fehler entdecken:
Nach einer weiteren Suche und Lektüre der Fehlerlogs in /var/log/lightdm/
kam ich dann schließlich darauf, dass noch ein Greeter installiert werden muss:
$ sudo apt install slick-greeter lightdm-settings
Der slick-greeter
stellt praktisch den Login-Screen bereit. Über lightdm-settings
kann man den Anmeldebildschirm per GUI editieren und spart sich so die Konsultation der Dokumentation, weswegen ich das gleich mit installiert habe.
Nach diesem ungeplanten Zwischenschritt konnte ich das System wieder nutzen und war endlich bereit für das eigentliche Update. Gut, dass ich Zeit mitgebracht habe :)
mintupgrade
Linux Mint Update mit Für das Systemupdate stellt Linux Mint ein extra Tool zur Verfügung, welches sich ganz leicht installieren lässt:
$ sudo apt install mintupgrade
Im ersten Schritt habe ich mintupgrade check
ausgeführt. Hierbei werden die Paketquellen auf die neue Version umgestellt und geschaut, welche Änderungen sich so an den bestehenden Paketen ergeben. Besonders interessant sind hier Pakete, die entfernt werden, man möchte ja nichts Wichtiges verlieren.
Your repositories will now be switched to point to Linux Mint 19 'Tara'. Any 3rd party repositories or PPA will be removed. A backup of your APT sources will be written to /home/david/Upgrade-Backup/APT/.
In diesem Schritt werden zusätzliche Paketquellen (bei mir etwa für Google Chrome oder Sublime) entfernt bzw. ins Home-Verzeichnis gesichert, damit man das ggf. manuell wieder nachtragen kann. Das ist sinnvoll, da die Quellen ja in aller Regel auf eine bestimmte Ubuntu-Version zeigen, die durch das Update mit aktualisiert werden muss. Konkret von xenial (Ubuntu 16.04) auf bionic (Ubuntu 18.04).
Die Liste der zu entfernenden Pakete war recht überschaubar, hauptsächlich Themes bzw. Artwork für die GUI und einige Libs. Sah für mich nicht kritisch aus, ich hab die Liste aber zur Sicherheit mal gespeichert:
Die folgenden Pakete werden ENTFERNT: cinnamon-screensaver-pam-helper cinnamon-themes gnome-themes-standard-data gstreamer1.0-plugins-bad-faad gstreamer1.0-plugins-bad-videoparsers gstreamer1.0-plugins-ugly-amr ia32-libs libabw-0.1-1v5 libcurl3 libdbusmenu-qt5 libdfu1 libdouble-conversion1v5 libgsl2 libjpeg-progs libmagickcore-6.q16-2 libmagickwand-6.q16-2 libmetacity-private3a libmovit4 libnss3-1d libnss3-nssdb libpeas-1.0-0-python3loader libperl5.22 libsane:i386 libsane libsidplay2v5 libvlccore8 libwebkit2gtk-3.0-25 libwebkitgtk-1.0-common libwebkitgtk-3.0-common mint-artwork-cinnamon mint-artwork-common mint-artwork-gnome mint-artwork-mate mint-themes-gtk3 mint-y-theme nemo-folder-color-switcher perl-modules-5.22 php7.0-curl pulseaudio-module-x11 python-pyatspi2 python3-aptdaemon.pkcompat python3-xapian1.3 systemd-shim upstart vlc-nox wine xserver-xorg-input-vmmouse
Zudem wurden zahlreiche Pakete gemeldet, die installiert wurden, aber nicht mehr benötigt werden. Die Liste habe ich ebenfalls gesichert und die betroffenen Pakete dann vorab mit sudo apt autoremove
entfernt. Aufräumen ist immer ne gute Idee.
Der Download – erstmal alles holen
Nachdem ich soweit alles parat hatte, habe ich dann den Download der neuen Pakete gestartet. Hierzu gibt es wieder einen entsprechenden Aufruf von mintupgrade
:
# mintupgrade download
Daraufhin holt er die vorher genannten Pakete, was in meinem Fall über 2 GB Daten waren und er in knapp 5 Minuten heruntergeschaufelt hat. Es wurden hierbei auch keine Fehler angezeigt, das sollte also alles geklappt haben.
Das Upgrade – jetzt wird’s ernst
Nun folgt der “point of no return” innerhalb der Installation. Bisher hätte man jeden Schritt zurückrollen können, was beim eigentlichen Systemupgrade natürlich nicht mehr klappt. Der Aufruf ist denkbar einfach:
# mintupgrade upgrade
Damit rödelt er los und installiert die ganzen Pakete, die er vorher heruntergeladen hat. Der Prozess hat bei mir ca. 30 Minuten gedauert und ich habe gebannt geschaut, ob irgendwelche Fehler auftreten, die ich dann ggf. im Nachhinein beheben müsste.
Zum Glück gab es nur wenige Fehlermeldungen, hauptsächlich weil bestimmte Verzeichnisse nicht gelöscht werden konnten, da sie nicht leer waren. Außerdem ein paar Meldungen zu Fonts und sane
. Die Stichworte hab ich mir entsprechend notiert für den Qualitätscheck am Ende des Systemupgrades.
Zwischendurch wurde ich zudem zweimal interaktiv befragt. Zum einen ging es um die Version der Grub-Konfiguration, wobei ich mich entschied die Maintainer-Version zu installieren. Im zweiten Fall ging es darum, welchen Zertifikaten ich vertrauen möchte. (Hinweis: Über diese Zertifikate habe ich schon an anderer Stelle geschrieben.)
Darüber hinaus konnte ich keinen Einfluss auf die Installation nehmen. Statt dessen sitzt man vorm Bildschirm und bewundert, wie wunderbar automatisch alles abläuft und hofft, dass die Distributoren alles möglichst robust gebaut haben.
Nachdem alles durchgelaufen ist, habe ich alle bestehenden Fenster geschlossen und einen sauberen Reboot eingeleitet.
Der erste Start – Daumen drücken
Erstmal die gute Nachricht vorweg: das System fährt normal hoch und präsentiert mir den oben erwähnten Greeter. Allerdings wird das Bootmenü von grub
nicht mehr angezeigt und gefühlt hat er etwas länger gerödelt als sonst.
Auch nach dem Login sah alles soweit in Ordnung aus. Die Fenster haben eine etwas andere Optik und einige Applets funktionieren nicht mehr. Die Icons sehen anders aus. In manchen Anwendungen (z.B. Clementine) passen die neuen Icons nicht mehr zur allgemeinen GUI, wodurch alles bisschen verrutscht aussieht. Die ganze KDE-Anwendungen haben einen anderen Look erhalten.
Zudem sind einige Tastaturbelegungen (z.B. für guake
) nicht mehr bekannt. Und bestimmte Programme bringen Fehler (z.B. GitKraken, da offenbar curl
fehlt). Der lokale Apache wird nun automatisch gestartet, hat aber offenbar seine Konfiguration vergessen. Außerdem funktioniert wine
nicht mehr. Und das Root-Verzeichnis ist bedenklich voll, so dass das System eine Warnung auswirft.
Dafür kennt Linux nun den Akkustand meiner Funkmaus. Die meisten Anwendungen starten ohne Probleme und die meisten Einstellungen wurden offenbar erfolgreich übernommen. Das System ist soweit also erstmal nutzbar, aber hier gilt es einiges wieder anzupassen und aufzuräumen. Dazu mehr im nächsten Beitrag.
Schreibe einen Kommentar