unison 設定の混乱を避けるには

Unison file synchronizerを使っていて、ちょっと嫌だと思うのは、.unionディレクトリの下がこういう具合にごちゃごちゃになることです。つまり、設定ファイルとアーカイブファイルがごちゃまぜになってしまうのです。

ぼくの場合は、.unison の実体を Dropbox でいくつかのコンピュータで共有しているためにさらにひどいことになっています。(このために UNISONLOCALHOSTNAME=dropbox としてたりします。)

長いこと、一応、これで動いていたのですが、やはり無駄が多いので、設定ファイル (*.prf) とアーカイブファイルを別のディレクトリに置けないものかとマニュアルを調べたのですが、残念ながらそういうことはできないようです。

では、仕方がないから、.union/profile.prf --> Dropbox/lib/unison/profile.prfのようなシンボリックを張りまくるのか。。。

と、思ったのですが、その前にひとつだけ試したところ、うまくいったので報告します。


Unisonの構成方法

  1. Unisonの環境変数を設定する export UNISONLOCALHOSTNAME=dropbox

  2. Unisonの設定ファイルはDropboxで共有する。(例: ~/Dropbox/lib/unison/*.prf

  3. ~/.unison/profile --> ~/Dropbox/lib/unison

このような設定にしておけば、unison profile/ssd などと実行すればDropbox上にある ssd.prf を参照できることがわかりました。この設定を施せば、

  • ~/.unison には、いくつかのアーカイブファイルと profile というシンボリックリンクがあり、これらは Dropbox 同期の対象とはならない

  • ~/Dropbox/lib/unison には設定ファイル群があり、アーカイブファイルで汚されることはない。

このコマンドが長すぎるとおっしゃる方は、シェルスクリプトやエイリアスなどで対応できるでしょう。

なお、設定ファイルで include common のようにファイル挿入を利用している場合には、include profiles/common のように修正することをお忘れずに。

コメントを残す