DNF: Upgradeprozess unterbrechbar

Neulich hatte ich den Worst Case Fall den man sich bei einem Update eines Os’s vorstellen kann: aus  Versehen CTRL-C gedrückt.

Bei ca.1940 Schritten von rund 6500 geschah es… dabei wollte ich nur in einem anderen Fenster die IO-Leistung der SSD während des Updates anschauen und das dortige Programm abbrechen. Zum Glück, muss man sagen, ist DNF an der Stelle noch in der Lage gewesen, einfach bei der Stelle weiterzumachen, wo es aufgehört hat und das Update dann doch noch durchzuführen.

Also, ein großes Lob an die DNF Entwickler.

Nach dem Booten von Fedora 24 kamen dann allerdings auch die mit der Unterbrechung einhergehenden Fehler ans Licht, die sich aber im Rahmen hielten:

FC24 Bootkernel nicht in Grub eingetragen
Initramfs nicht mit meinem Plymouththeme versehen
eine Lib nicht installiert

Der Rest lief überraschenderweise gleich. Alles in allem, trotz Worst-Case-Szenario kein Beinbruch. Vielleicht wars auch nicht der Worst-Case, der wäre wohl dann noch ein Stromausfall gewesen, aber dicht dran wars schon.

ups … DNF deinstalliert und nu ?

Da will man ein harmloses Update einspielen und angeblich stört so eine Lib dabei. Naja, nichts besonders. Kommt öfters vor. Man deinstalliert das fragliche Programm und installiert es wieder: fertig.  Soweit in der Theorie.

„Götter irren sich nie – Root schon!“

Der Befehl : „dnf update –allowerasing“ sollte das eigentlich auch so gleich machen, wenn man Abhängigkeitsprobleme hat.
Vielleicht hätte er das auch, wenn man stattdessen nicht versucht hätte das Paket direkt zu löschen ( dnf erase packagename ). Den dabei unterlief mir ein Fehler bei der Blindbenutzung der Bash :

dnf erase dnf update –allowerasing

Und natürlich blind auf Ja gedrückt 🙂 Schon war DNF , YUM, YUMEX und ABRT verschwunden 🙁 Jetzt versucht mal ohne Paketmanager den Paketmanager DNF zu reinstallieren. Die Lösung ist natürlich relativ einfach: RPM direkt benutzen.

Jetzt ist natürlich nur die Frage: Woher nehmen ?

Die Frage hatte ich zum Glück schon mal in einem anderen Zusammenhang gestellt : Koji

Beispiel für HTTPD: http://koji.fedoraproject.org/koji/packageinfo?packageID=280

Koji ist eine Webseite des Fedoraprojekts, auf dem alle Builds für alle Fedoraversionen verfügbar sind. Dort können alte wie Betaversionen und natürlich die aktuellen Pakete gefunden werden. Einfach Downloaden und mit rpm installieren.

Wenn man die RPMS alle in einem Verzeichnis hat ist das ganz einfach: rpm -i *rpm

Sind alle Pakete mit Abhängigkeiten vorhanden, ist das Malheur in Minuten beseitigt. Allerdings muß man ganz schön viele Pakete runterladen, deswegen zuerst nur DNF und seine Abhängigkeiten installieren, dann per DNF alles, was bei dem Erase mit eliminiert wurde.

Wer eine Liste braucht :  grep Erased /var/log/dnf.rpm.log

