rivimey.ansible_cups

Ansible角色:cups

构建状态

安装CUPS,必要的PPD文件,并在CUPS上安装打印机和类别

安装和配置CUPS

  • 安装cupscups-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
  • 安装HPLIP:
    • 安装HP专有插件,使用排除脚本。
  • cups_ppd_files_to_be_copied中指定的文件夹复制PPD文件到/opt/share/ppd

安装打印机

  • 首先删除定义为要移除的任何打印机。
  • 安装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

默认变量,可以在使用此角色时覆盖或按原样使用:

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_user:将运行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

PPD文件的安装和复制:

  • cups_ppd_files_to_be_copied:要复制所有.ppd文件的文件夹 - 默认=None
  • cups_hplip:是否安装HPLIP - 默认=True
  • cups_ricoh_openprinting:是否安装OpenPrinting-Ricoh驱动程序/PPD文件 - 默认=True
  • cups_openprinting_apt_required:定义为三元值。控制是否添加OpenPrinting APT密钥和仓库,基于是否安装Ricoh驱动程序。可以轻松覆盖为您的值。
  • cups_openprinting_apt_key_id:从下面的密钥服务器获取的APT密钥ID。默认=24CBF5474CFD1E2F
  • cups_openprinting_key_server:获取以下仓库密钥的密钥服务器 - 默认=keyserver.ubuntu.com
  • cups_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.