环境: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)"
fi
SERVICE_COMMAND="${SYNOPKG_PKGDEST}/bin/cloudflared --no-autoupdate tunnel run --token ${CLOUDFLARED_TOKEN}"
SVC_BACKGROUND=y
SVC_WRITE_PID=y
这里我修改为IPV6协议:文章来源:https://www.toymoban.com/news/detail-714414.html
cloudflared --edge-ip-version 6 --no-autoupdate tunnel
3.1 zerotier就更简单了
vi /var/packages/zerotier/scripts/start-stop-status
直接加一个脚本去判断路由有没有起来文章来源地址https://www.toymoban.com/news/detail-714414.html
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 ]
then
route add -net 10.244.0.0/16 dev ztyqb2flah
fi```
到了这里,关于修改群晖套件的启动、停止命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!