关于debian10系统的systemctl使用若干问题

hukss 4月前 ⋅ 78 阅读

date: 2022-08-05


踩坑

事情是这么子的。

前几天在咸鱼上收了个笔记本,重装系统之后当然是对系统中的一系列东西进行相关的配置,但是最初的一些文件实在懒得一个个对拷。由此将同步工具syncthing给装上了。新笔记本装的是win10,装起来当然一点不费事,直接一步一步点下去就完事。但是老机子装的是manjaro,syncthing貌似又没有提供linux上的自启动脚本(其实是有的,只是没有自带而已)。

同步当然是要多终端同步才行。于是在OP12o上也准备装上。

Op12o的OS装的debian10。

sudo apt install syncthing

此时可以通过使用syncthing命令进行使用,但是发现并没有在后台运行,而且最难受的是syncthing貌似没有提供类似于qBittorrent的-d参数来后台运行。习惯了systemctl start xxx.service的我自然瞄上了systemd服务。

在syncthing官网文档上翻到了使用systemd的脚本。直接将脚本放在系统下的/etc/systemd/system目录下,尝试运行systemd的管理命令时出错了。经过一番检查,并对着syncthing的-h 参数将脚本改了一下

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4

[Service]
User=hukss
ExecStart=/usr/bin/syncthing -home="/home/hukss/.config/syncthing" --no-browser --no-restart --logflags=0
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target

然后参考了大神阮一峰的日志的这篇文章,将脚本放在/usr/lib/systemd/system/目录下面,也能跑起来。

不过当我尝试着将笔记本的syncthing和12o上的连接的时候,出现连接不上的问题。google了一番,应该是版本不一致,12o上的版本更旧一些,说起来debian的包管理的锅。

二话不说,继续翻文档。

最终在syncthing的这个页面找到了debian的安装指南。首先apt remove syncthing之后对照着指南一步步装下去。

# Add the release PGP keys:
sudo curl -o /usr/share/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg

# Add the "stable" channel to your APT sources:
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list

sudo apt-get update
sudo apt-get install syncthing

果然,版本号变成了最新版。运行之后成功连接!

刚才在总结的时候发现systemd的脚本存放路径跟阮大神讲的不太一样。是在/lib/systemd/system/,大概是重装了之后syncthing也自带了systemd启动脚本?不清楚。

syncthing配置文件以及命令行说明

syncthing默认配置文件的目录在~/.config/syncthing下面,其中config.xml是主要配置文件(以xml格式进行配置的见过不少,但是在linux下面用这还是第一次见,以至于差点没认出来),可以对其中进行相关的配置,比如更改127.0.0.1以允许外网管理。

启动参数-home="/path/to/your/config/file"是设置配置文件的路径。老版的直接使用-h参数即可看到相关的参数说明,新版的也可以使用man syncthing进行查看帮助。


全部评论: 0

    我有话说: