Mein Netbook musste wieder als Testobjekt für ein Live-Upgrade von openSUSE 12.1 auf openSUSE 12.2 herhalten. Das ist jetzt für das Netbook das 4. Live-Upgrade seit openSUSE 11.2 und nutze es immer noch produktiv. Das Upgrade ist an und für sich recht flüssig über die Bühne gegangen. Keine nennenswerte Probleme wie bei den anderen Upgrades auch. Außerdem ist mir der Geschwindigkeitszuwachs zwischen openSUSE 12.1 und openSUSE 12.2 aufgefallen, sehr wahrscheinlich würde man es nur auf einer etwas schwächeren Hardware wie z.B. auf einem Netbook bemerken.
Bevor man ein Upgrade vornimmt, sollte man sich die Versionshinweise aufmerksam durchlesen:
http://www.suse.de/relnotes/i386/openSUSE/12.2/RELEASE-NOTES.de.html
Möglicherweise gibt es noch andere Probleme, die zu umschiffen gilt:
http://en.opensuse.org/openSUSE:Most_annoying_bugs
http://en.opensuse.org/openSUSE:Most_annoying_bugs_12.2_dev
Auch ein Blick im Bugreport zu openSUSE 12.2 ist zu empfehlen:
http://bugzilla.novell.com/buglist.cgi?…
Sollte einer der offenen Bugs möglicherweise zu einem Problem führen, die man selbst nicht beheben kann. Dann ist es besser im Bugreport, in der Mailingliste oder im IRC nachzufragen, ob dafür eine Lösung ggfs. ein Workaround existiert. Je nach Schweregrad sollte man das Upgrade lieber verschieben, bis das Problem behoben wurde.
Anbei noch eine Empfehlung für den Fall der Fälle die folgende von mir gepflegte Seite zu bookmarken (Feedbacks sind erwünscht):
http://www.opensuseusers.de/
Upgrade-Anleitung
Hinweis: Alle Befehle sind als root-User in der Konsole bzw. im Terminal auszuführen. Um Tippfehler zu vermeiden, empfiehlt es sich die Befehle zu kopieren und in die Konsole/Terminal einzufügen.
- Vor dem Upgrade wird empfohlen, ein Backup vom System zu machen.
- Alle eingebundenen Repos in /etc/zypp/repos.d vorübergehend deaktivieren:
zypper mr -a -d
oder alternativ:
sed -i 's/enabled=.*/enabled=0/g' /etc/zypp/repos.d/*.repo
- Die alten Standard-Repos von openSUSE in /etc/zypp/repos.d vorsichtshalber entfernen:
for REPOFILE in `grep -rliE '/distribution/12.1|/update/12.1' /etc/zypp/repos.d`; do rm -v "${REPOFILE}"; done
- Alle deaktivierten Repos in /etc/zypp/repos.d auf openSUSE 12.2 umschreiben:
sed -i 's/openSUSE_12.1/openSUSE_12.2/g' /etc/zypp/repos.d/*.repo
- Die neuen Standard-Repos für openSUSE 12.2 einfügen:
zypper ar -t yast2 -f -c http://download.opensuse.org/distribution/12.2/repo/oss/ "openSUSE 12.2 OSS" zypper ar -t yast2 -f -c http://download.opensuse.org/distribution/12.2/repo/non-oss/ "openSUSE 12.2 NON-OSS" zypper ar -t rpm-md -f -c http://download.opensuse.org/update/12.2/ "openSUSE 12.2 OSS Update" zypper ar -t rpm-md -f -c http://download.opensuse.org/update/12.2-non-oss/ "openSUSE 12.2 NON-OSS Update"
- Cache bereinigen:
zypper clean -a
- Repo-Cache aktualisieren:
zypper ref
- Upgrade starten (Abhängigkeiten auflösen):
zypper dup
- Sicher gehen, dass auch alles upgegradet wurde. Wenn nicht, so oft wiederholen bis nichts mehr zum Upgraden da ist.
zypper dup
- Alle eingebundenen Repos in /etc/zypp/repos.d aktivieren (Hinweis: Sollten hier einige Repos bereits vor dem Upgrade absichtlich deaktiviert worden sein, dann entweder das Repo entfernen oder das Repo anschließend wieder deaktivieren):
zypper mr -a -e
oder alternativ:
sed -i 's/enabled=.*/enabled=1/g' /etc/zypp/repos.d/*.repo
- Repo-Cache erneut aktualisieren:
zypper ref
- Einmal eine Aktualisierung durchlaufen lassen, um weitere Pakete aus den vormals deaktivierten Repos zu aktualisieren:
zypper up
-
Auf dem openSUSE-System nach veraltete bzw. nicht aktualisierte Pakete prüfen:
1. Möglichkeit:
Mittels einem von mir geschriebenen Skript prüfen, ob noch Pakete von openSUSE 12.1 im System installiert sind und diese manuell aktualisieren bzw. entfernen. Sollten hier noch Pakete aufgelistet werden, dann handelt es sich ENTWEDER um Pakete vom vormals deaktivierten Repo, die beim vorhergehenden Schritt nicht erfasst wurden, weil die Version bzw. Revisionsnummer vom Paket kleiner ist als das installierte Paket ODER um ein veraltetes Paket von openSUSE 12.1, dass aus irgendeinem Grund nicht entfernt wurde. Dieser Teil der Aufräumarbeit ist sehr wichtig und trägt zur Stabilität von openSUSE bei. Das Skript gibt auch einen Hinweis aus, von welchem Repo das Paket ursprünglich stammt.Download: list-old-opensuse-packages.sh
SHA1: list-old-opensuse-packages.sh.sha1wget http://www.sebastian-siebert.de/downloads/list-old-opensuse-packages.sh sh list-old-opensuse-packages.sh
2. Möglichkeit: (Mit Dank an Koen für den Hinweis)
Nach dem Upgrade steht der neue YaST zur Verfügung. Mit dieser Version ist es möglich ebenfalls die veralteten Pakete anzuzeigen und entsprechende Maßnahmen einzuleiten.yast sw_single
Dann den Filter (ALT-F) auf „Package Classification“ setzen (Diese Option ist neu). Dann kann man über die Filter-Option „Orphaned“ die alten Pakete anzeigen lassen.
- Hat man beispielsweise den proprietären AMD Catalyst oder den NVidia Treiber installiert, empfiehlt es sich dieses Paket ebenfalls prophilaktisch zu aktualisieren.
- Neue Konfigurationsdateien ausgeben lassen und ggfs. mit einem Editor manuell vergleichen:
find /etc -iname "*.rpmnew" -o -iname "*.rpmsave" | sort
Die Dateiendung .rpmnew bedeutet, dass eine neue Konfiguration existiert, aber aus Sicherheitsgründen noch die alte Konfiguration aktiv ist. Die andere Dateiendung .rpmsave bedeutet, dass die alte Konfiguration als .rpmsave weggesichert und anschließend die Konfiguration automatisch angepasst wurde. Hier gilt es zu überprüfen, ob alle Angaben korrekt sind.
- Prüfen, ob die Einträge für Grub /boot/grub/menu.lst alle korrekt eingetragen wurden. (Hinweis: Unter openSUSE 12.2 wird standardmäßig Grub 2 mitinstalliert. Noch kann man den älteren Grub Legacy weiterhin nutzen, jedoch sollte man sich irgendwann die Zeit nehmen auf Grub 2 zu migrieren. Dies wird dann spätestens wichtig, wenn man auf openSUSE 12.3 upgraden möchte. Die openSUSE-Entwickler planen Grub Legacy endgültig zu entfernen.)
- Prüfen, ob wichtige Module in der Initramdisk fehlen. Daher einmal folgenden Befehl ausführen und in der Ausgabe nach mögliche Fehlermeldungen Ausschau halten:
mkinitrd
- Vorbeugend sollte man auch nochmal die temporären Dateien in /tmp und /var/tmp entfernen:
find /tmp -mindepth 1 -print0 | xargs -r -0 rm -rf find /var/tmp -mindepth 1 -print0 | xargs -r -0 rm -rf
- Fertig! Rebooten.
reboot
Have a lot of fun! Feedbacks sind erwünscht.
Eine kleine amüsante Geschichte was mir auf der Arbeit passiert ist:
Letzte Woche habe ich auf meinem Arbeitsrechner (zur Reproduzierung eines Kundenproblems in einer anderen Sache) ein Live-Upgrade von Ubuntu durchgeführt. Diese Distribution war noch vom Vorgänger installiert gewesen. Man hatte mir angeboten, Windows 7 zu installieren. Jedoch habe ich mich dagegen erfolgreich gewehrt. Nach dem Upgrade musste ich das Ubuntu-System neustarten. Oh, welch eine Überraschung. Ich kann mich zwar in Gnome einloggen, jedoch ist vom Gnome-Desktop nix außer dem Hintergrundbild zu sehen. Jeder Reparaturversuch hat nicht gefruchtet. Ich vermute, dass das System beim Upgrade durch irgendein Paket zerschossen wurde. Kurzerhand habe ich openSUSE 12.1 + KDE 4.8.5 auf meinem Arbeitsrechner installiert und bin mehr als zufrieden. Wenigstens eine Linux-Distribution welches ich mich bestens auskenne und bin auch der einzige mit einem Linux-System in der Firma. Es gibt zwar hin und wieder hämische Bemerkungen zu Linux, aber wehe wenn irgendetwas unter Windows oder auf dem überteuerten Mac nicht läuft. Dann kommt von mir ein richtig fettes Grinsen mit einer kleinen Bemerkung: „Wie war das nochmal mit Linux?“