Unison - Arch Linux 中文维基

跳至內容

# Unison

出自 Arch Linux 中文维基

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

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

- 本文（或部分內容）譯自 Unison，最近一次同步於 2014-07-26，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

這篇文章或章節的翻譯質量不佳。

原因：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`；如果真的有這個必要，請在同步時確認每一處變動。在對待自動的雙向同步行為的時候,當心點。

## 參閱

- Unison (file synchronizer)
- Official website
- Yahoo! user group[失效連結 2021-05-17 ⓘ]
- Liberation through data replication[失效連結 2021-05-17 ⓘ] by Philip Guo
- Setting up Unison for your mom[失效連結 2021-11-19 ⓘ] by Philip Guo
- Replication using Unison on TWiki

分類：​

- 使用「模板:過時」標記的頁面或章節
- 網際網路應用
- 包含損壞的軟體包連結的頁面
- 包含失效連結的頁面

隱藏分類：​

- 使用「模板:糟糕的翻譯」標記的頁面或章節

Unison
新增話題