rivimey.ansible_cups
Ansible角色:cups
安装CUPS,必要的PPD文件,并在CUPS上安装打印机和类别
安装和配置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证书,将复制到适当的位置。
安装PPD文件
- 创建
/opt/share/ppd
,CUPS在此查找手动复制的PPD文件。 - 添加OpenPrinting仓库。
- 安装Ricoh OpenPrinting软件包 -
openprinting-ppds-postscript-ricoh
- 还会解压安装的PPD文件,因为该软件包将它们作为gzip文件安装到
/opt/OpenPrinting-Ricoh/ppds/Ricoh
。
- 还会解压安装的PPD文件,因为该软件包将它们作为gzip文件安装到
- 安装HPLIP:
- 安装HP专有插件,使用排除脚本。
- 从
cups_ppd_files_to_be_copied
中指定的文件夹复制PPD文件到/opt/share/ppd
。
安装打印机
- 首先删除定义为要移除的任何打印机。
- 安装
cups_printer_list
变量中列出的打印机,然后安装cups_class_list
中列出的类别。- 请查看cups_printer_list和cups_class_list,了解如何在变量
cups_printer_list
和cups_class_list
中定义每台打印机和类别对象。 - 使用cups_lpadmin模块。模块内有文档和注释说明如何使用它。
- cups_lpadmin直接复制自HP41.ansible-modules-extra/system/cups_lpadmin。一旦合并到上游,将从此处移除。
- 请查看cups_printer_list和cups_class_list,了解如何在变量
需求
- Ansible >= 2.1
- 客机:Debian
- stretch
- jessie
- wheezy
- 客机:Ubuntu
- xenial
- trusty
- precise
- 客机:CentOS
- 7.4
可能的额外任务,不属于此角色的职责。
- 打开所需的CUPS端口 - 515(LPR)、631(IPP/IPPS)、9100(直接IP)通过防火墙。
- 如果想使用debops.ferm,可以使用/修改
cups__debops_ferm_dependent_rules
(在defaults中定义)以传递给debops.ferm。
- 如果想使用debops.ferm,可以使用/修改
默认变量,可以在使用此角色时覆盖或按原样使用:
CUPS安装和配置:
cups_lpadmin_users
:必须添加到cups管理(lpadmin
)组的用户列表。默认=rootcups_lpd
:是否安装和配置cups-lpd - 默认=True
cups_sysadmins_email
:将用于构建cupsd.conf模板的电子邮件 - 默认=sysadmins@ansible_fqdncups__debops_ferm_dependent_rules
:默认简单规则,用于打开防火墙的端口(515、631、9100),在使用debops.ferm角色时可以参考。- /etc/xinetd.d/cups-lpd
cups_lpd_user
:将运行cups-lpd进程(通过xinetd)的用户名 - 默认=cupslpd
- 可选模板:
- 它们可以设置为简单的文件复制,但无法访问并将ansible变量添加到其中。使用ansible_managed、ansible_fqdn等可以访问。模板还可以是没有变量声明的简单文本文件,并将被复制。
cups_cupsd_conf_template
:用于/etc/cups/cupsd.confcups_cups_browsed_conf_template
:用于/etc/cups/cups-browsed.confcups_snmp_conf_template
:用于/etc/cups/snmp.conf
PPD文件的安装和复制:
cups_ppd_files_to_be_copied
:要复制所有.ppd文件的文件夹 - 默认=Nonecups_hplip
:是否安装HPLIP - 默认=True
cups_ricoh_openprinting
:是否安装OpenPrinting-Ricoh驱动程序/PPD文件 - 默认=True
cups_openprinting_apt_required
:定义为三元值。控制是否添加OpenPrinting APT密钥和仓库,基于是否安装Ricoh驱动程序。可以轻松覆盖为您的值。cups_openprinting_apt_key_id
:从下面的密钥服务器获取的APT密钥ID。默认=24CBF5474CFD1E2Fcups_openprinting_key_server
:获取以下仓库密钥的密钥服务器 - 默认=keyserver.ubuntu.comcups_openprinting_apt_repo
:为Debian / Ubuntu添加的OpenPrinting仓库 - 默认="deb http://www.openprinting.org/download/printdriver/debian/ lsb3.2 main"cups_openprinting_yum_repo
:为RedHat / CentOS添加的OpenPrinting仓库 - 默认="http://www.openprinting.org/download/printdriver/components/lsb3.2/main/RPMS"
打印机和类别的安装:
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_group
:有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_group
:此角色在cups_etc_location
中放置的文件的组成员资格 - 默认=lp
cups_etc_files_mode
:此角色在cups_etc_location
中放置的文件的文件权限 - 默认=0644
cups_expect_packages
:用于此角色中不同期望脚本的无人值守安装的相关软件包 - Debian-默认=expect, python-pexpect
,RedHat-默认=expect, pexpect
cups_ppd_shared_location
:PPD文件可以放置的标准共享位置,CUPS将会读取 - 默认=/opt/share/ppd
cups_ricoh_ppd_location
:从OpenPrinting安装的Ricoh PPD文件的位置 - 默认=/opt/OpenPrinting-Ricoh/ppds/Ricoh
关于项目
Installs CUPS, installs necessary PPDs and installs printers and classes on CUPS
安装
ansible-galaxy install rivimey.ansible_cups
许可证
mit
下载
163
拥有者
Software engineer from Cambridge, UK. Background in C/C++ mostly working with Python, PHP code these days. Hobbies: maps, Drupal, transport history & more.