Speicherplatz unter Linux analysieren: df, du und ncdu
Kurz: Mit df sieht man, welche Laufwerke wie voll sind, mit du und ncdu, welche Ordner den Platz belegen; auch Inodes, Logs und Docker-Daten füllen Platten unbemerkt.
Genauer: No space left on device hat mehrere Ursachen: Platte voll, Inodes aufgebraucht, gelöschte, aber noch geöffnete Dateien, Docker/Logs. Systematisch suchen spart Zeit.
Im Detail
df: Wo ist Platz?
df -h # Größe, belegt, frei, Mount-Punkt
df -i # Inodes (Anzahl möglicher Dateien)
df -hT # mit DateisystemtypUse% bei 100 % = voll. Beachte Reserved Blocks bei ext4 (5 % für root). Inodes voll (IUse% 100%) bei Millionen kleiner Dateien (Mail-Queue, Cache).
du und ncdu: Was belegt Platz?
du -h --max-depth=1 /var | sort -h # Ordner nach Größe
du -sh * # aktuelle Ebene
ncdu / # interaktiv (Pfeiltasten, d zum Löschen)
sudo find / -xdev -type f -size +500M 2>/dev/null-x/--one-file-system verhindert Abstieg in andere Laufwerke. ncdu ist am bequemsten. GUI: Baobab, Filelight.
Häufige Platzfresser
- /var/log (Logs),
journalctl --disk-usageundsudo journalctl --vacuum-size=200M. - Paket-Cache:
sudo apt clean,apt autoremove, alte Kernel;dnf clean all. - Docker:
docker system df,docker system prune(Vorsicht), Images/Volumes. - Snap/Flatpak: alte Revisionen,
flatpak uninstall --unused. - Home: Downloads,
~/.cache, Browser-Caches, Papierkorb (~/.local/share/Trash). - Backups/Snapshots (Timeshift, Btrfs-Snapshots).
- Core-Dumps (
/var/lib/systemd/coredump). - Gelöscht, aber offen:
sudo lsof +L1: Prozess neu starten, dann Platz frei.
Vorbeugen
Log-Rotation (logrotate), Limits für Journal und Docker-Logs (max-size), Monitoring (Alarm bei 80 % Belegung), getrennte Partitionen für /var bzw. Daten, regelmäßiges Aufräumen, Quotas für Nutzer. Vor dem Löschen prüfen, was die Datei ist; nie blind rm -rf in Systemordnern. Zum Wachsen: LVM erweitern oder Datenträger vergrößern (resize2fs, xfs_growfs).
Siehe auch: Inodes, Speicherplatz freigeben, Logs und Zeitsteuerung, Partitionen, LVM und LUKS