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