Böse Geschichte: Ein sich aufgehängtes Backup mittels Time-Machine auf eine externe WD MyBook Studio Edition (1 TB) hinterliess ein nicht mehr zu löschendes Verzeichnis Backups.backupdb. Nach intensiver Suche in Büchern und Foren habe ich dann eine Lösung gefunden.
Die Lösung in Kurzform (für Leopard):
- Deaktivieren der ACLs (fsaclctl)
- Löschen des Verzeichnisses im Finder (nicht auf der Komandozeile)
Lösungsansätze für Snow-Leopard siehe Ende des Artikels.
Meine Odysee und Erkenntnisse
Flags
Quellen
- http://osxfaq.com/Tutorials/LearningCenter/AdvancedUnix/ugp2/page2.ws
- Surendorf 2009, S106
Kommandozeile
$ ls -lO datei01 -rw-r--r-- 1 ingolantschner ingolantschner uchg 0 31 Dez 13:00 datei01
$ chflags nouchg datei01 $ ls -lO datei01 -rw-r--r-- 1 ingolantschner ingolantschner - 0 31 Dez 13:00 datei01
$ sudo chflags schg datei01
$ sudo chflags noschg datei01
$ ls -lO datei01 -rw-r--r-- 1 ingolantschner ingolantschner schg 0 31 Dez 13:00 datei01
$ ls -lO datei01 -rw-r--r-- 1 ingolantschner ingolantschner - 0 31 Dez 13:00 datei01
Ergebnis: An den Flags lag es also nicht.
ACLs komplett entfernen
Quelle: http://discussions.apple.com/thread.jspa?threadID=1469957
$ sudo chmod -R -N Backups.backupdb/ chmod: Failed to clear ACL on file spinning-globe.scm: Operation not permitted
Sandbox
Schaut ganz nett aus das Tool – setzt die Rechte aber auch nicht um. Das sehen wir z.B.
hier:
$ ls -le Installer\ Log\ File -rwxrwxrwx@ 3 lisi staff 12922 23 Sep 2008 Installer Log File 0: group:everyone deny write,delete,append,writeattr,writeextattr,chown
Ausserdem gibt es von Seiten Sandbox keine Rückmeldung, dass das Setzen der Berechtigungen fehlschlug. Ein zuverlässiges Werkzeug schaut anders aus.
Interessant: Dieses pauschale evereyone deny schaut nicht gut aus … ich habe einen Verdacht.
Reproduktion meines Verdachtes
$ chmod +a "everyone deny write,delete,append,writeattr,writeextattr,chown" datei02 $ ls -le datei02 -rw-r--r--+ 1 ingolantschner ingolantschner 0 31 Dez 14:01 datei02 0: group:everyone deny write,delete,append,writeattr,writeextattr,chown $ rm datei02 override rw-r--r-- ingolantschner/ingolantschner for datei02? y rm: datei02: Permission denied $ sudo rm datei02 Password: $ ls -le datei02 ls: datei02: No such file or directory
Seltsam: Eine so gesperrte Datei kann also sehr wohl noch mit sudo gelöscht werden. (Also an sich ist das nicht so verwunderlich und durchaus eine vernünftige Verhaltensweise des Betriebssystemes – nur im konkreten Fall wähnte ich mich schon einer Erklärung nahe, die jetzt aber nicht zutrifft.) Mein Verdacht, dass das „everyone deny …“ meine Löschversuche ursächlich unterbindet war also unbegründet.
ACLs ausschalten
Quelle: http://www.macosxhints.com/article.php?story=20080128003716101
$ fsaclctl -p /Volumes/Filme/ -v fsaclctl version 1.2 $ fsaclctl -p /Volumes/Filme/ Access control lists are supported on /Volumes/Filme/. $ sudo fsaclctl -p /Volumes/Filme/ -d $ ls -le Installer\ Log\ File -rwxrwxrwx@ 3 lisi staff 12922 23 Sep 2008 Installer Log File
Die ACLs werden nicht mehr angezeigt.
Erster Teilerfolg: Mit sudo rm <datei>
lässt sich die Datei nun endlich entfernen.
$ sudo rm Installer\ Log\ File $ ls -le Installer\ Log\ File ls: Installer Log File: No such file or directory
Symlink (Alias?) lässt sich nicht entfernen
$ ls -le total 8 lrwxr-xr-x 1 root staff 28 30 Dez 17:57 CodeResources -> _CodeSignature/CodeResources drwxr-xr-x 5 lisi staff 170 31 Dez 14:09 Frameworks iMac-Ingo:Contents ingolantschner$ sudo rm CodeResources Password: rm: CodeResources: Operation not permitted
Lösung: Im Finder ist dieser Link dann aber problemlos zu löschen. Und auch der gesamte Verzeichnisbaum Backups.backupdb lässt sich einfach in den Papierkorb werfen. Von dort ist es dann in zwei Schritten auch zu entfernen. (Ich musste den Papierkorb zwei mal entleeren, bis alles weg war.)
Hinweis
In Snow Leopard wird man das tool fsaclctl vergeblich suchen – es wird nicht mehr angeboten. Gerüchteweise kann man aber die Version vom Leopard auch in Snow-Leopard verwenden (man muss es sich halt auf den Schneeleo-Rechner von einer alten Installation kopieren.) Ein weiteres Gerücht besagt, dass man im Single User Mode (cmd + S bei Ertönen des Startgongs drücken) mit rm -rf alles ohne Rückfragen und Einschränkungen löschen könne. Nun ja, das auszuprobieren überlasse ich nun jemand anders – ich bitte um Kommentare :-)