前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >树莓派折腾记:安装和配置Syncthing

树莓派折腾记:安装和配置Syncthing

作者头像
美丽应用
发布2018-07-20 13:56:47
2.6K0
发布2018-07-20 13:56:47
举报
文章被收录于专栏:美丽应用美丽应用

文章更新:

  20170606 初次成文

问题提出:

  在之前的文章中:

FolderSync:文件夹同步&备份利器

  小苏介绍过使用FolderSync在设备间同步文件的方法,同样的,FolderSync也适用于树莓派,比如你可以采用FTP方式或者SFTP方式在树莓派和局域网设备之间同步文件。但这两种方式有一个最大的缺点,就是"速度慢"。在一般情况下,在局域网中使用FTP或者SFTP的传输方式只能达到3m/s左右的速度(树莓派的网口为100Mbps),因此FTP/SFTP方式显然不能满足我们对于文件同步的需求,所以,我们需要一种更快的的方式来完成树莓派与各设备间的文件同步工作,Syncthing就是方案之一,使用Syncthing在局域网各设备之间同步文件,可以达到6m/s的速度。

解决方案:

  Syncthing是一个跨平台,开源且免费的基于P2P的文件同步解决方案,支持Windows,Mac,Linux,Android。有些遗憾的是,目前Syncthing暂不支持iOS平台。

  Github项目: https://github.com/syncthing/syncthing   Release页面: https://github.com/syncthing/syncthing/releases

  接下来小苏为大家介绍一下如何在树莓派上安装和启用Syncthing:

  因为树莓派的CPU是ARM架构,所以我们需要在Release页面获取到编译好的且适用于ARM架构的程序文件压缩包地址:

  进入Release页面,找到文件名形如syncthing-linux-arm-xxxxx.tar.gz的最新版本("xxxxx"代表版本号),并获取该版本对应的链接。

  例如截至发稿前,Syncthing的最新版本为v0.14.30-rc.1,在Release页面内,ARM架构的程序文件压缩包名称为syncthing-linux-arm-v0.14.30-rc.1.tar.gz,所以我们可以得到此压缩包的下载地址为:https://github.com/syncthing/syncthing/releases/download/v0.14.30-rc.1/syncthing-linux-arm-v0.14.30-rc.1.tar.gz

  获取到下载链接后,登录树莓派的SSH,因为官方不推荐以Root用户运行Syncthing,所以以下内容在pi用户下操作(命令中未提到sudo则无需加sudo)。

cd ~ #定位到pi用户的家目录 wget https://github.com/syncthing/syncthing/releases/download/v0.14.30-rc.1/syncthing-linux-arm-v0.14.30-rc.1.tar.gz #下载二进制文件压缩包至pi用户家目录 tar -zxvf syncthing-linux-arm-v0.14.30-rc.1.tar.gz #解压下载好的压缩包

  解压完成后,执行ls命令,我们会发现从压缩文档中解压出了一个名为syncthing-linux-arm-v0.14.30-rc.1的目录,为了方便以后的操作,我们将此文件夹重命名为:.syncthing:

mv syncthing-linux-arm-v0.14.30-rc.1 .syncthing #重命名文件夹为 cd .syncthing chmod +x syncthing #将Syncthing的程序文件赋予可执行权限

  接着,我们执行程序尝试启动Syncthing服务(./syncthing文件夹下的syncthing文件为Syncthing的程序文件):

~/.syncthing/syncthing

  此时程序将在屏幕上输出一些信息,比如程序监听的端口,WEB页面的地址等等。等待程序无输出后,不要执行任何操作,使用同一局域网下其他设备的浏览器访问"http://树莓派的在局域网中的IP地址:8384"查看是否能成功打开Syncthing的WEBUI(网页管理界面)。若不能正常打开,则进入下一步,如果可以成功打开,下一步可以忽略。不论是否能打开,测试完毕后,我们先使用"Ctrl+C"终止Syncthing程序。

  若未能打开树莓派的WEBUI,我们需要对Syncthing的配置文件做出一些修改:

vim ~/.config/syncthing/config.xml #编辑Syncthing的配置文件

  在config.xml中,我们可以找到以下代码:

代码语言:javascript
复制
<address>127.0.0.1:8384</address>

  其中,我们需要将127.0.0.1修改为0.0.0.0,如果你想要自定义Syncthing的WEBUI端口,可以将8384修改为其他端口如7777

  修改完的结果如下(将WEBUI端口修改为"7777",因为好记):

代码语言:javascript
复制
<address>0.0.0.0:7777</address>

  修改完毕后,保存文件,并且再次尝试启动Syncthing服务:

~/.syncthing/syncthing

  这时使用同一局域网下其他设备的浏览器访问"http://树莓派的在局域网中的IP地址:7777"应该可以打开Syncthing的WEBUI了。

  使用这种方法启动Syncthing时,需要一直保持SSH连接,一旦使用"Ctrl+C"结束Syncthing进程或是退出终端,Syncthing的服务就会停止。如果你想让Syncthing在退出终端后也保持在后台运行,可以执行以下命令:

(~/.syncthing/syncthing &) #记得把加上括号执行哦~

参考资料:

使用SYNCTHING在树莓派上替代BT SYNC - 无聊小博

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章更新:
  • 问题提出:
  • 解决方案:
  • 参考资料:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档