修改群晖套件的启动、停止命令
短信预约 -IT技能 免费直播动态提醒
环境:DSM6.2
问题:群晖套件起不来,想修改套件启动命令
解决办法:修改套件配置文件
背景:1.矿神套件zerotier,不能自动添加路由,有时候zerotier只能跟自己通讯
2.矿神cloudflared套件,默认使用qui2协议启动,且不能指定ipv6协议
解决过程:修改启动配置文件
文章目录
1.确认群晖套件配置文件地点:
群晖套件的目录主要有2个地方我们以cloudflare为例:
/var/packages/cloudflared/volume3/@appstore/cloudflared/
2.找到套件的启动文件:
套件可以理解为服务,他一般保存在下列地址
/var/packages/套件名字/scripts/start-stop-status比如/var/packages/cloudflared/scripts/start-stop-status
3.修改套件启动命令
在cloudflare套件的启动命令中,查找start_daemon 开头的配置文件
start_daemon (){ i=0 if [ -z "${SVC_QUIET}" ]; then if [ -z "${SVC_KEEP_LOG}" ]; then date > ${LOG_FILE} else date >> ${LOG_FILE} fi fi call_func "service_prestart" printf "%s" "$SERVICE_COMMAND" | while read -r service || [ -n "$service" ] do i=$((i + 1)) if [ -z "${SVC_QUIET}" ]; then echo "Starting ${DNAME} command ${service}" >> ${LOG_FILE} fi if [ -n "${service}" ]; then if [ -n "${SVC_NO_REDIRECT}" ]; then OUT="/dev/null"
进一步分析发现启动命令是在另一个配置文件的变量中,继续修改:
vi /var/packages/cloudflared/scripts/service-setup
发现SERVICE_COMMAND为命令直接修改即可
if [ -e $TOKEN_FILE ]; then CLOUDFLARED_TOKEN="$(cat $TOKEN_FILE)"fiSERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/cloudflared --no-autoupdate tunnel run --token ${CLOUDFLARED_TOKEN}"SVC_BACKGROUND=ySVC_WRITE_PID=y
这里我修改为IPV6协议:
cloudflared --edge-ip-version 6 --no-autoupdate tunnel
3.1 zerotier就更简单了
vi /var/packages/zerotier/scripts/start-stop-status
直接加一个脚本去判断路由有没有起来
start_daemon(){ ${SYNOPKG_PKGDEST}/bin/zerotier-one $PKGVAR -d /volume3/docker/job/zerotier.sh echo $(pidof zerotier-one) > ${ZTO_PID_FILE} log "Started ZeroTier ($(cat $ZTO_PID_FILE))"}
附上路由配置代码
EXIST=`ip route show 10.244.0.0/16 | wc -l`if [ $EXIST -eq 0 ]thenroute add -net 10.244.0.0/16 dev ztyqb2flahfi```
来源地址:https://blog.csdn.net/wangrui1573/article/details/129859078
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341