feat: 添加卸载功能 (--uninstall)

- 添加 --uninstall 参数支持一键卸载
- 卸载 CUPS、Avahi、CUPS-PDF 等组件
- 清理配置文件、日志、中文模板
- 添加 --help 参数显示帮助信息

用法:
  ./setup_cups.sh              # 安装
  ./setup_cups.sh --uninstall  # 卸载
  ./setup_cups.sh --help       # 帮助

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-01 00:24:59 +08:00
parent 613625fc05
commit be197ad2cb

View File

@@ -3,7 +3,9 @@
# CUPS 打印服务一键配置脚本 # CUPS 打印服务一键配置脚本
# 适用于 Armbian / Debian / Ubuntu # 适用于 Armbian / Debian / Ubuntu
# 作者: 自动生成 # 作者: 自动生成
# 用法: chmod +x setup_cups.sh && ./setup_cups.sh # 用法:
# 安装: chmod +x setup_cups.sh && ./setup_cups.sh
# 卸载: ./setup_cups.sh --uninstall
# #
set -e set -e
@@ -1027,5 +1029,94 @@ main() {
echo "" echo ""
} }
# 运行主函数 # 卸载函数
main uninstall() {
echo -e "${RED}"
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ CUPS 打印服务卸载程序 ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo -e "${NC}"
echo ""
check_root
echo -e "${YELLOW}即将卸载以下组件:${NC}"
echo " - CUPS 打印服务"
echo " - Avahi 服务 (AirPrint)"
echo " - CUPS-PDF 虚拟打印机"
echo " - 中文界面模板"
echo " - 所有打印任务和配置"
echo ""
read -p "确定要卸载吗? [y/N]: " confirm < /dev/tty
confirm=${confirm:-N}
if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
echo "已取消"
exit 0
fi
echo ""
info "开始卸载..."
# 停止服务
info "停止服务..."
systemctl stop cups 2>/dev/null || true
systemctl stop avahi-daemon 2>/dev/null || true
systemctl disable cups 2>/dev/null || true
systemctl disable avahi-daemon 2>/dev/null || true
# 卸载软件包
info "卸载软件包..."
apt remove --purge -y cups cups-common cups-client cups-bsd cups-core-drivers \
cups-daemon cups-filters cups-ipp-utils cups-pdf cups-ppdc \
avahi-daemon 2>/dev/null || true
# 删除配置和数据
info "删除配置和数据..."
rm -rf /etc/cups
rm -rf /var/spool/cups
rm -rf /var/spool/cups-pdf
rm -rf /var/log/cups
rm -rf /usr/share/cups/templates-zh_CN
rm -rf /usr/share/cups/templates-zh
rm -rf /usr/share/cups/templates-en-backup
# 清理依赖
info "清理依赖..."
apt autoremove -y 2>/dev/null || true
echo ""
echo -e "${GREEN}╔══════════════════════════════════════════════════════════╗${NC}"
echo -e "${GREEN}║ 卸载完成! ║${NC}"
echo -e "${GREEN}╚══════════════════════════════════════════════════════════╝${NC}"
echo ""
}
# 显示帮助
show_help() {
echo "CUPS 打印服务一键配置脚本"
echo ""
echo "用法:"
echo " $0 安装 CUPS 打印服务"
echo " $0 --uninstall 卸载 CUPS 打印服务"
echo " $0 --help 显示此帮助信息"
echo ""
}
# 解析参数并运行
case "${1:-}" in
--uninstall|-u)
uninstall
;;
--help|-h)
show_help
;;
"")
main
;;
*)
echo "未知参数: $1"
show_help
exit 1
;;
esac