Das pfiffige uCareSystem automatisiert bei Debian-artigen Systemen neben Upgrades auch die Aufräumarbeiten drumherum.
Eine wichtige Aufgabe für den Linux-Sysadmin stellt die Aktualisierung der Software dar. Vernachlässigt man sie, sammeln sich viele Pakete an, zu denen Updates anstehen. Spielt man diese auf einen Schlag ins System ein, besteht das Risiko, damit die Paketverwaltung aus dem Tritt zu bringen. Bei Debian “Stable” oder Ubuntu LTS gibt es nur Aktualisierungen für bestehende Pakete, was dieses Risiko minimiert. Bei Debian “Unstable” dagegen gleicht das Aussetzen von Aktualisierungen einer Einladung zum Abschießen des Systems.
Das Aktualisieren des Systems mit allen nötigen Aufräumarbeiten umfasst rund ein Dutzend Befehle, die man in der richtigen Reihenfolge eingeben muss. Zunächst gilt es, die Software-Quellen neu einzulesen, dann das eigentliche Update einzuspielen. Danach stehen noch diverse Aufräumarbeiten an – vergisst man sie, müllt auf Dauer das System zu. So gilt es beispielsweise, die im Verzeichnis /var/cache/apt/archives/ archivierten DEB-Dateien zu entfernen und alte Kernel-Versionen zu löschen. Diese beiden Bereinigungen schaufeln schnell mehrere Gigabyte an Platz auf der Festplatte frei.
Wer viele Anwendungen zum Testen installiert und danach womöglich wieder entfernt, der löscht nur das eigentliche Programm, nicht aber die mitinstallierten Abhängigkeiten. So sammeln sich im System auf Dauer viele überflüssige Bibliotheken und Helferprogramme an. Diese Programmleichen lassen sich mit dem Kommando apt autoremove in einem Rutsch auffinden und entfernen. Es lohnt sich daher, diese Routine regelmäßig (nicht zwingend nach jedem Update) auszuführen. Besonders Anwender, die für das Stammverzeichnis / oder /boot eigene Partitionen anlegen, sollten darauf achten, regelmäßig auszumisten.
Alles wie neu
Hier kommt das Skript uCareSystem [1] ins Spiel, das diese Aufgaben für Anwender von Distributionen auf Debian-Basis durch Aufruf auf der Konsole anstößt und abarbeitet. Den Verlauf der Aktion zeigt das Programm in der Konsole an. Da hier viele Ausgaben über den Schirm laufen, sollten Sie vor dem ersten Ausführen den Verlauf Ihrer Konsole maximieren, da der Speicher in der Regel begrenzt ist.
Arbeiten Sie mit Gnome und dem hauseigenen Terminal-Programm, dann wechseln Sie dazu nach einem Rechtsklick in das Konsolenfenster in die Profileinstellungen und stellen im Reiter Bildlaufleiste den Verlauf auf eine höhere Zeilenzahl. Alternativ entfernen Sie bei dem Menüpunkt gleich den Haken und heben die Limitierung so ganz auf. Danach lässt sich der Verlauf des Terminals nach Belieben durchstöbern.
Hinweis
uCareSystem führt eine Reihe von Apt-Kommandos mit der Option -y aus. Dazu gehört zum Beispiel der Aufruf apt-get -y --purge autoremove, der nicht mehr referenzierte Abhängigkeiten vom System löscht. Durch den Schalter verzichtet die Paketverwaltung auf Rückfragen und geht bei Aktionen von Ihrem Einverständnis aus, also der Antwort “yes”. Dadurch erledigt die Paketverwaltung ihre Aufgabe im Hintergrund, ohne dass Sie eingreifen müssen.
Bei einem gut gepflegten System funktioniert das problemlos. Setzt man jedoch viele zusätzliche Paketquellen ein, die gar originale Ubuntu-Pakete ersetzen, kann es zu Konflikten kommen, die uCareSystem dann nicht adäquat behandelt. Immerhin versucht apt-get -y dabei, größere Probleme zu vermeiden: Sollte eine Aktion etwa ein essenzielles Paket deinstallieren, dann bricht die Paketverwaltung automatisch ab.
Kritischer wäre der Schalter --force-yes, beziehungsweise die seit Apt-Version 1.1 eingeführten Optionen --allow-downgrades, --allow-remove-essential und --allow-change-held-packages. Vor diesen warnt die Manpage zu Apt-get explizit, da sie wirklich jede Aktion automatisch ausführen. Löscht man beispielsweise wichtige Meta-Pakete, steht man am Ende ohne Desktop-Umgebung oder Kernel da. Auf diese Schalter verzichtet uCareSystem jedoch.
Schnell installiert
uCareSystem installieren Sie über Ubuntus Personal Package Archive [2] (PPA), die Befehle zur Installation zeigt Listing 1. Allerdings liegen derzeit Pakete nur bis Ubuntu 16.10 “Yakkety Yak” vor.
Da die Anwendung jedoch auf klassische Terminal-Kommandos aufsetzt, lässt sie sich auch in neueren Ubuntu-Ausgaben oder Debian “Stretch” und dessen Derivaten verwenden. Dazu laden Sie das neuste DEB-Paket ucaresystem-core_3.0-1+yakkety_all.deb von Hand via Browser aus dem PPA herunter [3] und spielen es manuell ein (Listing 2).
Listing 1
$ sudo add-apt-repository ppa:utappia/stable $ sudo apt update $ sudo apt install ucaresystem-core
Listing 2
$ sudo apt install ./ucaresystem-core_3.0-1+yakkety_all.deb
Platz machen
Um festzustellen, wie viel Speicherplatz das Skript aus den Fängen des Systems befreit, geben Sie vor und nach einem Durchlauf den Befehl df -h ein und vergleichen die Ausgaben. Auf einem seit vier Wochen nicht aktualisierten Notebook, auf dem wir testweise viele Pakete installierten und teils wieder entfernten, machte die Anwendung rund 1,7 GByte Plattenplatz wieder frei.
Um uCareSystem auszuführen, rufen Sie es via sudo ucaresystem-core mit Root-Rechten auf. Das Skript gibt ein paar Informationen aus, startet dann automatisch 5 Sekunden später und arbeitet seine Jobs ohne Unterbrechung durch Nachfragen ab (Abbildung 1). Ausnahmen bestätigen auch hier die Regel: Haben Sie Werkzeuge wie Apt-listbugs oder Apt-listchanges installiert, so müssen Sie deren Ausgaben prinzipbedingt bestätigen, bevor es weitergeht.
Ein Durchlauf auf halbwegs aktueller Hardware dauert bei guter Anbindung ans Netz 5 bis 15 Minuten, den Ablauf zeigen Abbildung 2 bis Abbildung 5. Mit dem zuvor angesprochenen erweiterten Verlaufsspeicher lässt sich die Ausgabe bis zum Anfang zurückscrollen, sodass Sie die Aufräumarbeiten nachvollziehen können. Das Skript unterteilt die einzelnen Aufgaben mit Zwischenüberschriften, sodass die Orientierung dabei recht leicht fällt.
Zum Aktualisieren nutzt uCareSystem die Befehle apt update und apt upgrade – das passt für die meisten Debian-Derivate. Solche auf der Basis von Debian “Unstable” benötigen allerdings apt-get dist-upgrade um auf Dauer konsistent zu bleiben. Hier müssen Sie entweder das Skript ändern oder ab und an manuell apt-get dist-upgrade ausführen.
Feucht durchgefegt
Wünschen Sie noch mehr Automatisierung, dann erstellen Sie für uCareSystem einen Cronjob, der das Skript zu festgelegten Zeiten automatisch ausführt. Dazu rufen Sie mit sudo crontab -e den Editor der Cron-Tabelle auf (eventuell möchte das System noch den gewünschten Editor von Ihnen wissen; in der Regel fahren Sie mit Nano gut) und fügen unter den angezeigten Text eine Zeile wie in Listing 3 ein.
Listing 3
09 * * 6 /usr/bin/ucaresystem-core
Die Änderung speichern Sie dann mit [Strg]+[O][Eingabe] ab und kehren dann über [Strg]+[X] wieder auf das Terminal zurück. Im abgedruckten Beispiel würde das System das Skript jeden Samstagmorgen um 9 Uhr starten. Weitere Hilfe bei der Definition von Cronjobs bietet zum Beispiel die Webseite Crontab Guru [4].
Fazit
Ein Tool wie uCareSystem eignet sich sicher nicht für jedermann: Viele Linux-Anwender legen Wert darauf, das System per Hand oder mit selbst geschriebenen Skripten zu administrieren. Generell sind nicht von der Distribution selbst vorgesehene Automatismen zur Systemverwaltung unter Linux eher verpönt – langjährige Ubuntu-User erinnern sich vielleicht noch an die hitzige Diskussion rund um das unter Einsteigern recht beliebte Programm Automatix [5], von dem erfahrene Anwender und selbst Ubuntu-Entwickler eher abrieten.
Letzten Endes liegt die Entscheidung allein bei Ihnen. Je nach System und der Häufigkeit der Upgrades – Debian “Unstable” braucht häufiger ein Upgrade als Ubuntu LTS – darf man den nötigen Aufwand nicht unterschätzen. Wer mit seiner Zeit haushalten muss und Debian oder eines seiner Derivate nutzt, ist mit uCareSystem gut beraten. Das Skript hält, was es verspricht, und es gibt kaum Spielraum für Fehler. Der Entwickler arbeitet zudem an einer grafischen Umsetzung, die allerdings nach seinen Aussagen keine allzu hohe Priorität genießt.
Alternative Smxi
Eine mächtigere Alternative zu uCareSystem stellt das vom Autor des Systeminformationstools Inxi entwickelte Programm Smxi [6] dar – mächtiger insofern, als es sich auch um die Installation proprietärer Grafiktreiber kümmert. Zudem erlaubt Smxi, Teilfunktionen separat aufzurufen, etwa nur die Installation der Grafiktreiber. Es stellt dabei immer wieder Rückfragen – sie dürfen also nicht Kaffeetrinken gehen, während das Skript läuft. Allerdings scheint die Entwicklung von Smxi in den letzten Jahren eingeschlafen zu sein, Updates gibt es nur noch in sehr unregelmäßigen Abständen.
Infos
-
uCareSystem: https://utappia.org/download-ucaresystem
-
PPA: https://wiki.ubuntuusers.de/Paketquellen_freischalten/PPA
-
Download: https://launchpad.net/~utappia/+archive/ubuntu/stable/+packages
-
Crontab Guru: https://crontab.guru
-
Automatix: https://en.wikipedia.org/wiki/Automatix_(software)
-
Smxi: http://smxi.org/










