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 打印服务一键配置脚本
|
# 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
|
||||||
|
|||||||
Reference in New Issue
Block a user