Timeshift - Docker ausschließen
Timeshift ist eine tolle Software, die bei mir dauerhaft im Einsatz ist. Eine externe Festplatte hängt unbemerkbar an einer Thunderbolt Docking und fertigt im Hintergrund automatisch, und bei Bedarf manuell, Backups von meinem ganzen Linux-System an. Doch unter bestimmten Umständen kann es vorkommen, dass die Backups einfach endlos laufen. Docker könnte das Problem sein.
Das Problem für Timeshift
Wenn man Docker Desktop auf seinem System installiert, erstellt Docker eine Docker VM mit einer Docker.raw, die im Benutzer-Verzeichnis abgelegt wird.
/home/{user}/.docker/desktop/vms/0/data/Docker.raw
Diese Datei wird automatisch erstellt. Wenn man sich die Größe der Datei über ein Filemanager oder im Terminal anschaut, sieht man, dass die Datei die Größe der eigentlichen System-Festplatt hat.
Oder, wenn man sich die Größe lieber im Terminal anzeigen lassen möchte, kann man es mit dem klassischen ls -lh
(h
steht für “human-readable”) anzeigen lassen.
Timeshift versucht diese Sparse-Dateien vollständig in die Sicherung zu schreiben und hängt sich an genau dieser Datei (Docker.raw
) auf.
Sparse-Files
Eine Sparse-Datei (virtuell) ist eine Datei, bei der Bereiche, die nur Nullen enthalten (“leer” sind), nicht physikalisch auf dem Datenträger gespeichert werden. Das Dateisystem speichert nur die tatsächlich beschriebenen Blöcke.
Die Datei Docker.raw
kann auf den ersten Blick so groß wie die physische Festplatte erscheinen (z.B. 1TB), belegt aber physikalisch nur so viel Speicherplatz, wie tatsächlich mit Daten gefüllt wurde, da es sich um eine Sparse File handelt.
Und wenn man sich den tatsächlichen Speicherverbrauch auf der Festplatte mit du
ausgibt, stellt man fest, dass es eine andere Zahl ist.
du -h ~./docker/deskopt/vms/0/data/Docker.raw
In meinem Fall sah das Ergebnis wie folgt aus.
Lösung für “Timeshift hängt sich auf”
Die Lösung für das Problem, dass sich Timeshift aufhängt ist der Ausschluss dieser Datei von den Backups.
Das kann man sehr einfach in Timeshift-GUI tun.
- Starte Timeshift
- Gehe zu Einstellungen
- Dort klicke auf den Reiter Filter
- Hier die Dateien/Ordner hinzufügen.
Wenn man sich hier Dateien bzw. Ordner zum Ausschließen hinzufügt, werden diese unten hinzugefügt. Wenn also bereits einige Pfade vorhanden sind, die für die Backups eingeschlossen sind (sieht man am ”+” Zeichen), werden die neuen Einträge unter diesen Pfaden hinzugefügt.
Fügt man einen neuen Pfad zum Ausschließen der Docker.raw
hinzu und bestätigt es, wird sich Timeshift beim nächsten Durchlauf erneut aufhängen.
GRUND: Der Grund dafür ist einfach, auch, wenn nicht sofort deutlich. Die Dateien/Pfad, die man zum Auschließen vom Backup hinzugefügt hat, müssen vor den Pfaden platziert werden, die man generell sichern möchte. Sprich, in diesem Fall müsste der Pfad zu Docker.raw
Datei ganz oben stehen.