当前位置:   article > 正文

修改群晖套件的启动、停止命令

修改群晖套件的启动、停止命令

环境:DSM6.2
问题:群晖套件起不来,想修改套件启动命令
解决办法:修改套件配置文件

背景:1.矿神套件zerotier,不能自动添加路由,有时候zerotier只能跟自己通讯
2.矿神cloudflared套件,默认使用qui2协议启动,且不能指定ipv6协议

解决过程:修改启动配置文件


1.确认群晖套件配置文件地点:

群晖套件的目录主要有2个地方我们以cloudflare为例:

/var/packages/cloudflared
/volume3/@appstore/cloudflared/
  • 1
  • 2

在这里插入图片描述

2.找到套件的启动文件:

套件可以理解为服务,他一般保存在下列地址

/var/packages/套件名字/scripts/start-stop-status
比如
/var/packages/cloudflared/scripts/start-stop-status
  • 1
  • 2
  • 3

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"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

进一步分析发现启动命令是在另一个配置文件的变量中,继续修改:

vi /var/packages/cloudflared/scripts/service-setup
  • 1

发现SERVICE_COMMAND为命令直接修改即可

if [ -e $TOKEN_FILE ]; then
    CLOUDFLARED_TOKEN="$(cat $TOKEN_FILE)"
fi

SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/cloudflared --no-autoupdate tunnel run --token ${CLOUDFLARED_TOKEN}"
SVC_BACKGROUND=y
SVC_WRITE_PID=y
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

这里我修改为IPV6协议:

cloudflared  --edge-ip-version 6 --no-autoupdate tunnel
  • 1

3.1 zerotier就更简单了

 vi /var/packages/zerotier/scripts/start-stop-status
  • 1

直接加一个脚本去判断路由有没有起来

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))"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

附上路由配置代码

EXIST=`ip route show 10.244.0.0/16 | wc -l`
if [ $EXIST -eq 0 ]
then
route add -net 10.244.0.0/16 dev ztyqb2flah
fi```


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/184962?site
推荐阅读
相关标签
  

闽ICP备14008679号