rokom-computer-cleaning

Arch-Linux ultimativ bereinigen

Thema: Linux ultimativ bereinigen

Zielgruppe: Linuxer, die das Terminal nutzen können

Motivation: Speicherplatz freigeben, damit nicht startende Systeme wieder arbeiten können

Inhaltsverzeichnis

Andere Distributionen

Natürlich gelten die folgenden Maßnahmen auch für alle anderen Distribution und genauso in BSD und macOS, nur eben mit den angepassten Befehlen, wie beispielsweise der jeweiligen Paketverwaltung und der jeweiligen Pfade.

1. Belegung der Speicher prüfen

Diese Prüfung ist deshalb interessant, um zu sehen, wie weit am Ende die Bereinigung Erfolg hatte.

$ df -h

Netter aufbereitet geht es mit:

$ duf

2. Installierte Pakete prüfen

Die Prüfung der installierten Pakete, gibt die Möglichkeit nicht mehr genutzte Pakete zu löschen. Wenn Sie sich nicht sicher sind, ob das jeweilige Paket doch notwendig ist, überspringen Sie diesen Punkt.

Um wirklich alle Pakete mit fast allen Informationen zu prüfen, wäre dieser Befehl notwendig.

# pacman -Qi

Meine Empfehlung, für eine Kurzübersicht mit Versionsnummer für explizit installierte Pakete reicht folgender Befehl mit Weiterleitung in eine Textdatei.

# pacman -Qe > Pakete_pacman-Qe.txt

Auch interessant folgender Befehl, wenn nur explizit installierte Paket ohne Abhängigkeiten angezeigt werden sollen.

# pacman -Qet

3. Nicht benötigte Pakete löschen

Einzelne Pakete löschen, mit zugehörigen Abhängigkeiten und Konfigurationsdateien geht mit:

# pacman -Rns <paketname>

4. Verwaiste Pakete löschen

Verwaiste Pakete können immer ohne Risiko entfernt werden. Übrigens, damit werden auch ungenutzte, veraltete, Linux-Kernel entfernt.

# pacman -Rns $(pacman -Qtdq)

Sollte beispielsweise die folgende Meldung erscheinen, sind keine verwaisten Pakete mehr vorhanden.

Fehler: Keine Ziel-Dateien angegeben (benutzen Sie -h für Hilfe)

5. Paket-Cache leeren

Kompromissloses Löschen aller temporären Daten.

# pacman -Scc

6. Mit „yay“ aufräumen

Wenn Sie mit yay auch Pakete installiert haben, können Sie mit folgendem Befehl aufräumen. Damit sollten unnötige Abhängigkeiten entfernt werden.

$ yay -Yc

7. Log-Dateien

Im Verzeichnis /var/log können nicht benötigte Logdateien gelöscht werden.

Wer generell nicht soviel Speicherplatz an Logdateien abgeben möchte, kann es mit folgendem Befehl begrenzen.

# journalctl --vacuum-size=100M

8. Bleachbit

Mit bleachbit können sehr effizient die meisten „Wollmäuse“ aus dem System und dem Home-Verzeichnis entfernt werden. Hier eine Befehlskette für den Autostart mit Log-Datei.

bleachbit --preset --clean > /home/username/logfiles/bleachbit-start.log"

9. Download-Verzeichnis

In der Regel werden viele Verzeichnisse genutzt, ohne dass die Datenhygiene beachtet wird. Insbesondere trifft das auf das Download-Verzeichnis zu.

10. E-Mails

Ja, das leidige Thema, dass die E-Mails aufgeräumt werden müssen, denn die E-Mail-Server sind als Kommunikationsmittel gedacht und NICHT als Archive.

Die Angst vor dem Aufräumen ist völlig unbegründet und dauert nicht mal eine Stunde. Hier einige Tipps.

  1. Die gesendeten E-Mails haben im Anhang überwiegend eine schon vorhandene Datei in den eigenen Dateien, also größtenteils unnötige Kopien.
  2. Ansonsten können Posteingang und weitere Verzeichnisse einfach durchforstet werden, mit der Sortierung nach Name, Betreff, Größe, Anhang und viele weitere Optionen. Somit können gruppenweise tausende E-Mails gelöscht werden.
  3. Der Papierkorb beinhaltet schon gelöschte E-Mails und kann somit tatsächlich ohne Sichtung geleert werden.
  4. Die E-Mail-Datenbank kann im Anschluss ebenfalls verkleinert werden, mit ihrer Reorganisation oder wie es bei Thunderbird heißt, Komprimierung.

11. Die größten Dateien finden

Wenn alle vorherigen Punkte abgearbeitet wurden, lohnt sich noch folgendes. Um schnell den freien Speicherplatz zu vergrößern, können die größten Daten gesucht, überprüft und gegebenenfalls gelöscht werden.

Hier eine Hilfe von mir, um die 50 größten Dateien in einem frei gewählten Verzeichnis zu finden.

#!/bin/sh

# Verzeichnis abfragen
echo "Bitte geben Sie das Verzeichnis ein, das durchsucht werden soll:"
read directory

