系统管理指南:打印

第 2 章 计划打印(任务)

本章提供有关使用 Solaris Print Manager 或 LP 打印服务计划打印机设置的信息。

下面列出了本章中的信息:

确定用于打印机设置和管理的方法

以下各节介绍在 Oracle Solaris 发行版中设置和管理打印机时可以选择使用的打印服务、工具和协议。每个工具、服务和协议都有优点和缺点。有些工具和服务更适合于特定用途,而其他工具和服务可用于您可能执行的所有或大多数打印任务。除非另有说明,否则以下打印工具都可用于 Oracle Solaris 10 和兼容的 Oracle Solaris 发行版。此外,所有这些打印服务和工具都使用 LDAP、NIS 和 NIS+。

选择打印工具和服务

本节介绍可用于执行打印机设置和相关任务的工具。

Oracle Solaris 发行版中提供以下工具:

Solaris Print Manager

Solaris Print Manager /usr/sbin/printmgr 是一个基于 Java 技术的 GUI,可用于对直接连接的本地和远程打印机,以及网络连接的本地和远程打印机执行设置任务。

对于直接连接的打印机和网络连接的打印机,您可以执行以下任务:

对于远程打印机,您可以使用 Solaris Print Manager 来定义对打印队列的访问权限。请注意,远程打印机是具有在本地系统以外的其他系统上定义的打印队列的打印机。有关本书中常用的术语的更多信息,请参见词汇表

lpadmin 命令

lpadmin 命令 /usr/sbin/lpadmin 是一个命令行工具,可用于执行使用 Solaris Print Manager 执行的所有任务。使用 Solaris Print Manager 无法执行的多项其他任务可以使用 lpadmin 命令来执行。有关更多信息,请参见打印机定义

PPD 文件管理器

您可以使用 PPD 文件管理器实用程序 /usr/sbin/ppdmgr 管理 Oracle Solaris 系统的 PPD 文件。PPD 文件管理实用程序是用于向系统的 PPD 文件系统信息库添加 PPD 文件的首选方法。有关更多信息,请参见第 11 章


注 –

对于打印机设置,Solaris Print Manager 工具比 lpadmin 命令使用起来更加容易和方便。在大多数情况下,这些工具提供了足够的打印机属性。但是,在使用无法使用 Solaris Print Manager 定义的打印机属性设置打印机时,您可能需要使用 lpadmin 命令。


有关设置打印机的更多信息,请参见第 4 章第 5 章

规划打印机设置和管理

规划打印机设置和管理包括以下活动:

在网络中分布打印机

在网络中设置打印机的目的就是让用户可以访问一个或多个打印机。作为管理员,您必须确定每个打印机的最佳使用方法:专用于一个系统还是可供多个系统使用。在网络环境中,将您的打印机分布在几个打印服务器上。设置几个打印服务器的优点是,当一个打印服务器出现问题时,您可以将打印请求路由到其他打印服务器。

如果您使用集中式打印配置,为了方便起见或为了改善响应速度,您仍可以将打印机连接到用户系统。连接到用户系统的打印机仍可供网络中的其他系统使用。

下图显示了一个示例,说明如何在使用集中式打印配置的情况下,仍将打印机连接到用户的系统。

图 2–1 如何在网络中分布打印机

显示包含以下设置的网络图:打印客户机、连接到打印服务器的远程打印机和以本地方式连接到打印客户机的打印机。

打印机配置资源

打印软件使用特定资源定位打印机名称和打印机配置信息。可以配置打印机软件来使用命名服务通告打印机。命名服务可用于存储网络上所有打印机的打印机配置信息。命名服务 LDAP、NIS 或 NIS+ 简化了打印机配置的维护。当您在命名服务中添加打印机时,网络上的所有打印客户机都可以访问该打印机。

命名服务转换器中的打印支持

命名服务转换器文件 /etc/nsswitch.conf 中的 printers 数据库为网络上的打印客户机提供了集中的打印机配置信息。

通过将 printers 数据库和对应的信息源包括在命名服务转换器文件中,打印客户机将自动具有访问打印机配置信息的权限,而无需将该信息添加到其自己的系统中。

files、LDAP、NIS 或 NIS+ 环境的 /etc/nsswitch.conf 文件中的缺省 printers 项在下表中描述。

命名服务类型 

缺省 printers

files

printers: user files

ldap

printers: user files ldap

nis

printers: user files nis

例如,如果您的命名服务是 NIS,则按此顺序在以下源中搜索有关打印客户机的打印机配置信息:

有关更多信息,请参见 nsswitch.conf(4) 手册页和《系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)》

将打印机信息添加到命名服务

通过将打印机信息添加到命名服务,可以使网络上的所有系统能够访问打印机。这样做可使打印机管理更容易,因为这将使有关打印机的所有信息集中在一起。

命名服务配置 

集中打印机信息的操作 

使用命名服务 

将打印机添加到 LDAP、NIS 或 NIS+ 数据库,可以使网络上的所有系统能够访问打印机。 

不使用命名服务 

添加打印机时,仅会将打印机信息添加到打印机服务器的配置文件。打印客户机不会自动获取有关打印机的信息。 

您必须将打印机信息添加到需要使用打印机的每个打印客户机。 

LDAP 打印支持指导

在 LDAP 命名服务中管理打印机信息时,请牢记以下内容:

打印软件如何查找打印机

下图突出显示了打印过程中,打印软件检查打印机配置资源的分层结构来确定打印请求发送位置的这部分过程。