Oct 18 00:37:20 INFO Erased: abrt-desktop-2.8.0-5.fc23.x86_64
Oct 18 00:37:20 INFO Erased: abrt-cli-2.8.0-5.fc23.x86_64
Oct 18 00:37:20 INFO Erased: abrt-addon-vmcore-2.8.0-5.fc23.x86_64
Oct 18 00:37:21 INFO Erased: anaconda-23.19.10-1.fc23.x86_64
Oct 18 00:37:21 INFO Erased: abrt-addon-python3-2.8.0-5.fc23.x86_64
Oct 18 00:37:21 INFO Erased: initial-setup-gui-0.3.37-1.fc23.x86_64
Oct 18 00:37:21 INFO Erased: anaconda-gui-23.19.10-1.fc23.x86_64
Oct 18 00:37:21 INFO Erased: initial-setup-0.3.37-1.fc23.x86_64
Oct 18 00:37:21 INFO Erased: abrt-addon-python-2.8.0-5.fc23.x86_64
Oct 18 00:37:21 INFO Erased: anaconda-core-23.19.10-1.fc23.x86_64
Oct 18 00:37:21 INFO Erased: anaconda-tui-23.19.10-1.fc23.x86_64
Oct 18 00:37:21 INFO Erased: python3-meh-gui-0.43-1.fc23.noarch
Oct 18 00:37:21 INFO Erased: python3-meh-0.43-1.fc23.noarch
Oct 18 00:37:21 INFO Erased: yumex-3.0.17-2.fc23.noarch
Oct 18 00:37:22 INFO Erased: yum-utils-1.1.31-508.fc23.noarch
Oct 18 00:37:22 INFO Erased: yum-langpacks-0.4.5-2.fc23.noarch
Oct 18 00:37:22 INFO Erased: python-meh-gui-0.43-1.fc23.noarch
Oct 18 00:37:22 INFO Erased: python-meh-0.43-1.fc23.noarch
Oct 18 00:37:22 INFO Erased: dnf-plugin-system-upgrade-0.7.1-1.fc23.noarch
Oct 18 00:37:22 INFO Erased: createrepo-0.10.3-3.fc21.noarch
Oct 18 00:37:22 INFO Erased: anaconda-yum-plugins-1:1.0-10.fc20.noarch
Oct 18 00:37:22 INFO Erased: abrt-python-2.8.0-5.fc23.x86_64
Oct 18 00:37:22 INFO Erased: abrt-addon-ccpp-2.8.0-5.fc23.x86_64
Oct 18 00:37:22 INFO Erased: abrt-gui-2.8.0-5.fc23.x86_64
Oct 18 00:37:23 INFO Erased: abrt-addon-pstoreoops-2.8.0-5.fc23.x86_64
Oct 18 00:37:23 INFO Erased: abrt-tui-2.8.0-5.fc23.x86_64
Oct 18 00:37:23 INFO Erased: yum-3.4.3-507.fc23.noarch
Oct 18 00:37:23 INFO Erased: dnf-yum-1.1.10-1.fc23.noarch
Oct 18 00:37:23 INFO Erased: abrt-addon-kerneloops-2.8.0-5.fc23.x86_64
Oct 18 00:37:23 INFO Erased: gnome-abrt-1.2.2-3.fc23.x86_64
Oct 18 00:37:23 INFO Erased: abrt-retrace-client-2.8.0-5.fc23.x86_64
Oct 18 00:37:23 INFO Erased: libreport-python-2.6.4-2.fc23.x86_64
Oct 18 00:37:23 INFO Erased: abrt-addon-xorg-2.8.0-5.fc23.x86_64
Oct 18 00:37:24 INFO Erased: abrt-plugin-bodhi-2.8.0-5.fc23.x86_64
Oct 18 00:37:24 INFO Erased: setroubleshoot-3.3.11-1.fc23.x86_64
Oct 18 00:37:24 INFO Erased: policycoreutils-devel-2.4-21.fc23.x86_64
Oct 18 00:37:24 INFO Erased: abrt-java-connector-1.1.0-6.fc23.x86_64
Oct 18 00:37:24 INFO Erased: abrt-dbus-2.8.0-5.fc23.x86_64
Oct 18 00:37:24 INFO Erased: abrt-python3-2.8.0-5.fc23.x86_64
Oct 18 00:37:24 INFO Erased: abrt-2.8.0-5.fc23.x86_64
Oct 18 00:37:24 INFO Erased: libreport-python3-2.6.4-2.fc23.x86_64
Oct 18 00:37:24 INFO Erased: dnf-1.1.10-1.fc23.noarch

Natürlich kann man das jetzt mit etwas Bashmagie automatisch reinstallieren lassen. Kleiner Denkanstoß :

