Unison 是同步化和傳輸整個目錄樹狀結構的最佳解決方案。同步化是以雙向執行,而且可以透過直覺式圖形前端程式來控制。也可以使用主控台版本。同步化也可以自動化,因此不需要與使用者互動,但是經驗是必要的。
Unison 必須安裝在用戶端以及伺服器上。在此環境中,伺服器 一詞是指第二部遠端主機 (與 CVS 不同,詳述於 節 47.1.2, "CVS")。
在下一小節中,Unison 是與 ssh 一起使用。在此例中,必須在用戶端上安裝 SSH 用戶端,並在伺服器上安裝 SSH 伺服器。
Unison 所使用的方法是兩個目錄 (roots) 彼此互相關聯。此關聯是象徵性的 它不是線上的連線。以此為例,目錄配置如下列所示:
用戶端: |
|
伺服器: |
|
您想要同步化這兩個目錄。使用者在用戶端上的身份為 tux,在伺服器上的身份為 geeko。第一件要做的事就是測試用戶端與伺服器之間的通訊是否可運作:
unison -testserver /home/tux/dir1 ssh://geeko@server//homes/geeko/dir2
最常遭遇的問題為:
在用戶端與伺服器上使用的 Unison 版本是不相容的。
伺服器並不允許 SSH 連線。
兩個指定的路徑都不存在。
如果每個項目都可以運作,請省略 -testserver 選項。在第一次同步化期間,Unison 並不知道兩個目錄之間的關係,並且會針對個別檔案與目錄的傳輸方向送出建議。在 資料欄中的箭頭會指出傳輸的方向。問號表示 Unison 無法建議傳輸方向,因為兩個版本都已經變更或者是新的版本。
方向鍵可以用來設定個別項目的傳輸方向。如果所有顯示項目的傳輸方向都正確,則只要按一下 。
若要控制 Unison 的特性 (例如,對於沒有衝突錯誤的檔案是否要自動執行同步化),可以在啟動該程式時,利用指定的指令行參數來控制。使用 unison --help 可檢視所有參數的完整清單。
範例 47.1. ~/.unison/example.prefs 檔案
root=/home/tux/dir1 root=ssh://wilber@server//homes/wilber/dir2 batch=true
使用者目錄 ~/.unison 會為每一組同步化資料保留一個同步化日誌。組態集合,像是 ~/.unison/example.prefs,也可以儲存在此目錄中。若要啟動同步化,請依照 unison example.prefs 中所示,將此檔案指定為指令行參數。
Unison 的官方文件特別有用。因此,本小節只提供簡短的介紹。完整的手冊可在 http://www.cis.upenn.edu/~bcpierce/unison/ 中以及在 SUSE 套件 unison 中找到。