[教學] Time Machine 背後用的是什麼原理?三種檔案連結讓你知道。

大家好,我是蘋果梗,雖然寫了十餘本蘋果相關教學書籍也考過了幾張蘋果證照。但其實是連剪頭髮的錢都沒有的長髮男子。

 

TimeMachine 我覺得是世界上最簡單最無腦的備份方式,但你知道他背後是用什麼樣的檔案管理來做到他的備份模式嗎?

先簡單回顧一下,Time Machine 會幫你的電腦整台機器備份(扣除垃圾桶、快取、暫存檔、Spotlight index),然後之後每次備份的時候,就只會備份新的檔案,所以只有第一次要備份很久,之後都很快就結束。

比如說你的 Mac 是 256G 的容量用了 200G,只有第一次會備份 200G 花你一個小時,之後可能都是1G、2G 只需要備份五分鐘。所以一個 500G 的外接硬碟,可以備份你兩個月左右的時間,而不是只能備份兩次。

如果你跟我一樣很懶惰,想要找回資料的時候不會進入  Time Machine 的介面,會發現他的備份都照著時間排好,找到想要的時間點,然後依照資料夾的位置把檔案拉回即可。

好,問題來了。

如果每一次備份都只是備份新增的檔案,為什麼每個時間點進去都可以看到完整的整個系統呢?

聰明如你一定會想到,那就是替身嘛。我們平常只要對檔案按下右鍵,就可以製作一個替身,放在桌面上,快速連結到常用的資料夾等等。

▼ 的確,平常我們使用的替身(Windows叫捷徑),的確是一個很接近的答案。不過你有沒有發現,替身的資料夾上面都有一個小小的黑色箭頭,告訴你他只是一個替身。

▼ 而 TimeMachine 的資料夾中,只有最新的那一份有替身的標示。

其實,對 Mac 來說,檔案的連結共有三種,替身只不過是其中一種。但真要介紹的話篇幅太長,所以以下就簡單介紹三種的分別

1. Aliases:

就是替身,有連接性,原始檔改名或位置動了(至少要在同磁區)還是連接的到。算是最簡單的連結法,所以在右鍵選單中就可以使用。

2. Symbolic links 

只能用終端機做,原始檔動了就壞了,但佔的空間更小

3. Hard links

這個也只能使用終端機操作,這個概念比較特別,我們要把它想成是一個進入點,每個檔案都只是入口,實際指向磁碟中真實儲存的位置。而 Time Machine 就是使用這個

 

很難理解吧,我想到一個很好的比喻。

 

▼ 我們在剪輯影片的時候,有很多素材,但我們在 iMovie 計畫案中,一個素材在短片中重複出現,會因此增加磁碟使用量嗎。並不會,因為他只是顯示我們用了很多次,實際上都是指向那個原始素材。 直到匯入新的素材,才會增加使用容量。

(當然等輸出影片之後影片長度會影響容量,但這就跟這次的比喻無關了。)

 

說到這個,有沒有想到另一個概念很類似的例子呢?

蘋果在去年 10.13 的發表會 demo 上,秀了一手在 APFS 磁區中一秒複製 10G 檔案的魔法。其實就是非常接近的概念。

▼ 在蘋果的開發者手冊中,可以看到像下面的圖說。

我們使用的 Keynote 檔案都是指向 SSD 中真實儲存的磁區,當我們修改時會另外增加一個藍色的儲存位置。這樣當我們要複製時,也只不過是新增一個指向綠色位置的項目而已。所以使用容量並不會增加,當然就可以一秒複製。

 

不過,不知道是不是概念重複的原因,APFS 中已經不能使用 Hard Link,這我不清楚實際原因。

 

但你可能有注意到 Time Machine 的硬碟只能使用舊的日誌式,而不能使用 APFS 格式的硬碟來做為 Time Machine 備份碟。APFS 不能使用 Hard Link 絕對是其中一個原因。

 

所以現在你對 Time Machine 有沒有更了解了呢?你看到的檔案,全部都只是幻影旅團的輕薄假象,對應上磁碟上真實的磁區位置而已。

-------

Apple Certified Support Professional 

 

教學分類: 
Mac 教學(上方選單分類)

回應 (1)

blueberry567's 的頭像
blueberry567
says:
發表回應前,請先登入註冊

這看起來真是厲害