环境:DSM6.2 问题:群晖套件起不来,想修改套件启动命令 解决办法:修改套件配置文件 背景:1.矿神套件zerotier,不能自动添加路由,有时候zerotier只能跟自己通讯 2.矿神
环境:DSM6.2
问题:群晖套件起不来,想修改套件启动命令
解决办法:修改套件配置文件
背景:1.矿神套件zerotier,不能自动添加路由,有时候zerotier只能跟自己通讯
2.矿神cloudflared套件,默认使用qui2协议启动,且不能指定ipv6协议
解决过程:修改启动配置文件
群晖套件的目录主要有2个地方我们以cloudflare为例:
/var/packages/cloudflared/volume3/@appstore/cloudflared/
套件可以理解为服务,他一般保存在下列地址
/var/packages/套件名字/scripts/start-stop-status比如/var/packages/cloudflared/scripts/start-stop-status
在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
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
--结束END--
本文标题: 修改群晖套件的启动、停止命令
本文链接: https://lsjlt.com/news/424069.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0