| ユニゾン | |
|---|---|
![]() | |
| 開発者 | ベンジャミン・ピアースと寄稿者 |
| 初回リリース | 1998年[ 1 ] (1998年) |
| 安定版リリース | 2.53.8 [ 2 ] / 2025年11月5日 (5 November 2025) |
| リポジトリ | |
| 書かれた | OCaml |
| オペレーティング·システム | Linux、macOS、Windows |
| タイプ | 同期 |
| ライセンス | GPLv3 |
| Webサイト | github |
Unisonは、 WindowsおよびさまざまなUnix系システム(macOSおよびLinuxを含む)用のファイル同期ツールです。[ 3 ] Unisonを使用すると、ファイルとディレクトリのコレクションの2つのレプリカを異なるホスト(または同じホスト上の異なるディスク)に保存し、個別に変更した後、各レプリカの変更を他のレプリカに伝播することで最新の状態にすることができます。[ 4 ] [ 5 ] [ 6 ] [ 7 ]レプリカを直接同期する Unisonはサードパーティプロバイダーに依存しません。
Unisonの機能には、レプリケーションの両側におけるファイルの変更を処理する機能が含まれます。競合(両側で同じファイルが変更された場合)が表示され、手動で解決できます。また、変更されたファイルのバックアップを作成することもできます。Unisonは、コンピュータネットワーク(LAN、インターネット)への直接接続(ソケット)またはSSHトンネル経由の同期を可能にします。[ 8 ] rsyncアルゴリズムを使用することで、変更されたファイルブロックのみを転送する必要があるため、帯域幅を節約できます。
Unisonは、コマンドラインからパラメータを指定して呼び出すことも、プロファイルファイルから制御することもできます。[ 9 ] [ 10 ]対話的に実行することも、バッチ制御で自動的に実行することもできます。バッチモードでは、一意の変更が自動的に同期されます。レプリケーションの競合があるファイルはスキップされます。
起動後、Unisonはディレクトリまたはコンピュータごとにファイルインベントリをチェックし、ファイルのタイムスタンプを比較します。変更が検出された場合は、対応するファイルへの変更内容がより詳細に分析されます。その後、Unisonは同期の提案を含むレプリケーションリストを作成し、自動的に解決できない競合をマークします。

Unisonには、インタラクティブな使用のためのGUIバージョンがあります。WindowsとLinuxでは、一般的にGTK+ベースです。GUIバージョンでは、レプリカと提案された同期の概要をより簡単に確認できます。変更はキーボードまたはマウスで個別にマークし、まとめて適用できます。
rsync と比較すると、Unison は完全に双方向であり、最後の同期以降にファイルの両方の複製が変更された場合に、ユーザーが競合を検出して調整することができます。
バージョン 2.52 より前のバージョンでは、両方のコンピュータで同じバージョンの Unison を実行し、同じバージョンのOCamlライブラリでコンパイルする必要があったため、ユーザーにとって頻繁に面倒なことがありました。[ 11 ]このため、別のオペレーティング システムやパッケージ システムを実行している 2 台目のマシンで、任意のバージョンのソフトウェアや任意のバージョンの OCaml ライブラリでコンパイルされたソフトウェアが必要な場合でも、Debian Linux の APT システムでは、任意のバージョンのソフトウェアをインストールできないという問題がありました。この問題はバージョン 2.52 で解決されました。クライアントとサーバーの両方で、少なくともバージョン 2.52 を実行していれば、異なるバージョンの OCaml でコンパイルされた異なるバージョンの Unison を実行できます。片側がバージョン 2.48 または 2.51 を実行している場合、もう片側は 2.52 以降の任意のバージョンを実行できますが、OCaml のバージョンは一致している必要があります。[ 12 ]
Unison はSyncthingとはいくつかの点で異なります。主な違いは、Syncthing が常時接続の自動同期用に設計されているのに対し、Unison はユーザーがトリガーして監視する同期用に設計されている点です。Syncthing はピアツーピアですが、Unison はピアツーピアではありません。
{{cite web}}:欠落または空|title=(ヘルプ)