Unisonマニュアル - インストール
Unison のインストールは非常に簡単です.以下の手順に従うだけで,ものの数分で Unison が利用可能になるでしょう.
Unison は
- 端末やスクリプトから用いるのに適した,シンプルなコマンドラインユーザインタフェース (CUI)
- GTK を用いた洗練されたグラフィカルユーザインタフェース (GUI)
の2つのユーザインタフェース (UI) を備えています.
ファイルを同期させたい全てのマシンに Unison をインストールする必要があります.ただ,GUI を使いたい場合には実際に UI を表示するマシン (つまりクライアントとして使うマシン) にのみ GUI バージョンの Unison をインストールするだけで構いません.その場合も,サーバマシンにインストールされているのが CUI バージョンであるか GUI バージョンであるかに関係無く,きちんと動作します.
ダウンロード
もしマシンのアーキテクチャに合ったビルド済みのバイナリが手に入るなら,それをダウンロードして (コマンドラインから使うのであれば) パスの通ったディレクトリに放り込むか,(直接クリックして使いたいなら) デスクトップに置くだけでOKです.
GUI バージョンのバイナリ*1は,実際には2種類の UI を提供します.デフォルトでは GUI で,コマンドラインで
unison -ui text
を指定すると CUI で動作します. CUI バージョンのバイナリ*2は CUI のみを提供します.
アーキテクチャに合ったビルド済みバイナリが見つからないときは,自分でソースからビルドする必要があります.数は少ないですが,有志による移植版も存在します.
本当に実行可能なファイルをインストール出来たか確認しましょう.ファイルをクリックして実行してみるか,コマンドラインから
unison -version
と打ってみましょう.
Unison はいろいろな場面で使うことが出来ます.
- 同一マシン上のディレクトリ間で
- 異なるマシン間をダイレクトな TCP/IP 通信で
- 異なるマシン間を rsh や ssh 越しで
もし rsh や ssh 越しで利用することを考えているなら,rsh や ssh を別途インストールする必要があります.
アップグレード
アップグレードも簡単です.古いバイナリを新しいバージョンのバイナリに置き換えるだけです.
アップグレードの前に一度古いバイナリで完全にファイルを同期させておいた方が良いでしょう.Unison は各レプリカの状態を記憶するためにアーカイブファイルを生成しますが,新しいバージョンではそのファイルのフォーマットが変わっていることがあります.この場合,古いアーカイブファイルは単純に無視されます*3.つまり,古いバージョンで同期させずに新しいバージョンを動作させた場合,全ての更新が衝突したと判断され,手作業で同期させねばならなくなるわけです.
移植版
何人かの人が特定のアーキテクチャ向けのビルド済みのバイナリや,インストールを容易にするスクリプトを提供してくれています.私たちが管理しているわけではなく,その内容に保証はありませんし,必ずしも最新版に追随してはいませんが,きっと役に立つことでしょう.現時点で手に入るものを挙げておきます.
- Dan Pelleg が Unison を FreeBSD に移植しました.つまり ports から Unison をインストールできます. cd /usr/ports/net/unison; make && make install しましょう*4.FreeBSD 向けのバイナリは http://www.freebsd.org/cgi/ports.cgi?query=unison&stype=all からも手に入ります.
- Andrew Pitts が Linux-PPC プラットホーム向けのバイナリを作りました. ftp://ftp.cl.cam.ac.uk/papers/amp12/unison/ から手に入ります.
- Robert McQueen が Debian 向けのパッケージを管理しています.詳しくは http://packages.debian.org/testing/non-us/unison.html を参照してください.
- Chris Cocosco が SGI IRIX (6.5) 向けのバイナリを提供しています. http://www.bic.mni.mcgill.ca/users/crisco/unison.irix/ から手に入ります.
ビルド
ビルド済みのバイナリが手に入らない場合は,ソースからコンパイルする必要があります.ソースはバイナリと同じ場所から手に入ります.
基本的に,OCaml が移植され,Unix モジュールが完全に整った環境であれば Unison は動くはずです.特に様々なバージョンの Windows (98, NT, 2000) 及び Unix (Solaris, Linux, FreeBSD, MacOS X),更に 32bit 及び 64bit 環境でテストされています.
Unison は MacOS 8 及び 9 では (恐らく今後も) 動きません.
Unix
Objective Caml compiler (バージョン 3.04 以降) が必要です.オフィシャルサイトから入手可能です.Unix システムに OCaml をインストールするのは非常に簡単です*5.ソースに含まれる手引きを参照してください.バイトコードコンパイラに加えてネイティブコードコンパイラもビルドしたいと思うかも知れませんが,これは絶対必要な条件ではありません.
また,GNU make が必要です.make --version で GNU バージョンの make がインストールされていることを確認しましょう.
OCaml のインストールが終わったら,Unison のソースを入手して展開しましょう.展開してできたディレクトリに移動し
make UISTYLE=text
と打てば unison という名前で実行可能ファイルが作成されるはずです.
./unison と打って実行できるか確認しましょう.上手くいっていれば usage が表示されるはずです.
GUI バージョンをコンパイルしたい場合は,以下の2つも用意しておく必要があります.
- GTK ライブラリ
- GTK の 1.2 以降が必要です. http://www.gtk.org/ から入手できますし,多くの Unix でそのシステムに応じた方法でインストールすることもできます.
- LablGtk
- Lablgtk2 (1.3.3 で動作が確認されています) が必要です. http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgtk.html から開発版の tarball を入手し,展開しましょう*6.次に Unison をビルドしましょう.パスの設定が正しければ make UISTYLE=gtk と打つと unison という名前で実行可能ファイルが生成されます.
もしこの方法がうまくいかない場合でも心配は無用です.Unison は CUI でも十分に動作しますから.
Unison の実行可能ファイルをパスが通ったディレクトリに入れるか,ファイルのあるディレクトリにパスを通すかしましょう.
Windows
どのバージョンの Windows でも配布されているバイナリファイルは動作しますが,ソースからビルドしたいという人もいるでしょう.
バイトコードバージョン
Unison をビルドするのに,シンプルですが遅い方法はバイトコードバージョンをビルドする方法です.Windows バージョンの OCaml コンパイラの 3.04 以上をインストールしましょう.次に Unison のソースを入手して
make UISTYLE=text NATIVE=false
とタイプすることで,バイトコードをコンパイルできます.unison.exe というファイルができているはずです.
ネイティブコードバージョン
より効率的なネイティブバージョンの Unison をコンパイルするには,2つの方法があります.両方とも OCamml の 3.04 以降と Cygwin が必要です.これらの方法の違いは C コンパイラです.MS Visual C++ を用いるか Cygwin の GNU C を用いるかです.
違いは何でしょうか.
- MSVC を用いる方法でのみ,スタティックリンクされた Unison の実行可能ファイルを生成できます.
- Cygwin の GNU C を用いる方法はフリーなソフトウェアのみで実現できます.
INSTALL.win32-msvc と INSTALL.win32-cygwin-gnuc というファイルに,それぞれの方法でビルドする手順が書かれています.
インストールオプション
ソースアーカイブの中の Makefile に Unison がどのようにビルドされるかをコントロールできるスイッチが含まれています.有用ないくつかを紹介します.
- NATIVE=true で,OCaml コンパイラでバイトコードバージョンより若干速く動作するネイティブバージョンの Unison をビルドできます.配布版のバイナリではこのオプションを使っています.
- make DEBUGGING=true でデバッグシンボルを生成します.
- make STATIC=true で (ほとんど) スタティックにリンクされたバイナリを生成できます.ポータビリティのため,配布版のバイナリではこのオプションを使っています.
*1 これはファイル名に gtkui を含みます.
*2 同様にファイル名に textui を含みます.
*3 が,古いアーカイブファイルは削除はされません.つまり Unison を古いバージョンに戻せば,古いアーカイブファイルがそのまま利用可能なわけです.
*4 実行する前に ports が最新であることを確認しましょう.FreeBSD 向けにコンパイルされた最新の Unison が利用できます.
*5 クイックスタート‥‥多くのシステムでは以下のコマンドでコンパイラをインストールできます.まず make world opt,次に su で root になり,make install.
*6 クイックスタート‥‥ make configure,次に make,make opt,そして su して make install.