bypass
Eski bir yedeklemeyi kaldırmak için bu komutu kullanma hakkında bir uyarı : Silinen yedeklemenin önceki veya sonraki yedeklemelerde tamamen aynı klasörleri varsa, dosyalar daha önceki veya sonraki yedeklemelerden de silinmiş olabilir !
Time Machine, yalnızca değişmemiş dosyalar için sabit bağlantılar kullanmakla kalmaz, aynı zamanda hiçbir dosya eklenmemiş, değiştirilmemiş veya silinmemiş klasörler için de sert bağlantılar kullanır. Bu gibi bir şeyle sonuçlanır:
/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/
Yukarıdakilerle, herhangi bir dosyayı silme işlemi /2014-11-06/folder/
iyidir ve yalnızca o tarih için yedeklemeyi etkiler. Sabit link referans sayıları azaltılır, bu nedenle " inode " for file2
silinir, ancak sonraki inodlar nedeniyle inode 1 olan file1
ve file3
hala bir referans sayımı 1 olur. Bu yüzden rm -R /2014-11-06
de iyi.
Ancak, her iki herhangi bir dosyayı çıkarmadan /2014-11-13/folder/
, /2014-11-20/folder/
ya /2014-11-27/folder/
etkin bir bütün o 3 klasörlerden kaldıracaktır.
Sorun şu ki rm -R
, sabit bağlantılı klasörler umrunda değil. Sadece bulduğu herhangi bir hard-link klasöre geri alır, tüm dosyalarını cesaretle siler ve sonra boş klasörü kaldırır.
Öyleyse: eski bir yedeği kaldırırken, sabit bir klasöre tekrarlama yapılmamalı ve içeriği silinmemelidir. Bunun yerine, yalnızca klasörün kendisi için olan sabit bağlantı kaldırılmalıdır . Yani, Arne'nin cevabında açıklandığı gibi rm -R
kullanmak yerine .tmutil delete
Bir kenara, OS X unlink
komutunun klasörler üzerinde kullanılamayacağı görülüyor : "bir dizin olmamalıdır, sadece bir argüman sağlanabilir" . OS X API, sabit bağlı klasörleri kaldırabilir ve GNU Coreutils , Homebrew kullanılarak yüklenenler gibi de olabilir .
Son olarak, yukarıdakilerin hepsini kanıtlamak için bir test vakası (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
Her olay için bağlantı sayısının 2 (ikinci sütun) olduğunu unutmayın. İlk oluşumu kaldıralım:
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
Bu nedenle, dosyalardan birinin bağlantısını kaldırdıktan sonra, dosya yine de 3 kez gösterilse de, bağlantıların sayısı her seferinde 1'e düşmüştür. Henüz bir sorun yok. İlk oluşumu tekrar kaldırın:
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
Şimdi hepsi gitti. Görünüşe göre, dosya TopSites.plist
en son 2014-11-06 değiştirildi ve 2014-11-13 tarihinde çok bağlantılıydı; o sırada bazı dosyalar da Safari
klasöre eklendi, değiştirildi veya kaldırıldı . Daha sonra, Safari
klasörün içeriği sonraki iki yedeklemede değişmedi, bu nedenle 2014-11-20 ve 2014-11-27'de Safari
klasör önceki yedeklemeye zor bağlandı.
Aslında, 4 klasör yalnızca 2 düğüm kullanır (ilk sütun):
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//