Ansible 角色: cups

安装 CUPS,必要的 PPD 和打印机类别
安装和配置 CUPS
- 安装
cups 和 cups-pdf
cups_lpadmin_users 中定义的账户将被添加到 lpadmin 组,以便管理 CUPS。
- 如果变量允许,安装
cups-lpd(见下文):
- 创建一个用户账户,用于运行 cups-lpd 进程。
- 安装
xinetd 以将 cups-lpd 作为服务运行。使用 cups-lpd 模板文件创建最终的 xinetd 配置。
- 配置 CUPS:
- 如果提供了 cupsd.conf、cups-browsed.conf 和 snmp.conf 的模板,将进行构建并复制。
- 如果提供了 SSL 证书,则将其复制到正确位置。
安装 PPDs
- 创建
/opt/share/ppd,CUPS 将在此查找手动复制的 PPDs。
- 添加 OpenPrinting 仓库。
- 安装 Ricoh OpenPrinting 包 -
openprinting-ppds-postscript-ricoh
- 解压安装的 PPD,因为该包是以 gzip 文件的形式安装在
/opt/OpenPrinting-Ricoh/ppds/Ricoh 中。
- 安装 HPLIP:
- 如果在
cups_ppd_files_to_be_copied 中指定,将从文件夹复制 PPDs 到 /opt/share/ppd。
安装打印机
- 首先移除任何定义为要删除的打印机。
- 安装
cups_printer_list 变量中列出的打印机,然后安装 cups_class_list 中列出的类别。
需求
- Ansible >= 2.1
- 客户机: Debian
- 客户机: Ubuntu
可能的额外任务(不在此角色责任范围内)
- 打开必要的 CUPS 端口 - 515 (LPR), 631 (IPP/IPPS), 9100 (直接 IP) 通过防火墙。
可以被覆盖或按原样使用的默认变量
CUPS 安装和配置:
cups_lpadmin_users: 必须添加到 cups 管理员 (lpadmin) 组的用户列表。默认 = root
cups_lpd: 是否安装和设置 cups-lpd - 默认 = True
cups_sysadmins_email: 用于构建 cupsd.conf 模板的邮件 - 默认 = sysadmins@ansible_fqdn
cups__debops_ferm_dependent_rules: 默认简单规则,打开防火墙的端口(515、631、9100),可以在使用 debops.ferm 角色时引用。
- /etc/xinetd.d/cups-lpd
cups_lpd_usn: 运行 cups-lpd 进程的用户名(通过 xinetd) - 默认 = cupslpd
- 可选模板:
- 这些可以作为简单文件复制,但无法访问并添加 ansible 变量。如果使用 ansible_managed、ansible_fqdn 等,就可以访问。这些模板也可以是没有变量声明的简单文本文件,将被复制。
cups_cupsd_conf_template: 用于 /etc/cups/cupsd.conf
cups_cups_browsed_conf_template: 用于 /etc/cups/cups-browsed.conf
cups_snmp_conf_template: 用于 /etc/cups/snmp.conf
PPDs 的安装和复制:
cups_ppd_files_to_be_copied: 复制所有 .ppd 文件的文件夹 - 默认 = 无
cups_hplip: 是否安装 HPLIP - 默认 = True
cups_ricoh_openprinting: 是否安装 OpenPrinting-Ricoh 驱动程序/PPDs - 默认 = True
cups_openprinting_apt_required: 这是用三元运算符定义的。根据是否安装 Ricoh 驱动程序来控制是否添加 OpenPrinting APT 密钥和仓库。可以轻松覆盖为你的值。
cups_openprinting_apt_key_id: 从下面的密钥服务器获取的 APT 密钥 ID。默认 = 24CBF5474CFD1E2F
cups_openprinting_key_server: 获取密钥的 keyserver,默认 = keyserver.ubuntu.com
cups_openprinting_repo: 要添加的 OpenPrinting 仓库 - 默认 = "deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"
打印机和类别的安装:
cups_printer_uri_prefix: 应用于 URI 的任何过滤器的 URI 前缀 - 默认 = ""
cups_printer_report_ipp_supplies: 当打印机对象没有 report_ipp_supply_levels 属性时使用该值 - 默认 = True
cups_printer_report_snmp_supplies: 当打印机对象没有 report_snmp_supply_levels 属性时使用该值 - 默认 = True
cups_printer_is_shared: 当打印机对象没有 shared 属性时使用该值 - 默认 = True
cups_class_is_shared: 当类别对象没有 shared 属性时使用该值 - 默认 = True
cups_printer_list: 包含安装所需打印机信息的哈希 列表。请查看 cups_lpadmin 模块以及 cups_printer_list 变量的使用情况。
cups_class_list: 包含安装所需类别信息的哈希 列表。请查看 cups_lpadmin 模块以及 cups_class_list 变量的使用情况。
cups_purge_all_printers_and_classes: cups_lpadmin 模块在继续之前是否应清除/删除所有打印机。
cups_printers_and_classes_to_be_removed: 你希望特定删除的打印机和类别。
与角色的操作及一般 CUPS 设置相关的变量:
cups_packages_to_install: 要安装的 CUPS 程序包。如果需要,可以覆盖为特定程序包版本 - 默认 = cups, cups-pdf
cups_xinetd_location: xinet.d 文件的位置 - 默认 = /etc/xinetd.d
cups_tmp_location: 此角色用于复制文件和运行脚本的临时位置。如不存在,将创建该位置 - 默认 = /tmp/cups-ansible
cups_admin_grp: 具有 CUPS 管理访问权限的组。添加用户(如果定义)到 CUPS 管理角色时将引用此项 - 默认 = lpadmin
cups_services: 在配置期间引用的 CUPS 服务,以便启动和停止 CUPS 服务 - 默认 = cups
cups_etc_location: CUPS 配置的 etc 位置 - 默认 = /etc/cups
cups_etc_files_perms_owner: 本角色放置在 cups_etc_location 下的文件的拥有者 - 默认 = root
cups_etc_files_perms_grp: 本角色放置在 cups_etc_location 下的文件的组成员资格 - 默认 = lp
cups_etc_files_mode: 本角色放置在 cups_etc_location 下的文件的模式 - 默认 = 0644
cups_expect_pkgs: 为本角色中不同期望脚本的无人值守安装而安装的相关期望包 - 默认 = expect, python-pexpect
cups_ppd_shared_location: PPD 可以放置的标准共享位置,CUPS 将提取 - 默认 = /opt/share/ppd
cups_ricoh_ppd_location: 安装自 OpenPrinting 的 Ricoh PPDs 的位置 - 默认 = /opt/OpenPrinting-Ricoh/ppds/Ricoh
关于项目
Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS
安装
ansible-galaxy install HP41.cups