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.rawIn 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.

Häufige Stolperfallen
Reihenfolge der Filter-Regeln ist entscheidend
Timeshift verwendet rsync-Filterregeln, die Zeile für Zeile abgearbeitet werden — die erste passende Regel gewinnt. Steht der Include + /home/** vor dem Exclude - /home/*/.docker/desktop/vms/0/data/Docker.raw, wird die Datei trotzdem gesichert. Daher: Ausschluss-Regeln immer vor den Einschluss-Regeln einfügen.
Pfad-Pattern müssen exakt zum Mount stimmen
/var/lib/docker/* ist der klassische Pfad für Docker Engine, ~/.docker/desktop/... für Docker Desktop und /var/snap/docker/common/var-lib-docker/* für die Snap-Variante. Wer nicht weiß, welche Variante installiert ist, prüft mit docker info | grep -i 'docker root dir'. Filter, die ins Leere zeigen, fallen nicht auf — Timeshift hängt sich trotzdem auf.
Sparse-Dateien bleiben groß, wenn sie nicht sparse kopiert werden
Auch ohne Timeshift kann eine cp Docker.raw kopie.raw aus einer 50-GB-Sparse-Datei plötzlich 1 TB machen, weil cp die Nullen ausschreibt. Mit cp --sparse=always bleiben die Lücken erhalten. du -h zeigt den realen Verbrauch, ls -lh die scheinbare Größe — der Unterschied ist hier dramatisch.
BTRFS-Snapshots sind eine echte Alternative
Timeshift unterstützt zwei Modi: rsync (sichert auf andere Platte) und BTRFS-Snapshots (Copy-on-Write, sehr schnell). Wer auf BTRFS unterwegs ist, kann Snapshots in Sekunden anlegen — Sparse-Dateien sind dann irrelevant, weil keine echten Daten kopiert werden. Der Modus lässt sich beim ersten Start in den Timeshift-Einstellungen wählen.
Auch Browser-Caches und VM-Images blähen das Backup auf
Docker ist nicht der einzige Kandidat. ~/.cache/, ~/.local/share/Trash/, ~/VirtualBox VMs/ und Snap-VMs erzeugen genauso schnell zig Gigabyte. Ein Blick mit ncdu /home deckt die größten Verbraucher auf — bei einem rsync-Backup auf externer Platte spart das langfristig nicht nur Zeit, sondern auch Plattenplatz.
Weiterführende Ressourcen
Externe Quellen
- Timeshift auf GitHub — offizielles Repository mit Wiki und Issue-Tracker
- Arch Wiki: Timeshift — Installations- und Konfigurationsleitfaden
- Arch Wiki: Sparse file — Hintergrund zu Sparse-Dateien
- rsync(1) – Linux manual page — Filterregeln, die Timeshift intern verwendet
Verwandte Artikel
- cp — Sparse-Dateien beim Kopieren erhalten
- Berechtigungen — Backups und Wiederherstellung mit
sudo - Linux Shell — Grundlagen für
du,ls,find - dmesg — wenn Snapshots oder Mounts Fehler werfen
- apt — Timeshift unter Debian/Ubuntu nachinstallieren