Linuxでファイルを同期するためのSyncthingの設定と使用方法
LinuxでSyncthingを使用して、複数のデバイス間でファイルを同期してください。今日から始めるためのステップバイステップガイドに従ってください。
クラウドストレージサービスの普及とリモートワークのニーズの高まりに伴い、ファイル同期ソフトウェアは近年ますます人気が高まっています。これにより、ユーザーは異なるデバイスやプラットフォーム間でファイルを自動的に同期させることができ、すべてのファイルバージョンが最新で、どこからでも簡単にアクセスできることが保証されます。
ファイル同期ソフトウェアに関して言えば、主に2つの選択肢があります:クラウドベースのサービスとセルフホステッドのソリューションです。クラウドベースのサービスは、使いやすさやアクセスのしやすさといった利点がありますが、セルフホステッドのファイル同期ソフトウェアは、いくつかの利点を提供し、特定のユーザーにとってはより魅力的な選択肢となります。
例えば、自己ホスティングのファイル同期ソフトウェアは、ユーザーが自分のハードウェアとインフラストラクチャでファイル同期のニーズを管理できるようにし、より大きな制御とカスタマイズのオプションを提供します。
言い換えれば、あなたがこのデータにアクセスできる唯一の人物であり、それを管理する決定を下すことができることを確信できます。最後に、自分でホスティングするソリューションはクラウドベースの代替案に比べてコスト削減を提供します。
Syncthing、Nextcloud、そしてSeafileは、自分でホストするファイル同期ソリューションの中で最高かつ最も人気のあるものの一部です。しかし、前述のものとは異なり、ファイルをホストするための中央サーバーに依存せず、異なるアプローチを取っています。ではまず、Syncthingとは何か、そしてそれが提供するものを見てみましょう。
Syncthingとは何ですか?
Syncthingは、Windows、Linux、macOS、Androidなど、異なるデバイスやプラットフォーム間でファイルを簡単かつ安全に同期できる強力な分散型のオープンソースファイル同期ソフトウェアです。それにより、個人や組織にとって多用途なソリューションとなります。さらに、それはピアツーピアアーキテクチャを使用しており、ファイルは中央サーバーに依存せずにデバイス間で直接同期されるため、ファイル同期のより安全でプライベートなオプションとなっています。
Syncthingのユーザーインターフェースは、ユーザーが自分のデバイスで動作しているSyncthingインスタンスを設定し管理するためのグラフィカルインターフェースを提供します。これにより、ユーザーは同期されたフォルダーの状態を確認し、同期ネットワークからデバイスを追加または削除し、高度な同期オプションを設定し、デバイス間のファイル転送を監視することができます。
UIは、ユーザーフレンドリーで直感的に設計されており、 sincronizedファイルやフォルダーを管理するのが簡単なクリーンで使いやすいインターフェイスを備えています。さらに、ウェブブラウザを介してアクセス可能なので、ユーザーはインターネット接続のある任意のデバイスからアクセスできます。このガイドでは、Syncthingインスタンスを設定してファイルを同期させる方法を説明します。それでは始めましょう!
ステップ1: LinuxにSyncthingをインストールする
SyncthingはほとんどのLinuxディストリビューションのリポジトリに利用可能で、インストールが簡単です。使用しているディストロによって、インストール方法は以下の通りです。
Ubuntu、Debian、Linux Mint、Pop!_OS、MX Linux
Ubuntu、Debian、およびそれらに基づいているすべての他のLinuxディストリビューションと、それらのソフトウェアリポジトリを使用しているものは、次のコマンドを実行する必要があります:
sudo apt install syncthingフェドラ
Fedoraを使用している場合は、次のコマンドを実行してください:
sudo dnf install syncthingロッキー・リナックス、アルマ・リナックス
Rocky Lynux、Alma Linux、その他のRHELベースのユーザーは、まずSyncthingをインストールする前にEPELリポジトリをシステムに追加する必要があります(まだ行っていない場合)。Syncthingはそのリポジトリに収められています。
sudo dnf install epel-release
sudo dnf install syncthingArch Linux、Manjaro、EndeavourOS
Archおよびその派生版のユーザーは、次のPacmanコマンドを使ってSyncthingをインストールできます。
sudo pacman -S syncthing
このガイドでは、UbuntuとFedoraを実行している2台のコンピュータ間でファイルを同期します。それでは、まず両方のマシンにSyncthingをインストールしましょう。
Ubuntuマシンで、次のコマンドを実行します:
sudo apt install syncthingそれに応じて、Fedoraマシンで以下の操作を実行します。
sudo dnf install syncthingSyncthing が私たちの Linux システムにインストールされたら、サービスが自動的に起動するようにします。
ステップ2: サービスを自動的に開始するように設定する
私たちは、Syncthingを毎回のシステム起動時に自動的に開始するように設定します。これにより、追加の介入なしでファイルがシステム間で常に同期されるという安心感を得ることができます。
これを行うには、各マシンで以下の2つのコマンドを実行します。その際、“myuser”の部分をそのシステム上のあなたのユーザー名に置き換えることを忘れないでください。
sudo systemctl enable syncthing@myuser.service
sudo systemctl start [email 次に、各マシンのサービスステータスを確認するために以下のコマンドを実行できます。出力はこのように表示される必要があります。
sudo systemctl status syncthing@myuser.serviceもちろん、再び「myuser」の部分を、あなたのシステムで有効な現在のユーザー名に置き換えるのを忘れないでください。
ステップ3:Syncthingの初期設定
両方のLinuxシステムでSyncthingが正常に動作していることを確認したら、設定を行うことができます。
Syncthingは、サービスを構成しファイルを同期するための使いやすいユーザーフレンドリーなWebインターフェースを提供します。これは、ポート8384を介してWebブラウザからアクセスできます。したがって、私たちの2つのLinuxシステムのうちの1つ、つまりUbuntuで、ブラウザを「http://localhost:8384」に向けます。
次の画面が表示され、匿名統計を送信するかどうかを選択するよう促されます。続行するには選択してください。
ここで少し脱線します。もしヘッドレスのLinuxサーバー、つまりデスクトップ環境のないサーバーにSyncthingをインストールした場合、そのサービスをどのように設定するか気になるかもしれません。しかし心配しないでください。解決策は簡単です。SSHトンネルが助けてくれます。
使用しているターミナルアプリを開き、以下のコマンドを実行します。ここで「XXXX」はリモートの「8384」ポートがマッピングされるローカルポートです。また、「myuser」をこのシステムに有効なユーザー名に、 「remote-ip-address」の部分をSyncthingサーバーのIPアドレスに置き換えてください。
ssh -L XXXX:localhost:8384 myuser@remote-ip-address例えば、コマンドはこのようになります:
ssh -L 8855:localhost:8384 linuxiac@192.168.122.26上の例では、私たちのデスクトップシステムのローカル「8855」ポートを、IPアドレス「192.168.122.26」のサーバー上のリモート「8384」ポートにマッピングします(その場合、私たちのUbuntu Syncthingインスタンス)で、Syncthingをインストールして実行しています。
ログインに成功した後、SSHトンネリングコマンドを実行した端末ウィンドウが開いたままでなければ、トンネルがアクティブな状態を維持することができないことを覚えておくことが重要です。
次に、コマンドを実行したデスクトップPCのウェブブラウザで「http://localhost:8855」に移動することができます。その結果、リモートマシンの同期管理インターフェースにアクセスできます。
しかし今、私たちのUbuntuシステムに戻ります。まず、Syncthing UIにアクセスするためのパスワードが設定されていないことを知らせるメッセージが表示されます。そのため、ベストプラクティスに従って、一つ設定しましょう。
「設定」ボタンをクリックします。次に、ポップアップウィンドウで「GUI」タブを選択し、次に「GUI 認証ユーザー」と「GUI 認証パスワード」フィールドに好みのユーザー名とパスワードを入力し、最後に「保存」で確認します。
同じ手順を2番目のSyncthingインスタンス、つまり私たちのFedoraシステムで繰り返してください。
ステップ4: 同期インスタンスの接続
では、UbuntuとFedoraの2つのインスタンスを接続しましょう。Syncthingは、各インスタンスをユニークな識別子として識別するために特別に生成されたIDを使用します。したがって、別のインスタンスに接続するためには、この識別子を知って提供する必要があります。
UbuntuとFedoraのSyncthingインスタンスを接続するには、まず2つのうちの1つ、例えばUbuntuのユニークIDを取得し、それをFedoraのSyncthingインスタンスに入力します。
右上の「アクション」ボタンを押し、メニューから「IDを表示」を選択します。
ポップアップウィンドウに表示されたコードをコピーし、別のSyncthingインスタンスであるFedoraに切り替えてください。
2回目のインスタンスでは、「リモートデバイスを追加」ボタンを選択してください。
Ubuntu Syncthing インスタンスからコピーしたコードを「デバイス ID」フィールドに貼り付け、「保存」をクリックします。
今、Ubuntu Syncthingインスタンスに戻ると、Fedoraデバイスが接続したいというメッセージが表示されているのが分かります。「デバイスを追加」ボタンをクリックして確認してください。
新しいポップアップウィンドウが開き、便宜上デバイス名を変更できます。完了したら、“保存”ボタンをクリックして追加します。
数秒後、「リモートデバイス」セクションのデバイスの状態が「接続済み」に変わるはずです。
Fedoraシステムに行くと、そこでのステータスも自動的に同じに変わっているのがわかります。
おめでとうございます!あなたの2つのリモートSyncthingインスタンスが接続されました。では、最後の部分、ファイルの同期に進みましょう。
ステップ5: Syncthingシェアの設定
既定では、Syncthingはあなたのホームディレクトリに他のSyncthingインスタンスと共有されるファイルを保存するための空のフォルダー「Sync」を作成します。もちろん、「フォルダーを追加」ボタンを使用して、必要に応じて追加のフォルダーをいくつでも追加できますが、このガイドでは既定の「Sync」フォルダーを使用します。共有および同期のメカニズムは、追加されたそれぞれのフォルダーでも同じです。
ファイルを他のSyncthingインスタンスと共有するディレクトリを設定するには、「編集」をクリックしてください。
開いたポップアップから「共有」タブを選択し、ファイルを共有/同期するSyncthingインスタンスのボックスをチェックします。私たちの場合、これは数分前に追加したFedoraシステムです。
次のステップはオプションですが、強くお勧めします。これはファイルのバージョンに関するものです。Syncthingは、同じファイルの複数のバージョンを保持できるようにします。場合によっては、これは命を救うこともあり、他のファイルと重複してしまったり、削除してしまったファイルを復元できるようにします。
このユニークな機能を利用するには、「ファイルのバージョン管理」タブを選択し、ドロップダウンメニューから「シンプルファイルバージョン管理」を選び、「バージョンを保持する」のところで「3」に設定することをお勧めします。設定が完了したら、「保存」ボタンで確認し、ウィンドウが閉じます。
このアクションは、他のSyncthingインスタンスにフォルダーを共有したいという通知を自動的に送信します。したがって、Fedoraマシンに移動すると、フォルダーの共有を確認するように求める通知が表示されます。共有ボタンをクリックするだけで、フォルダーが共有され、2つのSyncthingインスタンス間で同期されます。
ステップ6: ファイル同期のテスト
最も興奮する瞬間に来ました。私たちの努力の成果を見ます。両方のSyncthingインスタンスには空の「Sync」フォルダーがあります。それでは、Ubuntuマシンの「Sync」フォルダーにいくつかのファイルを入れましょう。
今、別のSyncthingインスタンスに移動します。私たちの場合、それはFedoraマシンです。そして、魔法が起こりました!Ubuntuシステムに追加したファイルは、Fedoraシステムの「Sync」フォルダで利用できるようになっています。
もちろん、同期は双方向に機能するため、どのインスタンスからファイルを追加、変更、または削除しても、数秒以内に他方に自動的に複製されます。
結論
Syncthingは、複数のデバイス間でファイルを同期するための強力で信頼性の高いツールです。そのオープンソースの性質と、バージョン管理や選択的同期などの高度な機能により、Syncthingは堅牢なファイル同期ソリューションを求める人々にとって素晴らしい選択肢です。
しかし、最も良い点は、SyncthingがLinuxだけに限定されていないことです。このソフトウェアは、Windows、macOS、そしてAndroidデバイスでも利用可能です。これにより、オペレーティングシステムに関係なく、常にファイルを手元に持っているための無限の選択肢が与えられます。
このガイドに示された手順に従うことで、LinuxマシンにSyncthingを迅速にセットアップし、複数のデバイス間でファイルを同期することができます。したがって、開発者であろうとビジネスオーナーであろうと、家のユーザーであろうと、Syncthingは誰にでも提供するものがあります。
もちろん、このソフトウェアはこのガイドの範囲を超える多くの他の機能を提供しています。詳細については、ぜひプロジェクトのウェブサイトを訪れるか、ドキュメントを参照することをお勧めします。
お時間をいただきありがとうございます!このガイドが役に立つことを願っています。ご意見やコメントをお待ちしております。

























