Linux

Gerade gestern lieferte ein so genannter ‚Daten-Cowboy‘ einen mittelschweren Skandal ab. Und zwar löschte er aus Versehen den Inhalt von „/bin“ auf einer Ubuntu-Server Maschine. Nun stecken dort kaum wichtige Dinge, alle normalen, ausführbaren Programme eben. Die kann man von woanders zurück kopieren, wenn man denn noch eine zweite Maschine zu Hand hat. Irgendwie hinterlässt es jedoch ein ungutes Gefühl. Sind wohl alle UID’s und GUD’s richtig. Hatte die andere Maschine denn auch all die Programme installiert. Hier hilft ein vernünftiges Neuinstallieren aller Pakete. Doch wie? In Rahmen der Forschung war eine Lösung gefunden, und diese soll hier kund getan werden:

for pkg in `dpkg –get-selections|awk ‚{print $1}’| egrep -v ‚(dpkg|apt)’`; do apt-get -y –reinstall install $pkg; done

Dieser Befehlt listet erst alle installierten Pakete des Systems, gibt die Liste an awk aus, das zeigt nur noch die erste Spalte und gibt es weiter an egrep, welches die Zeilen mit dpkg und apt entfernt, da man kaum während der Installation die Tools die zur Installation genutzt werden tauschen will. Für jedes der Elemente wird eine Neuinstallation erzwungen. Man nimmt immer „Ja“ an, damit man nicht 500x auf J drücken muss.

Diese Kette installiert alle Pakete neu und überschreibt dabei die Konfiguration nicht. Wenn man ein System wieder halbwegs in den neuwertigen Zustand versetzen will, kann man statt dem apt-get zum Installieren auch erstmal Löschen mit –purge, das entfernt auch die Konfig. Dann mittels apt-get neu installieren. Das würde die Paketauswahl so lassen und alles neu kopieren und die Konfigs neu schreiben. Der jeweilige Paketname ist $pkg in der Schleife. Neu aufsetzen vertreibt allerdings auch den letzten Rest Misstrauen in diese Operationen. Aber manchmal kann man das vielleicht nicht. 0