Resilio Sync
関連記事
Resilio Sync (旧名: BitTorrent Sync (BTSync) は、BitTorrent ピアツーピア (P2P) プロトコルに依存する独自のファイル共有システムです。
すべてのファイルをアーカイブする中央サーバーを持たずに、デバイス自体間のピアツーピア接続を使用するため、データストレージや転送速度に制限はありません。ユーザーのデータは、ユーザーが同期することを選択したデバイスに排他的に保存されるため、オンラインになるには少なくとも 2 つのユーザーデバイス、つまり "ノード" が必要です。多くのデバイスが同時に接続されている場合、ファイルはメッシュネットワークトポロジでデバイス間で共有されます。
デバイス間のすべてのトラフィックは、一意のセッションキーを使用して、カウンターモードの AES-128 で暗号化されます。このキーは、それ自体が Base32 でエンコードされたランダムな 21 バイトのキーである 'シークレット' から派生します。'シークレット' を渡すことで、他のユーザーとファイルやフォルダーを共有できるようになります。デバイスが同期用のフォルダーを追加すると、シークレットが生成されます。今後、そのフォルダーを同期したいすべてのデバイスはシークレットキーを知っている必要があります。両方のデバイスに十分なディスク容量がある限り、同期には速度やサイズの制限はありません。
目次
インストール
rslsyncAUR は AUR からインストール可能です。パッケージには rslsync デーモンを管理するための systemd サービスが含まれています。また、デフォルトの /etc/rslsync.conf
が作成されます。systemctl を使って起動する前に、ファイルの中のログイン ID やパスワードなど、変更したい箇所を変更しておいてください。
また、'tar.gz' でパッケージングされた実行可能ファイルが 公式ウェブサイト から取得できます。以下のガイドは AUR から rslsync をインストールしていることを前提にしています。
使用方法
Resilio Sync の Linux クライアントには典型的な GUI が存在しません。代わりに、localhost:8888
からアクセス可能な WebUI サーバをセットアップします。同期フォルダは設定ファイルで静的に設定することもできますが、そうすると WebGUI が使えなくなります。
インストールしたら、~/.config/rslsync/rslsync.conf
に設定ファイルを作成する必要があります。#設定 を見てください。storage_path
ディレクトリの作成も必要です。設定が完了したら、以下のようにサービスを開始または(起動時に開始したいなら)有効化してください:
$ systemctl --user start rslsync $ systemctl --user enable rslsync
上記のコマンドは root で実行しないことに注意してください。root で実行すると D-BUS が接続を拒否するためエラーが発生します。
rslsync
システムユーザーで実行することもできます。その場合 --user
を取ってください:
# systemctl enable rslsync # systemctl start rslsync
ユーザーの設定は /etc/rslsync.conf
に、メタデータは /var/lib/rslsync/
にデフォルトで保存されます。ユーザー名とパスワードの設定は変更するようにしてください。
設定
以下のコマンドでサンプル設定ファイルを作成することができます:
# rslsync --dump-sample-config > ~/.config/rslsync/rslsync.conf
変更するべき設定は以下の通りです:
- device_name
- storage_path
- webui/login
- webui/password
設定ファイルの自動作成
btsync-autoconfigAUR パッケージには systemd のユーザーサービス (btsync-autoconfig.service
) が含まれており、有効にすると、ユーザーの btsync.service
が起動したときにデフォルト値で設定ファイルを作成します。
インストールスクリプトはデフォルトで全てのユーザーでサービスを有効化します。以下のコマンドで無効化することができます:
# systemctl --global disable btsync-autoconfig.service
以下のコマンドを使うことで特定のユーザで有効化できます:
$ systemctl --user enable btsync-autoconfig.service
btsync-autoconfig.service
は ~/.config/btsync/btsync.conf
が存在しない場合、デフォルトで作成しますが、設定のデフォルト値は以下のようになります:
- device_name:
$USER@$HOSTNAME
- storage_path:
~/.btsync
- webui/login:
$USER/password
また、スクリプトは storage_path
ディレクトリも作成します。設定ファイルの作成とは別に行われます。
トラブルシューティング
ストレージパスが見つからない
サービスを起動しても WebUI にアクセスできない場合、systemctl --user status rslsync
を実行して rslsync の状態を確認してください (システムインスタンスの場合は systemctl status rslsync
を実行)。
よくあるエラーは Storage path specified in config file does not exist.
です。mkdir ~/.rslsync
を実行するか、storage_path
の設定を変更することで簡単に解決できます。
特定のファイルやフォルダの同期を無視する
同期フォルダの特定のファイルを Resilio Sync によって追跡されないようにしたい場合、IgnoreList
を使ってください。IgnoreList
は隠しフォルダの .sync
に入っています。
IgnoreList
は UTF-8 でエンコードされた .txt ファイルで、ファイルのパスやルールを記述して同期の対象から外すことができます。IgnoreList
ファイルは1行ごとに1つのルールを指定します。無視フィルターにかかったファイルはインデックスの対象外になり Sync のメインビューの "Size" カラムにカウントされなくなります。
ワイルドカード記号の '?' や '*' を使用することができます。
IgnoreList
をフォルダに適用した場合、既に同期されたフォルダ内のファイルに効果はありません。インデックスに含まれたファイルを IgnoreList
に追加した場合、他の同期デバイスでファイルが削除されます。削除されないようにしたい場合:
- 全てのデバイスでフォルダを同期から外す。
- 全てのデバイスの
IgnoreList
ファイルを編集して同じ情報を記入する。 - 修正を加えたフォルダを再度追加する。
詳しくは Ignoring files in Sync (IgnoreList) を参照してください。
ARM アライメントエラー
/etc/tmpfiles.d/rslsync.conf
に w /proc/cpu/alignment - - - - 2
という行を追加してください (ファイルは作成する必要があります)。ただし、この設定をすると性能が劣化する可能性があります。