兩台 Mac/UNIX 間的同步
最近把家裏的一台機器,安裝 Leopard 後,我個人所有的 Mac-Like 機器,就有兩台:一台作為桌機的「小寇 (Intel Core 2 Duo)」,另外一台則是用了好幾年的「小銀 (Apple PowerBook G4)」。因為小寇的速度遠遠快於小銀,所以平時在家的時候,就以小寇為主;等到要出門去,再換用小銀。這幾天下來相安無事。
但,人總是喜歡追求進步,而進步的原動力則是來自於「懶惰」。由於小寇與小銀是兩台不相干的電腦,儲存於這兩台電腦間的資料就完全不同,這也造成我某些時候的困擾。例如,出門在外時才發現,某一個重要檔案,放在家裏的小寇上;而回到家裏時,卻在小寇上找不到下午在外面寫的稿子。
由於曾經教過 MCSE 課程,我很羨慕 Microsoft Windows 系統可以讀電腦中的資料同步到檔案伺服器上。但是 Linux 甚至 UNIX-Like 的作業系統,卻未提供這樣的能力,對於常在 Linux/Mac OS X 間周旋的我來說,的確是一種遺憾。
不過,好消息的是,由於 UNIX-Like 系統中提供了 rsync 工具,可以親手打造同步的環境。因此,我決定自己來實做同步兩台 Mac OS X 的環境。
我的想法是:
- 我的 Linux 上有一個帳號,也保存一份家目錄。
- 因為小寇是桌上型電腦,我不可能帶著小寇到處亂跑,所以,在小寇上登入系統時,自動掛載 Linux 機器上的家目錄。
- 而小銀是筆記型電腦,並不適合直接使用遠端目錄作為家目錄。因此,小銀上的家目錄,儲存於其硬碟中。
- 為了確保小銀中的家目錄內容,與小寇的家目錄內容一樣,使用 rsync 進行同步。
經過一個下午的努力,終於完成上述的環境。整個實作的步驟如下說明:
- 將 Linux 的家目錄透過 NFS 分享出來給小寇使用。以下是我的 /etc/exports 內容:
/home/cd_chen 192.168.0.0/255.255.255.0(rw,sync,insecure)
這個步驟需注意必須加上 insecure 的 exports option,否則 Mac OS X 將無法順利掛載。 - 在小寇上使用「目錄工具程式 (/Applications/Utilities/Directory Utility.app)」設定 Autofs static 掛載紀錄。這樣當我登入小寇時,便會自動掛載 Linux 的家目錄到小寇上。
- 在小銀上,利用 rsync 同步 Linux 的家目錄內容:
- 要將小銀資料同步回 Linux 家目錄時:
# rsync -avPz --delete ~/ linux:/home/cd_chen
- 要將 Linux 家目錄同步到小銀時:
# rsync -avPz --delete linux:/home/cd_chen ~/
- 要將小銀資料同步回 Linux 家目錄時:
到目前為止,這個環境除了下列兩個狀況外,並沒有太大的問題:
- 在小寇上刪除家目錄內容時,不會進入垃圾桶,而是直接刪除。這個沒有辦法,畢竟 Mac OS X 無法利用 NFS 提供 undelete 的能力。反正以後刪除檔案時小心一點就好。
- 部份的 *.pkg 檔 (Mac OS X 的安裝程式,類似 Windows 的 setup.exe) 必須先複製到本機硬碟中,才能順利執行。
如果您跟我一樣,是 Linux (或者其他 UNIX-Like) 系統與 Mac OS X 的愛用者,您可以考慮實做跟我一樣的環境。
這篇內容的 Trackback 網址:
http://cdchen.idv.tw/trackback/510
- cdchen 的 BLOG
- 如果想要發表回應,請先登入 或 註冊。