Peringatan tentang penggunaan bypassperintah untuk menghapus cadangan lama: jika cadangan yang dihapus memiliki folder yang persis sama dengan cadangan sebelumnya atau yang lebih baru, maka file juga mungkin dihapus dari cadangan sebelumnya atau nanti !
Time Machine tidak hanya menggunakan tautan keras untuk file yang tidak berubah, tetapi juga menggunakan tautan keras untuk folder tempat tidak ada file yang ditambahkan, diubah, atau dihapus sama sekali. Ini menghasilkan sesuatu seperti:
/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/
Dengan hal di atas, menghapus file apa pun dari /2014-11-06/folder/tidak masalah, dan hanya memengaruhi cadangan untuk tanggal tersebut. Jumlah referensi tautan keras berkurang, sehingga " inode " untuk file2akan dihapus, tetapi inode untuk file1dan file3masih akan memiliki jumlah referensi 1 karena cadangan nanti. Karenanya, rm -R /2014-11-06juga baik-baik saja.
Namun, menghapus file apa pun dari salah satu /2014-11-13/folder/, /2014-11-20/folder/atau /2014-11-27/folder/secara efektif akan menghapusnya dari ketiga folder tersebut.
Masalahnya adalah bahwa rm -Rtidak peduli dengan folder yang ditautkan. Itu hanya berulang ke setiap folder yang ditautkan menemukan, dengan berani menghapus semua file, dan kemudian menghapus folder kosong.
Jadi: saat menghapus cadangan yang lama jangan sampai muncul kembali ke folder yang ditautkan dan hapus isinya. Sebagai gantinya, seseorang hanya harus menghapus tautan keras untuk folder itu sendiri . Jadi, daripada rm -Rmenggunakan tmutil deleteseperti yang dijelaskan dalam jawaban Arne .
Selain itu, tampaknya unlinkperintah OS X tidak dapat digunakan pada folder : "hanya satu argumen, yang tidak boleh berupa direktori, boleh diberikan" . OS X API dapat menghapus folder yang ditautkan, dan begitu pula GNU Coreutils , seperti yang diinstal menggunakan Homebrew .
Akhirnya, untuk membuktikan semua hal di atas, sebuah test-case (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
Perhatikan bahwa jumlah tautan untuk setiap kemunculan adalah 2 (kolom kedua). Mari kita hilangkan kejadian pertama:
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
Jadi, setelah memutuskan tautan salah satu file, jumlah tautan turun menjadi 1 untuk setiap kejadian, meskipun file tersebut masih ditampilkan 3 kali. Belum ada masalah. Hapus kejadian pertama lagi:
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
Sekarang semuanya hilang. Rupanya file TopSites.plistterakhir diubah 2014-11-06 dan ditautkan pada 2014-11-13 saat beberapa file lainnya ditambahkan, diubah atau dihapus dalam Safarifolder. Selanjutnya, isi Safarifolder tidak berubah di dua cadangan berikutnya, sehingga pada 2014-11-20 dan 2014-11-27 Safarifolder tersebut sulit dihubungkan ke cadangan sebelumnya.
Memang, 4 folder hanya menggunakan 2 inode (kolom pertama):
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//