Peringatan tentang penggunaan bypass
perintah 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 file2
akan dihapus, tetapi inode untuk file1
dan file3
masih akan memiliki jumlah referensi 1 karena cadangan nanti. Karenanya, rm -R /2014-11-06
juga 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 -R
tidak 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 -R
menggunakan tmutil delete
seperti yang dijelaskan dalam jawaban Arne .
Selain itu, tampaknya unlink
perintah 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.plist
terakhir diubah 2014-11-06 dan ditautkan pada 2014-11-13 saat beberapa file lainnya ditambahkan, diubah atau dihapus dalam Safari
folder. Selanjutnya, isi Safari
folder tidak berubah di dua cadangan berikutnya, sehingga pada 2014-11-20 dan 2014-11-27 Safari
folder 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//