HH maczarr.de

Debian Upgrade auf Jessie und eine Menge gelernt

Am Wochenende kam die neue Debian-Version 8.0 "Jessie" heraus. Ich hatte in letzter Zeit mit ein paar Dingen gewartet, die ich am System machen wollte, um sie nach dem Upgrade durchzuführen, also stürzte ich mich am Samstag gleich auf das System-Upgrade.

apt-get dist-upgrade

Im Prinzip ist das Unterfangen simpel. Hat man ein sauberes System und ein Backup seiner Daten und Einstellungen sind es wenige Schritte. (Bei Debian gibt es eine detaillierte Liste, welche Schritte bei welchen Eventualitäten alle nötig sind.)

Zuerst das aktuelle System auf den neuesten Stand bringen:
- apt-get update
- apt-get upgrade

Dann die neuen Paket-Quellen einbinden
- editieren der /etc/apt/sources.list

Nun sollte man sich aus dem grafischen System ausloggen und mittels STRG+ALT+[F1-F6] auf ein CLI (Command Line Interface) wechseln und dort einloggen.

Pakete aktualisieren
- apt-get update
- apt-get upgrade

Und zum Schluss das System-Upgrade:
- apt-get dist-upgrade

Wenn alles glatt läuft ist man danach fertig.

Wenn das kleine Wörtchen wenn nicht wäre...

Nach dem dem letzten apt-get upgrade war meine Internet-Verbindung weg, sodass apt-get dist-upgrade am Holen der nötigen Pakete scheiterte. Ein Ping auf eine Domain zeigte auch sofort "Unknown Host". Ich warf einen Blick in die /etc/network/interfaces und musste feststellen, dass lediglich das Loopback-Interface vorhanden war. "Huch, was war hier passiert? Kein Wunder, dass das Internet nicht geht", dachte ich.
Ich fügte also erstmal meine (W)LAN-Karten hinzu:
auto eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp

auto wlan0
iface wlan0 inet dhcp
iface wlan0 inet6 dhcp

Reboot.
Plötzlich hing mein System beim Booten an einem Punkt:
[ *** ] A start job is running for LSB: Raise network
interfaces. (5s / no limit)

Die Sekunden hinten in der Klammer zählten hoch. Anfangs hatte ich die Hoffnung, dass das "no limit" eher sowas bedeuten würde wie "no limit... okay, just 5 Minutes, but no one will wait so lang, you know" - ich wartete 10 Minuten - es passierte nichs. Es half nichts, kein STRG+C, kein ESC, das System hing fest. Auf allen anderen TTYs (tty = teletype, Bezeichnung für eine Konsolen-Eingabe) sah man das selbe. Verdammt!

Eine Recherche förderte zu Tage, dass es Probleme gab mit ZFS-Mounts in der /etc/fstab - ich hatte da so eins drin stehen. Aber wieso gab es dieses Problem nie vorher? Ein weiterer Foren-Eintrag erklärte, dass es einen Unterschied bei den Init-Systemen gab. SysV-Init, das bis Debian 7 genutzt wurde, ging mit nicht auflösbaren Abhängigkeiten beim Booten so um, dass es sie einfach überging und das Starten des Systems Vorrang hatte. Das neue Init-System Systemd hingegen wartet - und wartet - und wartet - ... "no limit" halt.

Ich war schon kurz davor ein neues Installations-Image von Debian 8 runterzuladen und einfach alles neu zu installieren, da fiel mir der Recovery-Modus ein. Ich startete neu, bootete in den Recovery-Modus und kommentierte meinen ZFS-Mount Eintrag aus der /etc/fstab aus. Reboot. "no limit". Verdammt, das war's wohl nicht. Mittlerweile hatte ich entdeckt, das zwischen all den Info-Zeilen beim Booten auch stand, dass der iwlwifi-Treiber meiner WLAN-Karte nicht geladen werden konnte. Meine Hoffnungen ruhten also erstmal auf dem LAN-Anschluss.
"Erstmal das dist-upgrade beenden", dachte ich. Zurück in den Recovery-Modus, Ping ausgeführt und siehe da - das Internet ging hier wieder. apt-get dist-upgrade und warten.

