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:
@@ -3,7 +3,9 @@
|
||||
# CUPS 打印服务一键配置脚本
|
||||
# 适用于 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
|
||||
@@ -1027,5 +1029,94 @@ main() {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user