在Ubuntu 22.04上安装、配置和使用Syncthing的方法
本文介绍Syncthing在Ubuntu 22.04 Linux系统上的安装、配置和使用。Syncthing是一种开源的连续文件同步,用于在网络中的两台或多台计算机之间同步文件。
在Ubuntu 22.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密钥后,创建repo内容:
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)
在Ubuntu 22.04上配置Syncthing
现在我们已经安装了syncthing,让我们继续到配置部分。由于Ubuntu 18.04+附带了systemd,我们可以创建systemd单元文件来管理syncthing服务。systemd的服务文件由syncthing提供,可以在etc/linux-systemd中找到:
sudo vim /etc/systemd/system/syncthing@.service
在下面添加内容:
[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
您也可以用系统IP地址替换192.168.1.20,然后更新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
在Ubuntu 22.04上访问Syncthing UI
Syncthing管理GUI由systemd自动启动,并在https://192.168.1.20:8384/。
如果未提供-gui-address="ip:port"选项,则服务将在https://localhost:8384/。
在访问Syncthing GUI时,会警告您设置UI用户名和密码。单击设置选项卡:
然后在“GUI”部分设置管理员用户名和密码:
使用凭据集进行身份验证:
登录后,您应该看到如下界面:
如果您未能设置用户名和密码,请转到Actions > Advanced以设置用户和密码。还建议勾选仅对https连接使用TLS:
使用Syncthing在两个设备之间同步数据
为了能够使用Syncthing在两台或多台计算机之间同步数据,请确保已在所有系统上安装并配置Syncthing。设置完成后,必须向每个设备告知其他设备。
1、合成设备ID
这是通过交换“device IDs”来实现的。设备ID是唯一的、加密安全的标识符,在您第一次启动Syncthing时作为密钥生成的一部分生成。只有当两个设备都配置了彼此的设备ID时,它们才会连接并相互通话。从Actions > Show ID获取设备ID。
2、正在添加Syncthing设备ID
要让两台设备彼此通话,请单击两台设备右下方的“Add Remote Device”,然后输入另一侧的设备ID:
此外,选择要共享的文件夹。设备名称是可选的,纯粹是装饰性的。如果需要,可以稍后更改。单击保存后,新设备将显示在GUI的右侧(尽管已断开连接),并显示提示以指示需要重新启动。
注意:要共享的默认文件夹是~Sync。当您进行更改(如添加Sync目录)时,请确保在“Actions” > “Restart”上重新启动Syncthing。