Unison

出自 Arch Linux 中文维基

本文內容或本節內容已經過期。

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:Unison討論)

這篇文章或章節的翻譯不反映原文。

原因:Last updated in 2014(在 Talk:Unison# 中討論)

Unison是一款可以在類UNIX作業系統(包括 Linux, Mac OS X, 和Solaris) 和Windows 環境下運行的雙向文件同步工具。他可以把一個文件或目錄的兩個備份分別儲存在兩個不同的主機(或同一個主機的不同的磁盤上),分別修改,並且通過把雙方的改變傳遞到對方來完成同步。同時,他也不限制哪一方做主機。

安裝[編輯 | 編輯原始碼]

請從official repositories 安裝 unison, 那裏有提供 CLI, GTK+ 和 GTK+ 2.0 接口. 如果有線下文檔需求的話,請從 AUR 安裝 unison-docAUR[損壞的連結:package not found].

配置[編輯 | 編輯原始碼]

為了使用Unison,你需要創建一份配置文件.

GUI[編輯 | 編輯原始碼]

如果想在GUI環境下配置的話 請運行:

$ unison-gtk2

手動操作[編輯 | 編輯原始碼]

或者,在~/.unison裡手動創建配置文件,並且將接下來的幾行加入到默認配置文件~/.unison/profilename.prf裡。

為被同步文件定義根目錄

root=/home/user/

定義一個遠程目錄,文件將被同步到那裏

root=ssh://example.com//path/to/server/storags

SSH提供參數(可選)

sshargs=-p 4000

定義同步哪些文件和目錄:

# dirs
path=Documents
path=Photos
path=Study
# files
path=.bashrc
path=.vimrc

你還可以定義無視哪些文件:

ignore=Name temp.*
ignore=Name .*~
ignore=Name *.tmp
注意: 如若需要更多諮詢請看 User Manual and Reference Guide中的 Sample profiles

使用[編輯 | 編輯原始碼]

設定好配置文件以後就可以開始同步了:

$ unison profilename

如果你選擇使用GUI工具的話就這麼幹:

$ unison-gtk2

然後選擇配置文件。Unison的界面很贊,你可以看到變動和進度。

版本不兼容性[編輯 | 編輯原始碼]

如果你希望Unison能正常工作的話,請確保每一個客户端上安裝的版本都是一樣的。舉個例子,如果一套電腦上安裝了2.40版本而另外一台上安裝的是2.32,那他們就沒法互相同步了。這對於所有全部一切你希望進行同步作業的計算機都適用。

由於Linux發行版數目眾多,Unison的release錯綜複雜,所以你很有可能會陷入老版本的泥潭。Arch Linux在上游的Extra repository裡提供有最新版本的Unison。同時在 AUR 有非官方的 2.32版本 (unison-232AUR[損壞的連結:package not found])和 2.27版本(unison-227AUR[損壞的連結:package not found]) 的 PKGBUILD,這樣各種發行版的用户們都可以在他們的系統上愉快的使用Unison啦

提醒與小技巧[編輯 | 編輯原始碼]

人生苦短,少敲鍵盤[編輯 | 編輯原始碼]

如果哪位在一個有能力維持一個合適的scrollback buffer的VDT環境下運行Unison的話,他就沒有確認每一個無衝突改變的必要了;設定 auto 為 true 來避開這些提示。

常規配置文件同步[編輯 | 編輯原始碼]

在同步那些在不同的系統(比如伺服器,工作站,筆記本,智能手機)但卻含有通用構造(比如鍵盤映射,基本shell同義名)的配置文件(比如針對本地程序,對安全性敏感的配置)時,最好把這些內容放到分散的配置文件中(比如.bashrc_common)並且只對他們進行同步。

警吿: 通過讓被同步方(甚至也許還包括其他與被同步方同步的機器)的配置文件接受惡意的篡改,配置文件的雙向同步可能會打開一條入侵的光明大道。這對於對手來説很有吸引力,尤其是在比如公共shell伺服器vs個人工作站這樣雙方"實力懸殊"的情況下,因為要瓦解一個安全等級更低的系統看起來真不是什麼難事。你並不需要在兩台特定的機器間進行雙向同步時一直使用noupdate;如果真的有這個必要,請在同步時確認每一處變動。在對待自動的雙向同步行為的時候,當心點。

參閱[編輯 | 編輯原始碼]