在(龙芯 3A6000)loongnix下编译syncthing

在loongnix下编译syncthing

Syncthing(https://syncthing.net/) 是一个开源的 P2P 文件同步工具,可用于在多个设备(包括 Android 手机)之间同步文件。
– Ankush Das(作者)。因为工作资料保存需要,一直通过syncthing将工作用机与后台NAS进行备份。

syncthing是由go语言开发完成,也有相应的for loong64版本下载(syncthing-linux-loong64-v1.27.3-rc.2.tar.gz),但因为loongnix是旧世界,所以并不能下载下来直接使用。

解决方法其实也很简单:在旧世界安装go支持环境,然后编译syncthing源码

  • 在旧世界安装go 环境
    具体参考龙芯官网
    (http://docs.loongnix.cn/golang/install.html)

从下载页面下载对应平台安装文件和对应的sha5文件
LoongArch64安装文件: go1.19.linux-loong64.tar.gz
SHA256SUM检验文件 : go1.19.linux-loong64.sha256
校验下载文件的sha256

执行命令: sha256sum -c go1.19.linux-loong64.sha256
正确结果: go1.19.linux-loong64.tar.gz: 成功
移除已安装的Go (放在/usr/local目录下为例)

rm -rf /usr/local/go
解压缩下载的tar包到/usr/local目录

$sudo tar vxf go1.19.linux-loong64.tar.gz -C /usr/local/

把/usr/local/go/bin目录加入PATH环境变量

export PATH=$PATH:/usr/local/go/bin
检查安装结果

执行命令: go version
正确结果: go version go1.19 linux/loong64

因为syncthing对于go语言版本的要求,此次我安装的为go 1.21.5,另外我这边机器为shell为zsh,所以在.zshrc加上
export PATH=$PATH:/usr/local/go/bin

  • 编译syncthing
  1. 下载源代码,下载的为syncthing-1.24.0
  2. 因为编译要下载各类github下小组件,将GOPROXY改为能用的

`go env -w GOPROXY=https://goproxy.io,direct
go env -w GO111MODULE=on`
3. tar vxf syncthing-1.24.0.tar.gz
cd sycnthing-1.24.0
3. tar vxf syncthing-1.24.0.tar.gz
cd sycnthing-1.24.0
3. tar vxf syncthing-1.24.0.tar.gz
cd sycnthing-1.24.0
bash build.sh
编译完成后
cd bin
sudo mv * /usr/bin/
  1. 添加快捷方式

syncthing-start.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Start Syncthing
GenericName=File synchronization
Comment=Starts the main syncthing process in the background.
Exec=/usr/bin/syncthing serve --no-browser --logfile=default
Icon=/usr/share/images/desktop-base/syncthing-gtk-icon.png
Terminal=false
Type=Application
Keywords=synchronization;daemon;
Categories=Network;FileTransfer;P2P

syncthing-ui.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Syncthing Web UI
GenericName=File synchronization UI
Comment=Opens Syncthing's Web UI in the default browser (Syncthing must already be started).
Exec=/usr/bin/syncthing -browser-only
Icon=/usr/share/images/desktop-base/syncthing-gtk-icon.png
Terminal=false
Type=Application
Keywords=synchronization;interface;
Categories=Network;FileTransfer;P2P

cp *.desktop /usr/share/applications/ cp *.dekstop /home/user/桌面

你可能感兴趣的:(FreeBSD,LInux,龙芯)