ifup eth0

Das Distributions-Upgrade war durchgelaufen, beim Reboot hing ich jedoch weiter am "no limit" fest. Da ich nicht dauerhaft auf Internet verzichten wollte suchte ich weiter. Am Handy recherchierte ich die Quellen für die iwlwifi-Treiber, bootete in den Recovery Mode und installierte die Firmware. Reboot. "no limit". Grrr!

Okay, es ist ein Netzwerk-Problem an dem der LSB-Job hängen bleibt. Irgendwas scheint mit meiner WLAN-Karte nicht zu funktionieren. Booten in den Recovery Mode, vim /etc/network/interfaces und # vor die wlan0-Einträge. Reboot. "no limit". Oooookay. Obwohl mein LAN-Anschluss ja funktionierte kommentierte ich nun auch diesen vollständig aus. Reboot. Siehe da: Login-Prompt. Allerdings nur CLI. Nach einem Login konnte ich mittels startx dann aber ins grafische Menü kommen. Umständlich, aber für den Moment in Ordnung. Ich kannte nun einen Weg wieder ins System zu kommen. Leider nur ohne Netzwerk.
Erstmal wollte ich nun in den Network-Manager, doch der war nicht mehr installiert. WTF? Dank fehlendem Netzwerk konnte ich diesen nun auch nicht nachinstallieren.
Ich wusste was zu tun war: Reboot, Recovery Mode, die Netzwerk-Karten wieder "einkommentieren" und dann an der Konsole den Network-Manager installieren. Gesagt, getan. Inzwischen fand ich heraus, dass die Zeilen "auto eth0" und "auto wlan0" in der /etc/network/interfaces für das LSB-Problem verantwortlich waren. Ich kommentierte also diesmal nur diese Zeilen aus und der System-Start klappte. In der Konsole musste ich die Network-Interfaces nun von Hand hochfahren.
ifup eth0
ifup wlan0

Ein Blick in den nun installierten Network-Manager zeigte zwar beide Geräte an, allerdings keine Möglichkeiten für sie Einstellungen vorzunehmen "Gerät wird nicht verwaltet". Das kam mir spanisch vor. Ich recherchierte die Meldung und lernte, dass Network-Manager nur Geräte verwaltet, die nicht in der /etc/network/interfaces aufgelistet sind. Plötzlich wurden mir diverse meiner Probleme so klar.
ifdown eth0
ifdown wlan0
vim /etc/network/interfaces

Alles außer Loopback auskommentiert. Reboot. Login. startx. Siehe da, der Network-Manager verwaltete nun wieder mein WLAN und LAN und verband sich sogleich per WLAN mit dem bekannten Netzwerk.

Aus irgendeinem Grund wurde beim Upgrade mein Network-Manager deinstalliert, sodass keine Konfiguration für meine Netzwerk-Geräte mehr vorhanden war. Mein Eintragen der Netzwerk-Geräte in /etc/network/interfaces sorgte dann für den LSB-Hänger beim Booten und für das Nicht-Verwalten durch Network-Manager, wenn ich die Geräte manuell startete.

Kleinigkeiten

Das System lief nun wieder vollständig, mein Internet war auch zurück. Jedoch hatte ich noch drei Sachen auf dem Plan: Whisker-Menu war verschwunden, ebenso Cairo-Dock und ich hatte auch keine Lust XFCE jedesmal von Hand zu starten. Diese Probleme ließen sich jedoch verhältnismäßig simpel beheben. Whisker-Menu und Cairo-Dock installierte ich einfach neu, die Konfigurationen waren noch vorhanden. Auch für den automatischen Start von XFCE fehlte eine Software: Der Login-Manager LightDM war anscheinend auch deinstalliert worden. Eine Neu-Installation brachte auch hier Abhilfe.

Puh, das war komplizierter als gedacht, aber nun läuft das System wieder wie gewünscht und ich habe sehr viel (für mich) neues über Linux gelernt.