Ich hab vorhin, so um kurz nach vier Uhr morgens, mit „tasksel“ eine einfache lampp installation durchführen wollen. Dazu habe ich in der Installationsauswahl von „tasksel“ alles deaktiviert außer „lampp“. Ich wollte ja nur lampp installieren. Daraufhin hat der Rechner ziemlich lange gerödelt und bestimmt eine halbe Stunde Pakete entfernt. Jetzt ist mein System ratzekahl, leer, wie ausgefegt. Erschreckend was history.log von /var/log/apt mir da offenbarte. Vielleicht gibt es ja einen Weg das rückgängig zu machen.
Start-Date: 2013-04-17 04:08:17
Remove: libreoffice-help-en-gb:amd64 (3.6.2~rc2-0ubuntu4), libsync-menu1:amd64 (12.10.4-0ubuntu1), jackd2-firewire:amd64 (1.9.8~dfsg.4+20120529git007cdc37-2ubuntu2), libdbusmenu-qt2:amd64 (0.9.2-0ubuntu3), laditools:amd64 (1.0.1-2), libopenal1:amd64 (1.14-4ubuntu1), gir1.2-notify-0.7:amd64 (0.7.5-1build1), kpat:amd64 (4.9.5-0ubuntu0.1), gimp-gap:amd64 (2.6.0+dfsg-3), ubuntu-artwork:amd64 (58), gnome-sushi:amd64 (3.6.0-0ubuntu1), lightdm-remote-session-freerdp:amd64 (1.0-0ubuntu2), libopencc1:amd64 (0.3.0-3), f-spot:amd64 (0.8.2-5), libkresources4:amd64 (4.9.5-0ubuntu0.1), k4dirstat:amd64 (2.7.3-1), mythbuntu-lirc-generator:amd64 (0.26-0ubuntu1), pidgin-skype:amd64 (20110407+svn628+dfsg-1), lirc:amd64 (0.9.0-0ubuntu3), openoffice.org-draw:amd64 (3.3.0-7ubuntu7), ffado-tools:amd64 (2.0.99+svn2019-1ubuntu4), libsdl-ttf2.0-0:amd64 (2.0.11-2), libtomcat7-java:amd64 (7.0.30-0ubuntu1.1), melt:amd64 (0.8.0-4), libreoffice-presentation-minimizer:amd64 (1.0.4+LibO3.6.2~rc2-0ubuntu4), convertall:amd64 (0.4.2-1), gnome-session-canberra:amd64 (0.29-0ubuntu2), lxsession:amd64 [>-% snip]
Das Desaster erfassen! Die passenden Log Files und die Parserbefehle.
/var/log/dpkg.log
grep -w remove /var/log/dpkg.log
/var/log/apt/history.log
perl -pe 's/\(.*?\)(, )?//g' /var/log/apt/history.log
Mit dieser Ausgabe kann man weiter machen. Man sucht den Block beginnend mit remove im letzten Eintrag. Kopiert man dann die dahinter stehenden Pakete an den Befehl „sudo aptitude install „, wird alles wieder installiert.
Ergänzung zum Logfiles parsen:
Das ganze kann noch in eine Datei umgelenkt werden, um es umzumodeln und zu einem install Befehl zu transformieren und besser ist’s.
mit dem > (Größerzeichen) läßt sich die Standardausgabe stdout in eine Datei umleiten. Dabei wird die Ausgabedatei erstellt bzw. überschrieben.
grep -w remove /var/log/dpkg.log > ausgabedpkg.txt
Will man den Inhalt an eine Datei Anhängen, verwendet man zwei Größeralszeichen >>
grep -w remove /var/log/dpkg.log >> kombinierteausgabedpkg.txt
Das ist allerdings nur möglich wenn Bash, DPKG und APT laufen. Falls es dann
doch mal schlimmer kommt, helfen folgende Schritte:
Grob-Anleitung:
1. GRUBenrettung bis CHRoot
2. Die angegebene Paket-Liste mit aptitude install wieder installieren
lassen.
3. Nicht mehr mit Tasksel arbeiten (das zerhaut einem auch ständig die
Automatic-Flags auf den Libs)
Wenn Aptitude und Bash nicht mehr installiert sind, dann von außen mit
den Root-Folder-Optionen von dpkg arbeiten und dpkg, aptitude usw.
installieren vor’m Fortsetzen.
Pingback: Linux und die Katastrophe | Sven's WP