在 Ubuntu 18.04 上安装 Syncthing

在 Ubuntu 18.04 上安装 Syncthing 是一个简单的过程。Syncthing 提供官方的 apt 仓库,使用该仓库可以方便地安装和更新 Syncthing。

https://syncthing.net/downloads/

文章目录

  • 安装
      • [步骤 1: 添加 Syncthing 官方仓库](#步骤 1: 添加 Syncthing 官方仓库)
      • [步骤 2: 安装 Syncthing](#步骤 2: 安装 Syncthing)
      • [步骤 3: 启动并运行 Syncthing](#步骤 3: 启动并运行 Syncthing)
      • [步骤 4: 使用 Syncthing](#步骤 4: 使用 Syncthing)
      • 总结
  • 忘记密码
      • [步骤 1: 停止 Syncthing 服务](#步骤 1: 停止 Syncthing 服务)
      • [步骤 2: 编辑配置文件](#步骤 2: 编辑配置文件)
      • [步骤 3: 重新启动 Syncthing](#步骤 3: 重新启动 Syncthing)
      • [步骤 4: 重新设置密码](#步骤 4: 重新设置密码)
      • [查找 Syncthing 配置文件](#查找 Syncthing 配置文件)
      • 若配置文件仍然找不到
      • [手动重置 Syncthing 的设置](#手动重置 Syncthing 的设置)

安装

步骤 1: 添加 Syncthing 官方仓库

  1. 首先,确保系统的 apt 包管理器是最新的:

    bash 复制代码
    sudo apt update
  2. 安装必要的依赖包:

    bash 复制代码
    sudo apt install curl apt-transport-https
  3. 添加 Syncthing 的 GPG 密钥:

    bash 复制代码
    curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
  4. 将 Syncthing 的仓库添加到 apt 源列表中:

    bash 复制代码
    echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

步骤 2: 安装 Syncthing

  1. 更新系统的包列表:

    bash 复制代码
    sudo apt update
  2. 安装 Syncthing:

    bash 复制代码
    sudo apt install syncthing

步骤 3: 启动并运行 Syncthing

  1. 手动启动:

    你可以直接通过以下命令启动 Syncthing:

    bash 复制代码
    syncthing

    运行后,Syncthing 会在浏览器中启动一个 Web UI(默认地址是 http://localhost:8384),你可以通过这个界面来管理文件同步。

  2. 设置 Syncthing 开机自启:

    如果你想要 Syncthing 在系统启动时自动运行,可以创建一个 systemd 服务文件:

    bash 复制代码
    sudo systemctl enable syncthing@$USER.service

    然后启动 Syncthing:

    bash 复制代码
    sudo systemctl start syncthing@$USER.service

步骤 4: 使用 Syncthing

  • 你可以通过浏览器访问 http://localhost:8384,然后按照界面的提示添加文件夹并设置设备间的同步。

总结

通过这些步骤,你可以在 Ubuntu 18.04 上成功安装并运行 Syncthing,并使用它在多台设备之间进行文件同步。如果需要在局域网外同步数据,记得配置相关的 NAT 穿透或使用公开的 relay 服务器。

忘记密码

如果你在 Ubuntu 18 上忘记了 Syncthing Web 界面的密码,可以通过以下步骤重置它:

步骤 1: 停止 Syncthing 服务

首先,你需要停止 Syncthing 服务,以便修改其配置文件:

bash 复制代码
systemctl stop syncthing@<username>.service

或者,如果是手动启动的 Syncthing,可以直接通过以下命令停止它:

bash 复制代码
pkill syncthing

步骤 2: 编辑配置文件

Syncthing 的配置文件位于 ~/.config/syncthing/config.xml。你需要编辑这个文件来移除密码。

(如何找不到这个文件, 往下滑 | )

  1. 打开配置文件:

    bash 复制代码
    vim ~/.config/syncthing/config.xml
  2. 找到以下部分:

    xml 复制代码
    <gui enabled="true" tls="false">
        <address>127.0.0.1:8384</address>
        <user>your_username</user>
        <password>hashed_password</password>
    </gui>
  3. 将 <user> 和 <password> 字段中的内容删除(或完全删除这两个字段)。

  4. 保存并关闭文件。

步骤 3: 重新启动 Syncthing

编辑完配置文件后,重新启动 Syncthing 服务:

bash 复制代码
systemctl start syncthing@<username>.service

如果是手动启动 Syncthing:

bash 复制代码
syncthing

步骤 4: 重新设置密码

现在,你应该能够在没有密码的情况下访问 Syncthing 的 Web 界面(http://localhost:8384)。进入 Actions -> Settings -> GUI 中设置新的用户名和密码。

通过这些步骤,你可以成功重置 Syncthing 的 Web 界面密码。


如果找不到 ~/.config/syncthing/config.xml 文件,可能是由于以下几种情况:

  1. Syncthing 是以不同用户身份运行的:在不同用户下,配置文件存储在各自的主目录中。请确认是否以其他用户身份运行 Syncthing。

  2. 配置文件位置可能不同:你可以尝试查找配置文件在其他目录中的位置。Syncthing 的配置文件可能位于其他地方。

查找 Syncthing 配置文件

  1. 使用 find 命令查找 Syncthing 的配置文件:

    bash 复制代码
    find / -name "config.xml" 2>/dev/null

    这将搜索整个系统的 config.xml 文件,找出 Syncthing 配置文件的位置。

  2. 或者,检查 Syncthing 运行时的具体配置目录。可以通过以下命令获取正在运行的 Syncthing 的进程和配置路径:

    bash 复制代码
    ps aux | grep syncthing

    这将显示 Syncthing 进程的详细信息,包括配置文件路径。

若配置文件仍然找不到

如果你仍然找不到配置文件,请确认 Syncthing 是否正确安装。可以重新安装 Syncthing,确保生成默认配置文件。安装完成后再尝试上述步骤。

手动重置 Syncthing 的设置

如果你无法定位配置文件,或者配置文件丢失,你也可以通过删除或重命名 Syncthing 的整个配置文件夹来重置它。

  1. 删除(或重命名)配置目录:

    bash 复制代码
    mv ~/.config/syncthing ~/.config/syncthing_backup
  2. 重新启动 Syncthing,这将创建新的默认配置,并移除密码。


相关推荐
ajassi200036 分钟前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
‎ദ്ദിᵔ.˛.ᵔ₎41 分钟前
linux 进程信号(下)
linux·运维·服务器
skywalk81631 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
Mikko71 小时前
Linux 磁盘满了但 du 找不到?LVM 扩容 df 不变?fstab 写错开不了机?三台真机实测磁盘排查
linux·运维·centos
蓝胖的四次元口袋1 小时前
Jenkins知识梳理(2)
运维·jenkins
yumgpkpm1 小时前
Acceldata ODP 3.3.6.4 vs CDP Private Cloud Base 7.3.2 对比
大数据·运维·服务器·hadoop·华为·zookeeper·hbase
Madison-No71 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
Liuqy-051 小时前
特殊进程——孤儿、僵尸、守护进程
linux·运维·服务器
流浪0012 小时前
Linux系统篇47——线程(十二) POSIX 信号量与环形队列,把判空判满提前到访问之前
linux·操作系统·线程·信号量·环形队列
咖丨喱2 小时前
【MMC Core + hc16 Host(WiFi SDIO 如何落到控制器)】
linux