uninstall.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. # ========================================
  3. # DHCP & DNS 管理器 - Linux 卸载脚本
  4. # ========================================
  5. set -e
  6. INSTALL_DIR="/opt/dhcp-dns-manager"
  7. SERVICE_NAME="dhcp-dns-manager"
  8. echo "⚠️ 警告:这将卸载 DHCP & DNS 管理器"
  9. echo ""
  10. read -p "是否继续?(y/N): " confirm
  11. if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
  12. echo "已取消"
  13. exit 0
  14. fi
  15. # 停止服务
  16. echo "🛑 停止服务..."
  17. systemctl stop $SERVICE_NAME || true
  18. systemctl disable $SERVICE_NAME || true
  19. # 删除 systemd 服务
  20. echo "🗑️ 删除 systemd 服务..."
  21. rm -f /etc/systemd/system/$SERVICE_NAME.service
  22. systemctl daemon-reload
  23. # 删除安装目录
  24. echo "🗑️ 删除安装目录..."
  25. rm -rf $INSTALL_DIR
  26. # 删除防火墙规则
  27. echo "🔥 清理防火墙规则..."
  28. if command -v ufw &> /dev/null; then
  29. ufw delete allow 53/udp || true
  30. ufw delete allow 67/udp || true
  31. ufw delete allow 8080/tcp || true
  32. elif command -v firewall-cmd &> /dev/null; then
  33. firewall-cmd --permanent --remove-port=53/udp || true
  34. firewall-cmd --permanent --remove-port=67/udp || true
  35. firewall-cmd --permanent --remove-port=8080/tcp || true
  36. firewall-cmd --reload || true
  37. fi
  38. echo ""
  39. echo "✅ 卸载完成!"
  40. echo ""
  41. echo "注意:数据库文件已删除,如需保留请提前备份:"
  42. echo " $INSTALL_DIR/data/dhcp-dns.db"
  43. echo ""