Time Machine sichert unsichtbaren Wine-Papierkorb

Nach umfangreichen temporären Dateikopier- und -verschiebeoperationen genehmigte sich Time Machine unlängst einen großen Happen vom Backup-Volume. Wieso das? Des Rätsels Lösung: Es war der ungeleerte Papierkorb der Wine-/Windows-Applikationen unter ~/.local/share/trash.

Ein bisschen weiter ausgeholt: Ja, ich bin ein Grenzgänger, der am Mac zwar mit dem Finder und erst recht mit TotalFinder recht effizient unterwegs ist. Aber wenn es hart auf hart kommt, bevorzuge ich den echten Total Commander. Das fällt am Mac schwer – aber wiederum nicht so schwer: Die aktuelle Version läuft wunderbar unter Wine, der OpenSource-Windows-API-Implementation. Mit ein paar Kniffen hinsichtlich der Tastaturbelegung und etwas Handarbeit zum Aufruf der passenden Mac-Anwendung beim Doppelklick auf eine Datei im Total Commander läuft das Ding „fast-nativ“ wirklich wunderbar am Mac. (Ich habe seit Jahr und Tag einen halbfertigen Blog-Beitrag dazu in der Pipeline.)

Wo ist also das Problem? Ganz einfach: Löscht man von einer Wine-Applikation Dateien, landen diese nicht im Mac-Mülleimer. Bislang nahm ich an, dass das Wine-API schlichtweg keinen Papierkorb unterstützt, dass also Dateien immer sofort gelöscht werden – damit kann ich umgehen, kein Problem.

Das ist aber doch nicht der Fall: Nach den Blu-ray-Brenn- und -Probelese-Experimenten des Wochenendes prognostizierte das Time Machine Controlpanel beim anschließend manuell angestoßenen Backup ein Backup-Volumen von knapp 50 GB. Erstaunlich – entsprach das doch mindestens zwei gefüllten einlagigen BD-Rohlingen, die ich allesamt testweise auf die Platte kopiert, CRC-gecheckt und anschließend wohlweislich gelöscht hatte.

Aber: Die 50 GB waren weg – sowohl auf der Macintosh HD als auch auf dem Time Machine Backupvolume. Himmel, seit Festplatten 2 TB groß sind, verliert man wirklich den Überblick über derart fiepsig kleine Datenmengen. 😮 Sie lagen nicht mehr im Finder-Papierkorb. Aber warum sicherte Time Machine trotzdem 50 GB? Wo waren die Dateien?

Wie schön wäre es, wenn man nachsehen könnte, welche Dateien Time Machine in einem bestimmten Backup-Lauf tatsächlich gesichert hat. Das klingt allerdings simpler, als es in der Realität ist: Denn jedes Backup-Verzeichnis bildet aufgrund der verwendeten Hardlink-Struktur jederzeit ein vollständiges Volume – man sieht nicht ohne weiteres, was von Backup zu Backup dazu gekommen ist.

In die Bresche springt hier ein wundervolles Tool namens „TimeTracker“ von CharlesSoft (bestens bekannt vom Installer-Tool „Pacifist“). TimeTracker ist als Pre-Beta-Version gekennzeichnet, erfüllt aber seinen Zweck: Es zeigt sehr detailliert, welche Verzeichnisse im Backup vorkamen, und wie viel Platz sie beanspruchen.

So kam ich dem Übeltäter auf die Schliche: Die 50 GB lagen unter ~/.local/share/trash/files. Erstaunlich: Google kennt diesen Ordner für Macintosh Computer nicht – die Fundstellen liegen im Bereich Linux. ~/.local/share/trash bildet demnach den Ort, an dem z.B. Ubuntu seine gelöschten Dateien lagert, die sich noch im Papierkorb befinden. … Der Mac verwendet dafür bekanntlich ~/.Trash.

Nach kurzem Spekulieren und anschließendem Experimentieren stand fest: Wird eine Datei im Wine-Total Commander gelöscht, landet sich unter ~/.local/share/trash – und zwar zum einen die eigentliche Datei unter ./files, zum anderen eine .tashinfo-Datei unter ./info. Flugs zur Demonstration der Löschvorgang einer Datei namens „test.zip“ im Wine-Total Commander dokumentiert – vorher, nachher:

In meinem Fall war das ~/.local/share/trash-Verzeichnis auf ca. 12.000 Dateien sowie, durch die BD-Test-Dateien, auf beinahe 56 GB angeschwollen.

Die Lösung ist dreischrittig:

  1. Wir gehen davon aus, dass dieser unsichtbare Papierkorb nicht mehr benötigte Dateien enthält. … Logisch, schließlich war ich mir zuvor gar nicht bewusst, dass er überhaupt existierte. 🙂 Ergo kann der Inhalt von ~/.local/share/trash gestrost gelöscht werden.
    • Soll dies vom Finder aus passieren (man erreicht das versteckte Verzeichnis ~/.local mit Hilfe von „Gehe zu“ / „Gehe zu Ordner“ bzw. Umsch-Cmd-G), rutschen die Dateien ggf. von dort aus in den Mac-Papierkorb. 🙂
      Es sei denn, man hält beim Löschen die Umsch-Taste gedrückt, damit der Mac die Dateien direkt und unter Umgehung des Papierkorbes löscht.
    • Soll die Löschung wiederum von Wine i.e. wieder vom Total Commander aus passieren, gilt haargenau dasselbe: Statt einfach die Entf-Taste zu drücken, drückt man Umsch-Entf, damit Wine nicht versucht, Dateien vom Papierkorb in den Papierkorb zu verschieben. 😉
  2. Exakt das kann man sich anschließend angewöhnen: Schon unter echtem Windows bzw. VMware-Windows bin ich kein Freund des Papierkorbes, dort lösche ich Dateien in den meisten Fällen direkt mit Umsch-Entf.
  3. Um das Time Machine-Backup wieder zu verschlanken, wechselt man zunächst mit Umsch-Cmd-G nach ~/.local/share/Trash und startet dann die Time Machine. Hier kann man sich dann die beiden Ordner ./info und ./files schnappen und mit der rechten Maustaste bestimmen, dass diese vollständig aus dem Time Machine-Backup entfernt werden sollen. … Nach Eingabe des Administrator-Passworts kann dies einem gut gefüllten Wine-Papierkorb schon mal etwas länger dauern – Geduld!

Ich bin mir nicht sicher, ob Wine sich ggf. konfigurieren lässt, Dateien direkt zu löschen. Oder, ob eine modernere als die von mir verwendete Wine-Version gelöschte Dateien evtl. sogar in den echten Mac-Papierkorb verschiebt – das wäre natürlich in Zukunft die sauberste Lösung.

… Sie lasen einen weiteren Beitrag aus der Reihe „Erinnerungshilfen für mich selbst und Dokumentationen für andere Betroffene“ – damit geben wir zurück in die angeschlossenen Funkhäuser. 😉

Update:

Wer mit Kanonen auf Spatzen schießen will, der kann nach dem manuellen Leeren des Wine-Papierkorbs selbigen wirksam deaktivieren mit Hilfe von

chmod 000 ~/.local/share/Trash/

Keine Kommentare möglich.