Ubuntu 22.04|20.04|18.04 に Syncthing をインストールして使用する |
Syncthing は、ネットワーク内の 2 台以上のパソコン間でファイルを同期するために使用されるオープンソースの継続的なファイル同期です。このガイドでは、Ubuntu 22.04|20.04|18.04 での Syncthing のインストールと使用方法について説明します。
以下は Syncthing の主な機能です
- cli と Syncthing-GTK を介した GUI を通じて簡単に使用できます
- データ同期は完全に自動 – インタラクションが少ない
- Syncthing はデータ損失の防止に努めます – ユーザーのファイルが破損しないようにします。
- 世界中で利用可能 – Windows と Linux の両方で実行可能
Ubuntu 22.04|20.04|18.04 への Syncthing のインストール
Syncthing パッケージは公式リポジトリで入手でき、ターミナルで次のコマンドを実行することで簡単に追加できます。まず、curl
パッケージをインストールします。
sudo apt install curl apt-transport-https
curl がインストールされたら、リポジトリの GPG キーをインポートします。
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
GPG キーが追加されたら、リポジトリ コンテンツを作成します。
echo "deb https://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list
次に、システムを更新し、syncthing
パッケージをインストールします。
sudo apt update
sudo apt install syncthing
インストールしたら、バージョンを確認します。
$ syncthing --version
syncthing v1.20.4 "Fermium Flea" (go1.18.4 linux-amd64) [email 2022-08-02 08:10:29 UTC [noupgrade]
Ubuntu 22.04|20.04|18.04 での Syncthing の構成
syncthing がインストールされたので、設定セクションに進みましょう。 Ubuntu 18.04 以降には systemd が付属しているため、systemd ユニット ファイルを作成して syncthing
サービスを管理できます。 systemd のサービス ファイルは Syncthing によって提供され、etc/linux-systemd にあります。
sudo vim /etc/systemd/system/[email
以下のコンテンツを追加します。
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
[Install]
WantedBy=multi-user.target
192.168.1.20 をシステム IP アドレスに置き換えて、Systemd サービス リストを更新することもできます。
sudo systemctl daemon-reload
次に、同期サービスを開始します。
sudo systemctl start syncthing@$USER
sudo systemctl enable syncthing@$USER
ユーザー名を明示的に指定できます。
MYUSER=""
sudo systemctl start syncthing@${MYUSER} && sudo systemctl enable syncthing@${MYUSER}
サービスのステータスを確認します。
$ systemctl status syncthing@$USER
● [email - Syncthing - Open Source Continuous File Synchronization for root
Loaded: loaded (/etc/systemd/system/syn[email ; disabled; vendor preset: enabled)
Active: active (running) since Thu 2020-07-16 19:52:42 CEST; 2min 28s ago
Docs: man:syncthing(1)
Main PID: 20161 (syncthing)
Tasks: 16 (limit: 4567)
Memory: 61.9M
CGroup: /system.slice/system-syncthing.slice/[email
├─20161 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
└─20179 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: TCP listener ([::]:22000) starting
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: Relay listener (dynamic+https://relays.syncthing.net/endpoint) starting
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: GUI and API listening on [::]:8384
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: My name is "ubuntu"
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] WARNING: Syncthing should not run as a privileged or system user. Please consider using a normal user account.
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jul 16 19:52:43 ubuntu syncthing[20161]: [QUQ7M] INFO: quic://0.0.0.0:22000 resolved external address quic://95.217.220.85:22000 (via stun.syncthing.net:3478)
Jul 16 19:52:58 ubuntu syncthing[20161]: [QUQ7M] INFO: Detected 1 NAT service
Ubuntu 22.04|20.04|18.04 での Syncthing UI へのアクセス
Syncthing 管理 GUI は systemd によって自動的に起動され、https://192.168.1.20:8384/ で利用できます。
-gui-address="ip:port"
オプションが指定されていない場合、サービスは https://localhost:8384/
で実行されます。
Syncthing GUI にアクセスすると、UI のユーザー名とパスワードを設定するように警告されます。 [設定] タブをクリックします。
次に、「GUI」セクションで管理者のユーザー名とパスワードを設定します。
認証に設定された資格情報を使用します。
ログイン後、次のようなインターフェイスが表示されます。
ユーザー名とパスワードを設定し忘れた場合は、[アクション] > [詳細設定]に移動してユーザーとパスワードを設定します。また、https 接続のみに TLS を使用するにチェックを入れることをお勧めします。
Syncthing を使用して 2 つのデバイス間でデータを同期する
Syncthing を使用して 2 台以上のコンピュータ間でデータを同期できるようにするには、すべてのシステムに Syncthing がインストールされ、構成されていることを確認してください。セットアップが完了したら、各デバイスに他のデバイスについて通知する必要があります。
シンセデバイスID
これは「デバイス ID」を交換することで実現されます。デバイス ID は、Syncthing を初めて起動するときにキー生成の一部として生成される、暗号的に安全な一意の識別子です。 2 つのデバイスは、両方が互いのデバイス ID で構成されている場合にのみ相互に接続して通信します。 [アクション] > [ID の表示] からデバイス ID を取得します。
同期デバイス ID の追加
2 つのデバイスが相互に通信できるようにするには、両方の右下にある [リモート デバイスの追加] をクリックし、相手側のデバイス ID を入力します。
また、共有するフォルダを選択します。デバイス名はオプションであり、単なる表面的なものです。必要に応じて後で変更できます。 「保存」をクリックすると、新しいデバイスが GUI の右側に表示され ( ただし切断されます)、再起動の必要性を示すプロンプトが表示されます。
注: 共有されるデフォルトのフォルダは ~Sync です。 同期ディレクトリの追加などの変更を行った場合は、[アクション] > [再起動] で Syncthing を必ず再起動してください。
参照:
- Syncthing のドキュメント
関連ガイド:
- Nextcloud を Ubuntu にインストールする
- Ubuntu で Pydio Cells ファイル サーバーをセットアップする