Eine Warnung zur Verwendung des bypass
Befehls zum Entfernen einer alten Sicherung: Wenn die gelöschte Sicherung Ordner enthält, die in früheren oder späteren Sicherungen identisch sind, werden möglicherweise auch Dateien aus früheren oder späteren Sicherungen gelöscht !
Time Machine verwendet nicht nur Hardlinks für unveränderte Dateien, sondern auch Hardlinks für Ordner, in denen überhaupt keine Dateien hinzugefügt, geändert oder gelöscht wurden. Dies führt zu etwas wie:
/2014-11-06/folder/file1
/file2
/file3
/2014-11-13/folder/file1 = hard link to file /2014-11-06/folder/file1
/file2 (changed; new inode)
/file3 = hard link to file /2014-11-06/folder/file3
/2014-11-20/folder/ = hard link to folder /2014-11-13/folder/
/2014-11-27/folder/ = hard link to folder /2014-11-20/folder/
Mit den oben genannten Einstellungen ist das Löschen von Dateien /2014-11-06/folder/
in Ordnung und wirkt sich nur auf die Sicherung für dieses Datum aus. Die Anzahl der Hardlink-Verweise wird verringert, sodass der " Inode " für file2
entfernt wird, aber die Inodes für file1
und file3
haben aufgrund der späteren Sicherungen immer noch einen Verweiszähler von 1. Daher rm -R /2014-11-06
ist auch in Ordnung.
Allerdings, das Entfernen einer Datei von entweder /2014-11-13/folder/
, /2014-11-20/folder/
oder /2014-11-27/folder/
effektiv es aus all diesen drei Ordnern entfernen.
Das Problem ist, dass rm -R
es nicht um fest verbundene Ordner geht. Es kehrt nur in einen fest verknüpften Ordner zurück, löscht kühn alle seine Dateien und entfernt dann den leeren Ordner.
Also: Wenn Sie ein altes Backup entfernen, sollten Sie nicht in einen fest verknüpften Ordner zurückkehren und dessen Inhalt löschen. Stattdessen sollte man nur den Hardlink für den Ordner selbst entfernen . Also, anstatt rm -R
zu verwenden , tmutil delete
wie erklärt in Arnes Antwort .
Als Nebenwirkung , so scheint es , dass die OS X - unlink
Befehl nicht auf Ordner verwendet werden kann : „nur ein Argument, das nicht ein Verzeichnis sein muss, zugeführt werden kann“ . Die OS X-API kann fest verknüpfte Ordner entfernen , ebenso wie GNU Coreutils , wie sie mit Homebrew installiert wurden .
Um all das zu beweisen, ein Testfall (OSX 10.6.8):
sh-3.2# ls -lFa 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME staff 1551 10 30 2014 2014-11-06-012454/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME staff 1551 10 30 2014 2014-11-13-024438/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME staff 1551 10 30 2014 2014-11-20-014044/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 2 USERNAME staff 1551 10 30 2014 2014-11-27-025033/Users/USERNAME/Library/Safari/TopSites.plist
Beachten Sie, dass die Anzahl der Links für jedes Vorkommen 2 beträgt (zweite Spalte). Entfernen wir das erste Vorkommen:
sh-3.2# /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass unlink 2014-11-06-012454/Users/USERNAME/Library/Safari/TopSites.plist
sh-3.2# ls -lFa 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 1 USERNAME staff 1551 10 30 2014 2014-11-13-024438/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 1 USERNAME staff 1551 10 30 2014 2014-11-20-014044/Users/USERNAME/Library/Safari/TopSites.plist
-rw-r--r--@ 1 USERNAME staff 1551 10 30 2014 2014-11-27-025033/Users/USERNAME/Library/Safari/TopSites.plist
Nach dem Aufheben der Verknüpfung einer der Dateien ist die Anzahl der Verknüpfungen bei jedem Auftreten auf 1 gesunken, obwohl die Datei immer noch dreimal angezeigt wird. Noch keine Probleme. Entfernen Sie das erste Vorkommen erneut:
sh-3.2# /System/Library/Extensions/TMSafetyNet.kext/Contents/MacOS/bypass unlink 2014-11-13-024438/Users/USERNAME/Library/Safari/TopSites.plist
sh-3.2# ls -lFa 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist
ls: 2014-11*/Users/USERNAME/Library/Safari/TopSites.plist: No such file or directory
Jetzt sind alle weg. Anscheinend wurde die Datei TopSites.plist
zuletzt am 06.11.2014 geändert und am 13.11.2014 fest verlinkt, da dann einige andere Dateien zum Safari
Ordner hinzugefügt, geändert oder daraus entfernt wurden . Als Nächstes wurde der Inhalt des Safari
Ordners in den folgenden beiden Sicherungen nicht geändert, sodass der Safari
Ordner am 20.11.2014 und am 27.11.2014 fest mit der vorherigen Sicherung verknüpft war.
In der Tat verwenden die 4 Ordner nur 2 Inodes (erste Spalte):
sh-3.2# ls -lFaid 2014-11*/Users/USERNAME/Library/Safari/
648651968 drwxr-xr-x@ 86 USERNAME staff 2924 9 10 16:06 2014-11-06-012454/Users/USERNAME/Library/Safari//
650804457 drwxr-xr-x@ 86 USERNAME staff 2924 9 10 16:07 2014-11-13-024438/Users/USERNAME/Library/Safari//
650804457 drwxr-xr-x@ 86 USERNAME staff 2924 9 10 16:07 2014-11-20-014044/Users/USERNAME/Library/Safari//
650804457 drwxr-xr-x@ 86 USERNAME staff 2924 9 10 16:07 2014-11-27-025033/Users/USERNAME/Library/Safari//