Skip to Content
DokumentationBetriebSystemadministrationSpeicherplatz analysieren

Wo ist der Speicherplatz geblieben: Analyse und Aufräumen

„Die Festplatte ist fast voll“ passiert jedem Ubuntu-Nutzer irgendwann. Ärgerlich ist, dass df zwar meldet, dass sie voll ist, aber nicht, wodurch. Hier ist die reproduzierbare Reihenfolge: erst lokalisieren, dann aufräumen.

Schritt 1: Wie voll ist es wirklich

df -h

Betrachten Sie die Spalte Use%, vor allem für / (das Wurzeldateisystem) und /home, falls es eine eigene Partition ist.

Das grafische Gegenstück ist der Belegungsbalken in der Anwendung „Datenträger“ nach Auswahl einer Partition oder der Kapazitätsbalken unten in der Seitenleiste des Dateimanagers.

Schritt 2: Die großen Verzeichnisse finden

du kann das berechnen, aber am Ende raten Sie sich Ebene für Ebene vor:

# Size of each subdirectory here, largest first du -h --max-depth=1 . | sort -hr | head

Die Datenträgerbelegungsanalyse (baobab) durchsucht den gesamten Baum auf einmal und ist viel leichter zu lesen:

sudo apt install baobab baobab /home/$USER

Sie beginnt mit dem Durchsuchen des übergebenen Pfads, und wenn sie fertig ist, erhalten Sie das hier:

Disk Usage Analyzer showing a folder list where snap takes 87.29 percent and 113.9 MB and .cache 12.13 percent, next to a rings chart with 130.5 MB in the centre and Rings Chart / Treemap Chart tabs
Disk Usage Analyzer: a sorted list with percentages on the left, the ring chart on the right, and any ring can be clicked to drill down

So lesen Sie sie:

  • Die linke Liste ist nach Größe sortiert; klappen Sie Zeile für Zeile auf und Sie erhalten exakte Pfade – das ist besser, als auf die Ringe zu klicken
  • Treemap-Diagramm unten rechts verwandelt Anteile in Flächen, sodass der größte Block auf einen Blick zu erkennen ist
  • Dieser Screenshot stammt aus einer frisch installierten VM, in der snap allein 87 % ausmacht – kein Fehler: jede Snap-Anwendung behält mehrere Revisionen
Tip

Das Scannen von ~ dauert Sekunden, das Scannen von / Minuten, weil dabei das gesamte System durchlaufen wird. Beginnen Sie mit ~ und scannen Sie / nur dann, wenn das die Belegung nicht erklärt.

Schritt 3: Die üblichen Verdächtigen bereinigen

Alte Snap-Revisionen

Snap behält die letzten Revisionen, damit Sie zurückrollen können, und jede ist eine vollständige Kopie des Programms. Das sind die 87 % von oben.

# Keep 2 revisions instead of the default 3 sudo snap set system refresh.retain=2 # Remove every disabled revision sudo snap list --all | awk '/disabled/{print $1, $3}' | while read name rev; do sudo snap remove "$name" --revision="$rev" done

Heruntergeladene Pakete

# Empty /var/cache/apt/archives sudo apt clean # Drop dependencies nothing needs any more sudo apt autoremove --purge

systemd-Journal

Die Protokolle von journalctl können auf mehrere GB anwachsen:

# Keep at most 200 MB sudo journalctl --vacuum-size=200M # Or keep only 7 days sudo journalctl --vacuum-time=7d

Benutzer-Caches

Browser, Vorschaubilder und Anwendungs-Caches liegen alle in ~/.cache:

du -h --max-depth=1 ~/.cache | sort -hr | head

Denken Sie vor dem Löschen nach: Browser-Caches füllen sich bei Bedarf neu und halten Sie normalerweise angemeldet, während ~/.cache/thumbnails immer gefahrlos entfernt werden kann.

Schritt 4: Wenn Aufräumen nicht reicht

Aufräumen verschafft Zeit; echter Platz entsteht durch Vergrößern oder Verschieben:

  • Virtuelle Maschinen: Vergrößern Sie die virtuelle Festplatte in den VM-Einstellungen und erweitern Sie dann die Partition (growpart zusammen mit resize2fs)
  • Physische Rechner: Fügen Sie eine Festplatte hinzu und formatieren bzw. mounten Sie sie – siehe Festplatten, Mounten & fstab
  • Daten verschieben: Verlagern Sie große Verzeichnisse wie ~/Downloads oder das Docker-Datenverzeichnis auf die neue Festplatte und binden Sie sie über fstab ein

FAQ

df meldet voll, aber du ergibt viel weniger

Der klassische Fall: eine Datei wurde gelöscht, aber ein Prozess hält sie noch offen, sodass der Platz erst frei wird, wenn dieser Prozess endet.

# Find deleted files that are still open sudo lsof +L1 2>/dev/null | head

Der übliche Übeltäter ist ein noch laufender Log-Schreiber; starten Sie den Dienst neu, dem er gehört (sudo systemctl restart <service>).

„No space left on device“, aber df zeigt freien Platz

Wahrscheinlich eine Inode-Erschöpfung, typisch bei sehr vielen kleinen Dateien (Mail-Spools, Container-Layer).

# Check inode usage df -i

Wenn IUse% bei 100 % liegt, ist das Ihr Problem; die Lösung ist dieselbe Art von Bereinigung – nur müssen Sie viele kleine Dateien löschen und nicht große.

Das Aufräumen automatisieren

systemd-tmpfiles leert bereits /tmp und einige Caches. Für eine regelmäßige Bereinigung des apt-Caches fügen Sie einen Cron-Eintrag hinzu:

# Clean the apt cache every Sunday at 03:00 0 3 * * 0 root /usr/bin/apt clean

Speichern Sie ihn als /etc/cron.d/apt-clean.

Verwandte Themen

Last updated on