1 Commits

Author SHA1 Message Date
1faa92266e fix: 修复 apt 升级后服务需要手动重新启用的问题
All checks were successful
Build and Release Mond / build-and-test (arm64) (push) Successful in -17s
Build and Release Mond / build-and-test (amd64) (push) Successful in -19s
Build and Release Mond / release (push) Has been skipped
- 修改 prerm 脚本,升级时只停止服务不禁用
- 修改 postinst 脚本,升级后自动重启已启用的服务
- 首次安装仍保持手动启用服务的行为
2026-01-21 12:40:29 +08:00
2 changed files with 43 additions and 16 deletions

16
debian/postinst vendored
View File

@@ -24,7 +24,7 @@ chmod -R 750 /var/lib/mond
# Create configuration file if it doesn't exist # Create configuration file if it doesn't exist
if [ ! -f /var/lib/mond/params.conf ]; then if [ ! -f /var/lib/mond/params.conf ]; then
cat > /var/lib/mond/params.conf << 'EOF' cat > /var/lib/mond/params.conf << 'CONF'
# Mond Configuration File # Mond Configuration File
# This file is automatically created during installation # This file is automatically created during installation
# Edit this file to customize your Mond daemon settings # Edit this file to customize your Mond daemon settings
@@ -116,7 +116,7 @@ log-level=1
# log-file: 日志文件保存路径 # log-file: 日志文件保存路径
log-file=/var/log/mond/mond.log log-file=/var/log/mond/mond.log
EOF CONF
chown mond:mond /var/lib/mond/params.conf chown mond:mond /var/lib/mond/params.conf
chmod 640 /var/lib/mond/params.conf chmod 640 /var/lib/mond/params.conf
fi fi
@@ -125,11 +125,19 @@ fi
chown root:mond /opt/mond/mond chown root:mond /opt/mond/mond
chmod 755 /opt/mond/mond chmod 755 /opt/mond/mond
# Reload systemd # Reload systemd and handle service restart on upgrade
if [ -d /run/systemd/system ]; then if [ -d /run/systemd/system ]; then
systemctl daemon-reload systemctl daemon-reload
# Note: Service is NOT auto-enabled or auto-started # On upgrade: restart service if it was enabled
if [ "$1" = "configure" ] && [ -n "$2" ]; then
# $2 is the previously installed version (only set on upgrade)
if systemctl is-enabled --quiet mond.service 2>/dev/null; then
echo "Restarting mond service after upgrade..."
systemctl start mond.service || true
fi
fi
# Note: On fresh install, service is NOT auto-enabled or auto-started
# Users should manually enable the service: # Users should manually enable the service:
# systemctl enable mond.service # systemctl enable mond.service
# systemctl start mond.service # systemctl start mond.service

43
debian/prerm vendored
View File

@@ -1,17 +1,36 @@
#!/bin/sh #!/bin/sh
set -e set -e
# Stop and disable service if running case "$1" in
if [ -d /run/systemd/system ]; then upgrade)
if systemctl is-active --quiet mond.service; then # 升级时只停止服务,保留 enabled 状态
echo "Stopping mond service..." if [ -d /run/systemd/system ]; then
systemctl stop mond.service if systemctl is-active --quiet mond.service; then
fi echo "Stopping mond service for upgrade..."
systemctl stop mond.service
if systemctl is-enabled --quiet mond.service 2>/dev/null; then fi
echo "Disabling mond service..." fi
systemctl disable mond.service ;;
fi remove|deconfigure)
fi # 删除时停止并禁用服务
if [ -d /run/systemd/system ]; then
if systemctl is-active --quiet mond.service; then
echo "Stopping mond service..."
systemctl stop mond.service
fi
if systemctl is-enabled --quiet mond.service 2>/dev/null; then
echo "Disabling mond service..."
systemctl disable mond.service
fi
fi
;;
failed-upgrade)
# 升级失败时不做操作
;;
*)
echo "prerm called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0 exit 0