grep „Erased:“ /var/log/dnf.rpm.log | sed -e „s/^.*Erased:/dnf install -y/g“ | bash

Eine kleine Nacharbeit muß man dann aber noch tun: die Configfiles für YUM und DNF sollten restauriert werden, denn nach dem Install sind die wieder default. Zum Glück ist RPM clever und legt bei sowas eine Sicherungsdatei an:

-rw-r–r–. 1 root root 833 18. Okt 01:00 /etc/yum.conf
-rw-r–r–. 1 root root 833  3. Apr 2016  /etc/yum.conf.rpmsave

Und immer dran denken: bis auf  „dd if=/dev/zero of=/dev/sda1“ aka „format c:“ kann man alles unter Linux reparieren.

Upgrade auf Fedora 24

Ein paar Worte vorweg:

Es gibt mehrere Wege seinen Rechner zu upgraden. DNF zu benutzen ist nur einer davon. Da ich seit Fedora 15 Upgrades per YUM und DNF mache, nehm ich diesen Weg.
Alternativ kann man auch FedUP benutzen. Bei YUM ging bislang alles rutschfrei, auch wenn die Fedora Webseite meint, daß DNF nicht der empfohlene Weg wäre. Letztlich macht aber auch Fedup nichts anderes, da kann man es auch gleich nehmen.

Warnung: Ein Upgrade ist naturgemäß eine destruktive Sache.

Geht es mitten im Upgradeprozess schief, ist das System üblicherweise hinüber. Deswegen: BACKUP machen.

Wenn es dagegen z.b. beim Download der neuen Pakete Probleme gibt, passiert nichts wildes, weil der Upgradeprozess vor dem eigentlichen Upgrade erstmal prüft, ob alles nötige vorhanden ist.

Um sein System auf Fedora 24 zu aktualisieren, braucht man lediglich eine Kommandokonsole (Terminal) und ausreichend Platz auf der Festplatte.

Als erstes sollte man ein Systembackup machen:

cd /
tar czvf /home/backup_sys.fc23.tgz –exclude=sys –exclude=proc –exclude=home *

idealerweise räumt man vorher noch Tempfiles auf und löscht Programme, die man eh nicht mehr benutzen will, aber nie einen Grund, sah sie zu entfernen. Jetzt wäre der richtige Zeitpunkt.

Vor dem Upgrade bitte sicherstellen, daß die Externen Repositories auch bereits alle Fedora 24 unterstützen, weil sonst fehlen ggf. am Ende Programme, die Ihr nutzen wolltet/müßt.
GANZ wichtig, wenn Ihr Nvidia Treiber von RPMFusion benutzt.

Ok. Alles gepüft ? Gut, dann kann es losgehen :

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-24-$(uname -i);
dnf upgrade;dnf clean all;dnf –releasever=24 –setopt=deltarpm=false distro-sync –allowerasing

Es kommen einige Fragen, ob man die neuen Keys bestätigen will; Ja, wollt Ihr.. und dann, obs wirklich losgehen kann. Einmal bestätigt, lädt dnf jetzt alles Files runter. Bei meinem Laptop waren es 3.3 GB und rund 4500 Updateschritte. Mit 50 Mbps und SSD dauert das zusammen ca. 25 Minuten.

Ist der Prozess durchgelaufen, einfach Rechner per Reboot neu starten. Fertig.

Die After-Upgrade-Schlacht

Mein Laptop hat brav gebootet, geht soweit wieder, aber was ist das ? Der Gnome Desktop sieht so leer aus…  ? ok, die Apps sind veraltet.

Einmal bitte http://extentions.gnome.org aufrufen, auf „installed Extentions“ gehen und Updates einspielen.

Tip: App nicht gleich löschen, nur weil noch kein Update da ist. Die können einige Zeit brauchen. Einfach in 2 Wochen noch mal nachsehen.

Für die Probleme mit QMMP gibt es morgen einen eigenen Beitrag.

 

Mehr Fedora gibt es hier : http://fedoraproject.org/