set -u TS=$(date +%Y%m%d-%H%M%S) echo "=== [1] 备份 ===" cp -a /etc/systemd/system/dshs.service.d/overlay-443fb.conf "/etc/systemd/system/dshs.service.d/overlay-443fb.conf.bak-dom-$TS" cp -a /etc/dshs.env "/etc/dshs.env.bak-seeds-$TS" ls -la "/etc/systemd/system/dshs.service.d/overlay-443fb.conf.bak-dom-$TS" "/etc/dshs.env.bak-seeds-$TS" echo "=== [2] 安装新 drop-in ===" install -m 644 /tmp/overlay-443fb.conf.new /etc/systemd/system/dshs.service.d/overlay-443fb.conf grep -n "BOOTSTRAP_SEEDS\|ADDR_OVERRIDES" /etc/systemd/system/dshs.service.d/overlay-443fb.conf echo "=== [3] 从 /etc/dshs.env 删除重复键 ===" grep -v "^DSHS_OVERLAY_BOOTSTRAP_SEEDS=" /etc/dshs.env > /tmp/dshs.env.new install -m 600 /tmp/dshs.env.new /etc/dshs.env echo "残留计数(应为 0):"; grep -c "DSHS_OVERLAY_BOOTSTRAP_SEEDS" /etc/dshs.env || true echo "=== [4] daemon-reload + restart dshs ===" systemctl daemon-reload systemctl restart dshs sleep 6 systemctl is-active dshs PID=$(systemctl show dshs -p MainPID --value) echo "=== [5] 生效环境(进程实际)===" tr '\0' '\n' < /proc/$PID/environ | grep -E "DSHS_OVERLAY_BOOTSTRAP_SEEDS|DSHS_OVERLAY_ADDR_OVERRIDES|DSHS_BASE_DOMAIN|DSHS_COOKIE_DOMAIN" echo "=== [6] 启动日志(候选链 / 地址覆盖)===" journalctl -u dshs --since @$(date -d '90 sec ago' +%s) --no-pager 2>/dev/null | grep -iE "overlay-candidates|addr-override|relay-client|registered" | tail -12