这段提示是 ZeroTier 安装脚本 发出的,意思是:
“二进制已装完,但脚本调用
systemd或service来启动后台服务失败了,因为你没有 PID 1 的 init(Termux、Docker、chroot 都属于这种环境)。”
在 Termux(或 proot-container)里这是正常现象,服务本来就不能用 systemd 起;手动启动即可。
手动启动(无需 root,无需 systemd)
-
找到二进制
如果你按我之前的帖子装到了
$PREFIX/opt/zerotier/zerotier-one
就继续用它;如果用的是官方脚本,默认路径是
$PREFIX/sbin/zerotier-one
(which zerotier-one可以确认) -
创建数据目录(一次即可)
mkdir -p $PREFIX/var/lib/zerotier-one
- 前台启动(方便看日志)
zerotier-one $PREFIX/var/lib/zerotier-one
看到 Starting control server... 且无 fatal 字样即可 Ctrl-C 停掉;说明程序本身正常。
- 后台常驻(推荐)
nohup zerotier-one $PREFIX/var/lib/zerotier-one >/dev/null 2>&1 &
想停服务:
pkill -f zerotier-one
- 加入网络
zerotier-one -d$PREFIX/var/lib/zerotier-one -q join <NetworkID>
返回 200 join OK 即成。
一键脚本(懒人版)
#!/data/data/com.termux/files/usr/bin/sh
export ZT_HOME=$PREFIX/var/lib/zerotier-one
mkdir -p $ZT_HOME
if ! pgrep -f zerotier-one >/dev/null; then
nohup zerotier-one $ZT_HOME >/dev/null 2>&1 &
fi
保存为 zt-start.sh,chmod +x 后每次进 Termux 执行一次即可。
总结
- “cannot start service” 不是安装失败,只是找不到 systemd。
- Termux/proot 里 手动
zerotier-one $datadir &就能正常用。 - 记得把数据目录固定,升级时直接覆盖二进制即可,配置无损。
2399

被折叠的 条评论
为什么被折叠?



