คำเตือนเกี่ยวกับการใช้bypass
คำสั่งเพื่อลบการสำรองข้อมูลเก่า: หากการสำรองข้อมูลที่ถูกลบมีโฟลเดอร์ที่เหมือนกันในการสำรองข้อมูลก่อนหน้านี้หรือหลังจากนั้นไฟล์อาจถูกลบออกจากการสำรองข้อมูลก่อนหน้าหรือภายหลัง !
Time Machine ไม่เพียง แต่ใช้ฮาร์ดลิงก์สำหรับไฟล์ที่ไม่เปลี่ยนแปลง แต่ยังใช้ฮาร์ดลิงก์สำหรับโฟลเดอร์ที่ไม่มีไฟล์ถูกเพิ่มเปลี่ยนแปลงหรือลบเลย ผลลัพธ์เป็นดังนี้:
/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/
ด้วยการข้างต้นการลบไฟล์ใด ๆ จาก/2014-11-06/folder/
เป็นเรื่องปกติและมีผลกับการสำรองข้อมูลสำหรับวันที่เท่านั้น จำนวนการอ้างอิงฮาร์ดลิงก์จะลดลงดังนั้น " inode " สำหรับfile2
จะถูกลบ แต่ inodes สำหรับfile1
และfile3
จะยังคงมีจำนวนการอ้างอิง 1 เนื่องจากการสำรองข้อมูลในภายหลัง ดังนั้น rm -R /2014-11-06
ก็ดีเหมือนกัน
อย่างไรก็ตามการลบไฟล์ใด ๆ จากทั้ง/2014-11-13/folder/
, /2014-11-20/folder/
หรือ/2014-11-27/folder/
มีประสิทธิภาพจะลบออกจากทุกคนที่ 3 โฟลเดอร์
ปัญหาคือrm -R
ไม่สนใจโฟลเดอร์ที่เชื่อมโยงอย่างหนัก มันจะเรียกใช้ซ้ำลงในโฟลเดอร์ที่มีการเชื่อมโยงอย่างหนักที่พบลบไฟล์ทั้งหมดอย่างกล้าหาญแล้วลบโฟลเดอร์ว่างออก
ดังนั้น: เมื่อลบสำเนาสำรองอันเก่าแล้วไม่ควรนำไปคืนในโฟลเดอร์ฮาร์ดลิงก์และลบเนื้อหา แต่เพียงคนเดียวที่ควรเอาลิงค์ยากสำหรับโฟลเดอร์ของตัวเอง ดังนั้นแทนที่จะrm -R
ใช้tmutil delete
ตามที่อธิบายไว้ในคำตอบของอาร์เน่
เช่นกันดูเหมือนว่า OS X unlink
คำสั่งไม่สามารถใช้ในโฟลเดอร์ : "เพียงหนึ่งอาร์กิวเมนต์ซึ่งจะต้องไม่ไดเรกทอรีอาจจะจัด" ระบบปฏิบัติการ X API สามารถลบโฟลเดอร์ที่ยากต่อการเชื่อมโยงและเพื่อให้สามารถGNU coreutilsเช่นติดตั้งโดยใช้Homebrew
ในที่สุดเพื่อพิสูจน์ทั้งหมดข้างต้นกรณีทดสอบ (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
โปรดทราบว่าจำนวนลิงก์สำหรับการเกิดแต่ละครั้งคือ 2 (คอลัมน์ที่สอง) ลองลบการเกิดขึ้นครั้งแรก:
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
ดังนั้นหลังจากยกเลิกการลิงก์ไฟล์หนึ่งไฟล์จำนวนลิงก์ที่ลดลงไปที่ 1 สำหรับการเกิดแต่ละครั้งแม้ว่าไฟล์จะยังคงแสดงอยู่ 3 ครั้ง ยังไม่มีปัญหา ลบเหตุการณ์แรกอีกครั้ง:
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
ตอนนี้ทุกอย่างหายไป เห็นได้ชัดว่าไฟล์TopSites.plist
นั้นมีการเปลี่ยนแปลงครั้งล่าสุด 2014-11-06 และฮาร์ดลิงก์ใน 2014-11-13 จากนั้นไฟล์อื่น ๆ บางส่วนถูกเพิ่มเปลี่ยนแปลงหรือลบออกในSafari
โฟลเดอร์ ถัดไปเนื้อหาของSafari
โฟลเดอร์ไม่ได้เปลี่ยนแปลงในการสำรองข้อมูลสองรายการถัดไปดังนั้นในวันที่ 2014-11-20 และ 2014-11-27 Safari
โฟลเดอร์นั้นเชื่อมโยงกับการสำรองข้อมูลก่อนหน้าอย่างหนัก
อันที่จริง 4 โฟลเดอร์ใช้ 2 ไอโหนดเท่านั้น (คอลัมน์แรก):
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//