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 -hBetrachten 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 | headDie Datenträgerbelegungsanalyse (baobab) durchsucht den gesamten Baum auf einmal und ist viel leichter zu lesen:
sudo apt install baobab
baobab /home/$USERSie beginnt mit dem Durchsuchen des übergebenen Pfads, und wenn sie fertig ist, erhalten Sie das hier:

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
snapallein 87 % ausmacht – kein Fehler: jede Snap-Anwendung behält mehrere Revisionen
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"
doneHeruntergeladene Pakete
# Empty /var/cache/apt/archives
sudo apt clean
# Drop dependencies nothing needs any more
sudo apt autoremove --purgesystemd-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=7dBenutzer-Caches
Browser, Vorschaubilder und Anwendungs-Caches liegen alle in ~/.cache:
du -h --max-depth=1 ~/.cache | sort -hr | headDenken 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 (
growpartzusammen mitresize2fs) - 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
~/Downloadsoder das Docker-Datenverzeichnis auf die neue Festplatte und binden Sie sie überfstabein
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 | headDer ü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 -iWenn 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 cleanSpeichern Sie ihn als /etc/cron.d/apt-clean.
Verwandte Themen
- Festplatten, Mounten & fstab – Partitionen, Formatieren und Einbinden beim Start
- Leistungsüberwachung – htop und der Systemmonitor
- journalctl – Protokollgröße und Rotation