Mittwoch, 16. September 2009
Software-Updates und andere Tücken des Alltags
Themen: Computer
sileas, 16:05h
Vor einigen Tagen schaffte ich es mal wieder, mir etwas am Rechner kaputtzukonfigurieren. Genauer: ich installierte gerade neuere Versionen einiger Software-Pakete, und dabei muß wohl etwas durcheinandergekommen sein. Auf jeden Fall hatte ich auf einmal eine nicht lauffähige, da unvollständig installierte, Version von libc6 auf dem Rechner.
Das war ziemlich unangenehm. Ohne eine funktionierende libc6 funktionieren nämlich anscheinend weder der Package-Manager noch die üblichen Compiler. Das heißt, ich konnte mir nicht einfach wieder die alte Version von libc6 installieren und sie auch nicht aus den Sourcen neu kompilieren. :-(
Dann fing auch noch das CD-Laufwerk an herumzuzicken, und ich konnte nicht einmal von einer Live-CD booten. Doppel-:-(. (Rückblickend war es natürlich wohl keine so gute Idee, den Rechner, solange er nicht von sich aus abstürzte, in so einer Problemsituation überhaupt herunterzufahren.)
Aber zum Glück habe ich jetzt ja zwei Rechner. Und der andere funktionierte noch. So konnte ich also
Außerdem weiß ich jetzt, wie man auf einem debianbasierten System eine Package auch dann installieren kann, wenn (wie in meinem Fall) dpkg nicht funktioniert – ja, sogar auf einem System, das überhaupt nicht mehr booten will! Falls es jemanden interessiert:
Interessanterweise ist diese Methode der Installation von Hand wesentlich einfacher als das Neukompilieren, das mir ja eigentlich als erste Notlösung eingefallen war.
Das war ziemlich unangenehm. Ohne eine funktionierende libc6 funktionieren nämlich anscheinend weder der Package-Manager noch die üblichen Compiler. Das heißt, ich konnte mir nicht einfach wieder die alte Version von libc6 installieren und sie auch nicht aus den Sourcen neu kompilieren. :-(
Dann fing auch noch das CD-Laufwerk an herumzuzicken, und ich konnte nicht einmal von einer Live-CD booten. Doppel-:-(. (Rückblickend war es natürlich wohl keine so gute Idee, den Rechner, solange er nicht von sich aus abstürzte, in so einer Problemsituation überhaupt herunterzufahren.)
Aber zum Glück habe ich jetzt ja zwei Rechner. Und der andere funktionierte noch. So konnte ich also
- ein wenig im Internet recherchieren und
- den Inhalt einer meiner Live-CDs auf einen USB-Stick übertragen.
Außerdem weiß ich jetzt, wie man auf einem debianbasierten System eine Package auch dann installieren kann, wenn (wie in meinem Fall) dpkg nicht funktioniert – ja, sogar auf einem System, das überhaupt nicht mehr booten will! Falls es jemanden interessiert:
- Wenn der Rechner nicht mehr booten will, boote man mit einer Live-CD oder einer Rettungs-CD (oder USB, was man halt hat; Hauptsache, das, womit man bootet, basiert ebenfalls auf Debian). Dann mounte man das nicht booten wollende System auf /irgendwas und installiere die fragliche Package (nennen wir sie dingsda.deb) im chroot-Installations-Modus:
# dpkg --root /irgendwas -i dingsda.deb
- Wenn der Rechner noch bootet (bzw. noch läuft), dpkg aber den Dienst verweigert, besorge man sich die problematische Package (falls man sie nicht sowieso noch herumliegen hat) vom Debian-Mirror seiner Wahl und verfahre wie folgt:
$ ar x dingsda.deb $ su # mv data.tar.gz / # cd / # tar xvzf data.tar.gz
Die problematische Package wird in den meisten Fällen wohl entweder dpkg oder eine wichtige Library (in meinem Fall: libc6) sein. Das daraus extrahierte Archiv heißt aber anscheinend in jedem Fall „data.tar.gz“.
Interessanterweise ist diese Methode der Installation von Hand wesentlich einfacher als das Neukompilieren, das mir ja eigentlich als erste Notlösung eingefallen war.