# Ausgabe-Datei erstellen oder überschreiben
echo "Bitte geben Sie den Pfad und Namen der Ausgabe-Datei ein:"
read output_file
> "$output_file"

# Dateigrößenberechnung und Sortierung
find "$directory" -type f -exec du -h {} + | sort -rh | head -n 50 >> "$output_file"

echo "Die 50 größten Dateien wurden in $output_file gespeichert."

12. Doppelte Dateien

Es ist unglaublich, wie schnell sich eine riesige Menge an doppelten Dateien anhäuft. Um eine wirklich effiziente Suche nach doppelten Dateien durchzuführen und anschließender Bereinigung, sollten Sie folgendes beachten.

  1. Zuerst alle vorherigen Punkte abarbeiten
  2. Alle Daten dorthin verschieben, wo diese hingehören, also zum Beispiel alle Bilder-Ordner in das Verzeichnis „/home/username/Bilder“
  3. Die erstellte Liste der doppelten Dateien erst durchsehen und dann handeln, denn somit werden ganze Verzeichnisse erkannt, die schon doppelten Inhalt besitzen
  4. Einzelnen Listen für verschiedene Dateien erstellen, zum Beispiel nach einzelnen Dateiendungen, wie pdf und PDF, jpg und Jpg und JPG und JPEG, txt und TXT und so weiter
  5. Für die Prüfung des Dateiinhaltes sollte ein Hashwert-Abgleich genutzt werden, somit werden falsche Dateiendungen oder umbenannte Dateien auch erkannt
  6. Die letzte Prüfung sollte alle Dateien, also auch alle Dateiendungen beinhalten
  7. Zum Schluss ein inkrementelles Backup mit der Funktion –delete erstellen

Hier mal mein Script für das Finden doppelter Dateien.

#!/bin/sh

# Abfrage des Quell-Verzeichnisses
read -p "Bitte geben Sie das Verzeichnis ein, in dem nach doppelten Dateien gesucht werden soll (z.B. /home/benutzer/Desktop/): " sourcedir

# Abfrage der Dateiendung
read -p "Bitte geben Sie die Dateiendung der Dateien ein, kein case-sensitive :-) (z.B. jpg): " fileext

# Abfrage des Namens der Textdatei
read -p "Bitte geben Sie den Namen der CSV-Datei an, in der die doppelten Dateien aufgelistet werden sollen (z.B. doppelte-jpg.csv): " filename

# Abfrage des Speicherorts für die Textdatei
read -p "Bitte geben Sie den Speicherort für die CSV-Datei an (z.B. /home/benutzer/Desktop/): " outputdir

# Suche nach doppelten Dateien
find "$sourcedir" -type f -iname "*.$fileext" -exec md5sum {} + | sort | uniq -Dw 32 > "$outputdir/$filename"

# Überprüfen, ob Ergebnisse vorliegen und wenn nicht, dann "Nichts gefunden." ausgeben
if [[ $(wc -c <"$outputdir/$filename") -eq 0 ]]; then
    echo "Nichts gefunden."
fi

13. Dateien verkleinern

Um das letzte Zipfelchen freien Speicherplatz herauszukitzeln, können viele Dateien verkleinert werden.

Hier ein Beispiel für PDF-Dateien im selbigen Verzeichnis mit einem Unterverzeichnis „neu“.

#!/bin/sh
mkdir neu
find $PWD -type f -iname '*.pdf' -exec sh -c '
for f; do
  ps2pdf -dPDFSETTING=/ebook "$f" "$(dirname "$f")/neu/${f##*/}"
done
' -- {} + 

Hier ein Beispiel, um PNG- und JPG-Dateien in das WEBP-Format zu konvertieren. In diesem Beispiel habe ich auf das Kopieren in ein Unterverzeichnis verzichtet und gleich die Quelldateien löschen lassen. Der Befehl parallel müsste eventuell nachinstalliert werden, doch der Geschwindigkeitsvorteil, gerade bei Bildkonvertierungen, macht die zusätzliche Installation wett.

find . -name "*.png" | parallel -eta cwebp {} -o {.}.webp && find . -name "*.jpg" | parallel -eta cwebp {} -o {.}.webp

14. Schriftarten aufräumen

Hierzu empfehle ich meinen Beitrag „Keine deutschen Umlaute“ zu lesen, speziell den Absatz „Fonts bereinigen„. Denn Schriftarten können Speicherplatz und Verarbeitungszeit kosten.

15. Den Erfolg messen

Und mit dem unter 1. Belegung der Speicher prüfen können Sie den gewonnenen Speicherplatz sehen.

Mit einer Uhr können Sie feststellen, dass der Bootvorgang wesentlich beschleunigt wurde.

Ein weiterer Nebeneffekt nach dieser Bereinigung ist, dass sich die Sicherheit des Systems erhöht. Allein schon wegen der Tatsache, dass weniger Dateien auch weniger Angriffsfläche bedeutet.

16. Anmerkung

Sie können alle Scripte von mir nutzen und umschreiben, aber nicht veröffentlichen.


Ihr Kom­men­tar [Pos1] Sei­ten­an­fang