#osxchat blog

2005/10/30

在 Tiger 上使用命令列作硬碟備份的兩種方法

作者: lukhnos

很久以前我寫過一篇〈利用FireWire硬碟外接盒製作可開機的備份〉的文章。因為 OS X Tiger 的出現,改變了一些事情的做法,因此在這裡做個更新。

首先還是權限設定的問題。在掛上備份硬碟後,請用 Finder 的 Get Info 將硬碟資訊打開,把 "Ignore ownership on this volume" 的選項勾掉(預設是打開的)──這一步非常、非常、非常重要!如果系統忽略掉備份碟的權限,就無法做出能開機的備份!

首先是備份工具。在 OS X 10.4 出現前,要在本機端做硬碟目錄備份,並沒有太多方便的工具列程式可選。主要問題是 OS X 的檔案系統除了一般 UNIX 的檔案資料外,還有 Mac 獨有的 "resource fork" 資料跟隨著檔案一起走。

OS X 10.4 之後,系統內建的 rsync (這同時也已經是大多數 UNIX 的標準工具)已經支援 resource fork 的拷貝。因此要將一個目錄(或整顆硬碟)備份到另一目錄(或硬碟),只需要使用以下的指令就可以了:
rsync -avxE --delete (資料來源) (目標)
但是,OS X 10.4 的 rsync 遇到某些奇怪的檔名,仍可能有備份失敗的情況。目前 Apple 仍在努力地抓 rsync 的蟲。

至於,先前提過、由日本人小飼彈(Don Kogai)撰寫的 psync ,在 Tiger 上需要手動安裝。這裡簡述安裝的重點:

  1. 請先安裝 Xcode tools

  2. 使用 cpan 程式,強迫安裝 MacOSX::File 模組(在 cpan 命令列下打 force install MacOSX::File)

  3. 請去這個網站取得修改過的 psync 主程式(這是 VersionTracker 上的 psync),將之存在 /usr/local/bin 或任何你覺得方便的目錄,並將之 chmod +x

使用 psync 備份全顆硬碟的方法為 sudo psync -d / /Volumes/(備份碟的硬碟名稱)

最後是要讓硬碟能開機。Tiger 的 "bless" 指令跟 OS X 10.3 Panther 有一些不同。根據 bless 的 man page 說明,只要使用以下指令,就可以讓你的外接硬碟能開機了。假設你的外接硬碟名叫 mybackup,請敲入:
sudo bless --folder "/Volumes/mybackup/System/Library/CoreServices" --bootinfo "/Volumes/mybackup/usr/standalone/ppc/bootx.bootinfo"
這樣,你就會有一顆可以開機的鏡射備份了。

1 篇留言:

張貼留言

? 回前頁