图 2–2 打印客户机软件如何查找打印机

显示打印客户机软件查找打印机的步骤的图。还显示了各种打印机源。请参见以下描述。

  1. 用户通过使用 lplpr 命令从打印客户机提交打印请求。用户可以按以下三种样式之一指定目标打印机名称或打印机类:

    • 原子样式,即 lp 命令和选项后跟打印机名称或打印机类,如以下示例所示:


      % lp -d neptune filename
      
    • POSIX 样式,即打印命令和选项后跟 server: printer,如以下示例所示:


      % lpr -P galaxy:neptune filename
      
    • 基于上下文的样式,如以下示例所示:


      % lpr -d thisdept/service/printer/printer-name filename
      
  2. 打印命令按如下方式查找打印机和打印机配置信息:

    • 打印命令将检查用户是否按以上三种有效样式之一指定了目标打印机名称或打印机类。

    • 如果用户未能按有效样式指定打印机名称或打印机类,则该命令将检查用户的 PRINTERLPDEST 环境变量,以查找缺省的打印机名称。

    • 如果没有定义缺省打印机的两个环境变量中的任何一个,则该命令将检查在 /etc/nsswitch.conf 文件中为 printers 数据库配置的源。命名服务源可能是以下项之一:

      • 域的 ou=printers 容器中的 LDAP 目录信息树

      • NIS printers.conf.byname 映射

      • NIS+ printers.conf_dir 映射

分配打印服务器和打印客户机

您必须确定哪些系统将具有与其物理连接的本地打印机。您还必须确定哪些系统将使用其他系统上的打印机。连接有本地打印机且使该打印机可供网络中其他系统使用的系统称为打印服务器。将其打印请求发送到打印服务器的系统称为打印客户机

LP 打印服务软件在 Oracle Solaris OS 中提供打印服务。除了将打印机物理连接到系统外,还必须向 LP 打印服务定义打印机服务器特征。在设置打印服务器后,可以将其他系统设置为打印客户机。

打印服务器和打印客户机可以运行不同版本的 Oracle Solaris 发行版和不同版本的 UNIX 操作系统。运行 Solaris 9 发行版和兼容版本的打印客户机可以打印到运行基于 LPD 的打印服务(如 SunOS 4.1、BSD UNIX 和 Linux 发行版)的打印服务器。此外,运行基于 lpd 的打印服务的打印客户机可以打印到运行 Solaris 9 发行版和兼容版本的打印服务器。

下图显示了运行 Oracle Solaris 发行版和基于 LPD 的打印服务的系统网络上的打印配置。

图 2–3 Oracle Solaris 和基于 LPD 的系统打印配置

显示包含以下设置的网络图:BSD(基于 LPD)打印客户机和 BSD 打印服务器,以及打印客户机和打印服务器。

打印服务器的要求和建议

您可以将打印机连接到独立的系统或网络上的任何系统。只要包含打印机的任何联网系统具有足够的资源来管理打印负载,它就可以是打印服务器。

假脱机空间

假脱机空间是用于存储和处理打印队列中的请求的磁盘空间量。在决定将哪些系统指定为打印服务器时,假脱机空间是要考虑的最重要的因素。用户提交要打印的文件时,这些文件一直存储在 /var/spool/lp 目录中,直到其打印完为止。/var 目录的大小取决于磁盘的大小和磁盘分区的方式。可以在打印服务器上的 /var 目录中分配假脱机空间,或者可以从文件服务器挂载并通过网络访问它。


注 –

如果 /var 不是作为单独的文件系统创建的,则 /var 目录使用根 (/) 文件系统中的空间。在打印服务器上,根 ( /) 文件系统可能没有足够的空间。


磁盘空间

在对可能作为打印服务器的系统进行评估时,请考虑其可用磁盘空间。大的假脱机目录可能占用 600 MB 的磁盘空间。在可指定为打印服务器的系统中,评估磁盘空间的大小和分区。

此外,请仔细评估打印客户机系统的打印要求和使用模式。例如,假定一个小组中的用户通常仅打印简短的电子邮件(这些邮件是简单的 ASCII 文件,没有复杂的格式要求)。在此示例中,将 20 到 25 MB 磁盘空间分配给 /var 目录的打印服务器可能已足够。但是,如果许多打印客户机用户要打印大文档、位图或光栅图像,则这些用户很可能会经常用尽假脱机空间。用户无法对其要打印的作业进行排队时,工作流将中断。对更多假脱机空间的请求,可能会需要您添加用于假脱机的磁盘空间,或者将其他系统指定为打印服务器。

如果打印服务器的 /var 目录过小,但有较大的文件系统可用时,可以在 /var 目录上挂载这个较大的文件系统以获得附加的假脱机空间。有关挂载文件系统和编辑 vfstab 文件的信息,请参见《系统管理指南:设备和文件系统》中的“挂载文件系统”

内存要求

打印服务器不需要附加内存。但是,您可能会发现在管理打印请求时,更多的内存可提高性能。

交换空间

在打印服务器上分配的交换空间应该足以处理 LP 打印服务的要求。有关如何增加交换空间的信息,请参见《系统管理指南:设备和文件系统》中的第 21  章 “配置其他交换空间(任务)”

硬盘

为达到最佳性能,打印服务器应具有硬盘和本地 /var 目录。您应该在本地硬盘上为打印服务器挂载假脱机空间。如果打印服务器有其自己的硬盘和本地 /var 目录,则打印速度要快得多。此外,您还可以更准确地预测处理打印请求所需的时间。