ウェブサイト検索

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 ファイル サーバーをセットアップする

関連記事: