# Linux-Server: Festplatte voll – finden Sie heraus, was den Speicherplatz belegt

Ein voller Datenträger hat meist ein oder zwei offensichtliche Ursachen. Gehen Sie von oben nach unten vor, lesen Sie, bevor Sie löschen, und entfernen Sie Dateien unter /var/lib niemals von Hand, wenn Sie nicht wissen, welcher Dienst sie verwaltet.

## 1. Feststellen, welches Dateisystem voll ist

Führen Sie df -h aus. Achten Sie auf die Spalten Use% und Mounted on: Das volle Dateisystem kann / oder ein separater Mount wie /var, /home oder /data sein, und das Aufräumen des falschen ändert nichts.
Führen Sie außerdem df -i aus. Ein Dateisystem kann freien Speicherplatz, aber keine freien Inodes haben. Das passiert, wenn sich Millionen winziger Dateien ansammeln (Sitzungen, Mail-Warteschlangen, Cache-Dateien). Liegt IUse% nahe 100 %, suchen Sie nach vielen kleinen Dateien statt nach wenigen großen.

## 2. Die größten Verzeichnisse finden

Führen Sie sudo du -xh --max-depth=1 / | sort -h aus und lesen Sie die letzten Zeilen. Die Option -x bleibt auf einem Dateisystem, sodass eingehängte Datenträger und virtuelle Dateisysteme das Ergebnis nicht verfälschen. Wiederholen Sie das im größten Verzeichnis, zum Beispiel mit sudo du -xh --max-depth=1 /var | sort -h.
Ist ncdu installiert (sudo apt install ncdu unter Debian und Ubuntu), können Sie mit sudo ncdu -x / dieselben Daten interaktiv durchsuchen.

## 3. Nach gelöschten, noch geöffneten Dateien suchen

Zeigt du deutlich weniger an als df, hält möglicherweise ein Prozess noch eine gelöschte Datei geöffnet, oft ein großes Log. sudo lsof +L1 listet geöffnete Dateien mit einem Link-Zähler von null auf. Der Speicherplatz wird frei, sobald der Prozess die Datei schließt, in der Regel durch einen Neustart des zugehörigen Dienstes. Tun Sie das in einer ruhigen Phase, nicht mitten in einer Lastspitze.

## 4. Die üblichen Verdächtigen prüfen

Logs: Sehen Sie in /var/log nach und prüfen Sie das Journal mit journalctl --disk-usage. Ist es groß, lesen Sie unsere Anleitung zur Begrenzung der journald-Größe.
Pakete: sudo apt clean entfernt heruntergeladene Paketdateien; sudo apt autoremove listet Pakete und alte Kernel auf, die nicht mehr benötigt werden, und zeigt vor der Bestätigung an, was entfernt wird. Behalten Sie den laufenden Kernel und eine frühere Version.
Docker: docker system df zeigt Images, Container, Volumes und Build-Cache. docker system prune entfernt gestoppte Container, nicht verwendete Netzwerke und dangling Images; Volumes werden nur mit --volumes entfernt, lesen Sie also die Rückfrage, bevor Sie antworten.
Snap: snap list --all zeigt alte Revisionen deaktivierter Snaps, die sich einzeln mit snap remove NAME --revision=NUMBER entfernen lassen.

## 5. Nachdem Speicherplatz frei geworden ist

Führen Sie df -h erneut aus und prüfen Sie, ob Dienste, die wegen der vollen Festplatte gestoppt wurden, wieder laufen (systemctl --failed). Eine Datenbank, bei der die Festplatte voll war, braucht möglicherweise einen Neustart oder eine Prüfung, bevor Sie ihr wieder vertrauen.
Richten Sie anschließend eine Begrenzung ein, damit es nicht wieder passiert: Log-Rotation, ein journald-Limit und eine Warnung, bevor der Datenträger 90 % erreicht.

## FAQ

**Ist es sicher, Dateien in /var/log zu löschen?**

Rotierte und komprimierte Logs (zum Beispiel syslog.1 oder .gz-Dateien) können in der Regel weg, sobald Sie sie nicht mehr brauchen. Löschen Sie nicht die aktuelle Log-Datei eines laufenden Dienstes; kürzen Sie sie vorsichtig oder überlassen Sie das logrotate, und prüfen Sie zuvor, was der Dienst erwartet.

**Warum zeigt df einen vollen Datenträger an, aber du kommt auf eine andere Summe?**

Meist hält ein laufender Prozess noch eine gelöschte Datei geöffnet (siehe lsof +L1), oder die Zahlen stammen von unterschiedlichen Dateisystemen. Verwenden Sie du -x und vergleichen Sie mit df für denselben Einhängepunkt.

**Sollte ich docker system prune auf einem Produktionsserver ausführen?**

Erst nach docker system df und einem Blick darauf, was ungenutzt ist. Es kann Images entfernen, die Sie noch starten wollen. Volumes bleiben standardmäßig erhalten, aber stellen Sie sicher, dass Sie Backups aller wichtigen Daten haben.

Source: https://raincleaner.eu/de/guides/linux-server-disk-full-find-what-is-using-space