本节包含有关管理 PPD 文件的参考信息。
使用 ppdmgr 实用程序将 PPD 文件添加到系统时,指定的 PPD 文件的压缩(采用 gzip)副本将存储在系统中。其目的是维护系统上所有已知 PPD 文件中的 PPD 文件信息的当前高速缓存。
复制到系统的 PPD 文件的完整路径如下:
repository/label/manufacturer/ppd-file-name |
是指定的系统信息库。如果没有使用 -R 选项指定系统信息库,则缺省系统信息库为用户系统信息库 /var/lp/ppd/。
是指定的标签。如果没有使用 -L 选项指定标签,则缺省标签为 user 系统信息库中的 user。
是 PPD 文件中包含的制造商的名称。此名称可能会根据 /var/lp/ppd/manufaliases 文件中定义的制造商别名进行修改。请参见生产商别名文件。
与使用 ppdmgr 实用程序指定的原始 PPD 文件名相同。如果压缩了 PPD 文件,则此文件还可以包含 .gz 扩展名。
下图显示了典型 PPD 文件系统信息库的布局以及 ppdmgr 实用程序目录布局(其中包含 ppdmgr 提供和生成的所有相关文件,包括 PPD user 文件系统信息库)。
下表介绍了位于系统中的 PPD 文件系统信息库。
表 12–12 PPD 文件系统信息库的说明
系统信息库 |
位置 |
内容 |
用于添加或修改的方法 |
---|---|---|---|
admin |
/usr/local/share/ppd/ |
此 PPD 文件系统信息库用于存储由系统管理员使用的 PPD 文件。 |
可以使用 ppdmgr 实用程序或 pkgadd 命令将 PPD 文件手动添加到此系统信息库中。 |
all |
表示系统上的所有 PPD 系统信息库 |
此系统信息库表示系统上所有受支持的 PPD 系统信息库位置。 |
请求使用 ppdmgr 实用程序更新或重新生成 PPD 高速缓存文件时,只能指定 all 系统信息库。 |
system |
/usr/share/ppd/ |
此系统信息库包含随 Oracle Solaris 一同提供的 PPD 文件。 |
可以使用 pkgadd 和 patchadd 命令将 Oracle 提供的 PPD 文件添加到 system 系统信息库中。 不应手动或使用 ppdmgr 实用程序来修改此系统信息库中的 PPD 文件。如果手动修改此系统信息库,则所做的更改可能会丢失。 |
user |
/var/lp/ppd |
此系统信息库由管理员和具备适当权限(打印机管理)的用户按照需要使用。 |
除非另行指定,否则使用带 -a 选项的 ppdmgr 命令添加到系统的 PPD 文件将被添加到该系统信息库。 |
vendor |
/opt/share/ppd/ |
此系统信息库是用于存储由供应商提供给 Oracle Solaris 的 PPD 文件的中央位置。 |
可以使用 pkgadd 命令将 PPD 文件添加到此系统信息库。 注 – 不能使用 ppdmgr 实用程序修改此系统信息库。 |
PPD 文件和 ppdcache 文件的位置是专用的,因此可能会更改。请不要生成依赖于当前位置的这些文件或当前格式的数据的软件。
在运行 Oracle Solaris 软件的系统上,可以将 PPD 文件存储在缺省标签目录中。您还可以指定自己选择的标签以组织 PPD 文件,只要该标签未被系统保留。
以下标签名被保留:
caches
ppdcache
manufaliases
all
除了 all 标签名以外,不能使用 ppdmgr 实用程序的 -L 或 -R 选项来指定这些标签名。不过,在使用 r 和 -u 选项时可以使用 -L 或 -R 选项来指定 -all 标签名。以 SUNW 开头的任何标签名都被保留供 Oracle 使用,但是并不禁止使用。
如果将 PPD 文件添加到系统中并且指定了一个并不存在的标签,则将在指定的系统信息库中创建具有该标签名的目录。缺省情况下,如果没有指定 PPD 文件系统信息库,则此目录为 /var/lp/ppd/label。有关在将 PPD 文件添加到系统时指定标签的更多信息,请参见ppdmgr 实用程序的命令行选项的说明。
选择“添加新的打印机(连接或网络)”或“修改打印机属性(连接或网络)”菜单选项时,将显示 Solaris Print Manager 中的“打印机驱动程序”字段。根据您所选择的打印机型号,此字段包含 PPD 高速缓存文件中的打印机驱动程序描述。为了区分 PPD 文件系统信息库中具有不同标签的重复打印机驱动程序描述,还会显示 PPD 文件系统信息库名称的标签和缩写。
打印机驱动程序描述所采用的格式如下:
label(repository-letter): driver-description
例如,以下 PPD 文件位于 user PPD 文件系统信息库中的 PHOTOS 标签中:
/var/lp/ppd/PHOTOS/HP/HP-PhotoSmart_P1100-hpijs.ppd.gz
此 PPD 文件会出现在 Solaris Print Manager 的“打印机驱动程序”字段选择列表中,如下所示:
PHOTOS(U): Foomatic/hpijs(推荐)
在以下示例中,以下 PPD 文件位于 system PPD 文件系统信息库中的 SUNWfoomatic 标签中:
此 PPD 文件会出现在 Solaris Print Manager 的“打印机驱动程序”字段选择列表中,如下所示:
SUNWfoomatic(S): Foomatic/hpijs(推荐)
下表介绍了 PPD 文件系统信息库字母、这些字母所代表的系统信息库,以及这些系统信息库在系统中所处的位置。
系统信息库缩写 |
系统信息库名称 |
系统信息库位置 |
---|---|---|
A |
admin |
/usr/local/share/ppd |
S |
system |
/usr/share/ppd |
U |
user |
/var/lp/ppd |
V |
vendor |
/opt/share/ppd |
生产商目录(每个生产商都有一个对应的目录)位于系统上的 PPD 系统信息库中。将 PPD 文件添加到系统时,使用 PPD 文件中包含的生产商名称来确定要将该 PPD 文件复制到哪个生产商目录中。专用文件 /var/lp/ppd/manufaliases 包含 PPD 文件中的所有生产商项的别名。引用 manufaliases 文件的目的是确定要将该 PPD 文件复制到哪个生产商目录中。此过程可确保每个生产商都有一个目录,而不是每个生产商别名都有一个目录。例如,如果某个 PPD 文件包含生产商名称 Hewlett-Packard,并且 Hewlett-Packard 的 HP 别名列在 manufaliases 文件中,则该 PPD 文件会存储在 HP 目录中。此策略适用于使用 ppdmgr 实用程序和 lpadmin - n 命令添加到系统的所有 PPD 文件。
manufaliases 文件是专用文件。请勿编辑此文件。请不要生成依赖于当前位置的文件或当前格式的数据的软件。
专用的 PPD 文件高速缓存在 /var/lp/ppd/caches/ 目录(每个系统信息库中的每个标签都有一个对应目录)中进行维护。
使用的高速缓存文件名的格式如下:
PPD-repository: label
PPD 高速缓存文件中有关 PPD 文件的信息使用 ppdmgr 实用程序进行维护。请勿手动编辑 PPD 高速缓存文件。请注意,/var/lp/ppd/caches 目录中的高速缓存文件用于生成专用 PPD 高速缓存文件 /var/lp/ppd/ppdcache。此文件由 printmgr 实用程序使用。有关更多信息,请参见 printmgr(1M) 手册页。
ppdcache 及其内容的位置是专用的。请不要生成依赖于当前位置的此文件或依赖于当前格式的数据的软件。此信息适用于生成或提供以供 ppdmgr 实用程序使用的任何专用文件。
本节介绍了 ppdmgr 实用程序的命令行选项。此外,还介绍了有关使用 ppdmgr 实用程序管理 PPD 文件的过程、指导和限制的其他信息。
PPD 管理器 (ppdmgr) 实用程序位于 /usr/sbin/ppdmgr 中。
要将 PPD 文件添加到系统中,应使用以下语法:
ppdmgr -a ppd-file-path |
-a 选项可用于将在 ppd-file-path 中指定的 PPD 文件复制到 PPD 系统信息库中,然后更新 PPD 高速缓存文件,以反映所做的更改。如果您没有使用 -R 选项指定 PPD 文件系统信息库,则 PPD 文件会存储在 user PPD 文件系统信息库中。如果您没有使用 -L 选项指定标签,则 PPD 文件会存储在 user 标签目录中。
结合使用 -a 选项和 ppdmgr 实用程序时,将会执行以下验证:
标签验证-标签名不得是保留的标签名。
以下标签名被保留:
caches
ppdcache
manufaliases
all
PPD 文件路径验证-指定的 ppd-file-path 必须可访问,且必须包含 .pdd 或 ppd.gz 扩展名。
PPD 文件验证-在 ppd-file-path 中指定的 PPD 文件必须是有效的 PPD 文件。
如果您提供的信息未通过各种验证检查,或者如果 ppdmgr 实用程序执行的任何操作未成功,则将显示一条错误消息,且该实用程序将退出。
执行的其他操作:
如果需要,将会创建目标路径的父目录。
如果扩展名为 .gz 的 PPD 文件版本已存在于 PPD 文件系统信息库中,且压缩的版本不重复,则将显示一条错误消息。
ppd-file-path 将被复制到目标路径。
为反映 ppdcache 文件中的更改,随后将应用更新操作。
要指定 PPD 文件系统信息库,应使用以下语法:
ppdmgr -R repository |
带有 repository 的 -R 选项用于标识受支持的 PPD 文件系统信息库之一。如果未指定 -R 选项,则缺省的 repository 为 user。随 -a 选项一起指定 -R 选项时,有效的系统信息库名称为 user 和 admin。有关所有受支持的系统信息库名称及其位置的更多信息,请参见PPD 文件系统信息库。
要指定标签,应使用以下语法:
ppdmgr -L label-name |
带有 label-name 的 -L 选项用于标识 PPD 文件系统信息库中的一组 PPD 文件。标签也是位于 PPD 文件系统信息库中的目录的名称。标签可由可移植字符集中的任何字符组成。但是,标签不能包含分号 (;)。
如果没有指定 -L 选项,则以下为用于指定标签名的缺省选项。
ppdmgr 命令行选项 |
缺省标签 |
---|---|
-a |
如果 ppd-file-path 位于受支持的系统信息库中,则缺省为 ppd-file-path 中的 label。否则,label 缺省为 user。 |
-r |
缺省为 all 标签。 |
-u |
缺省为 all 标签。 |
要请求更新 PPD 高速缓存文件,应使用以下语法:
ppdmgr -u |
此选项可用于更新高速缓存文件,以反映 PPD 文件系统信息库中的修改。只有在检测到修改时,才会更新 PPD 高速缓存文件。
如果指定了 -a 选项,则将自动更新 PPD 高速缓存文件,以反映在其中复制 PPD 文件的系统信息库中标签目录中的更改。
如果未指定 -R 或 -L 选项,则将更新 PPD 高速缓存文件,以反映 user 系统信息库中 all 标签目录中的修改。
要请求重新生成 PPD 高速缓存文件,应使用以下语法:
ppdmgr -r |
-r 选项通过删除并重新生成与指定的 PPD 文件系统信息库中指定标签关联的任何中间高速缓存文件,来重新生成高速缓存。如果删除了任何中间高速缓存文件,则此操作会导致更新 PPD 高速缓存文件 /var/lp/ppd/ppdcache。由于需要在指定的 PPD 文件系统信息库重新生成指定的标签,因此重新生成 PPD 高速缓存信息可能非常耗时。重新生成 PPD 高速缓存文件所用的时间取决于受影响的 PPD 文件的数目。因此,只有在怀疑 PPD 高速缓存文件损坏时,才应使用 -r 选项。
如果没有指定 -R 或 - L 选项,则将删除与 user PPD 文件系统信息库中所有标签关联的中间高速缓存。这些修改随后将反映在 PPD 高速缓存文件中。
要显示系统信息库中 PPD 文件的完整路径,应使用以下语法:
ppdmgr -a ppd-file-path -w |
-w 选项必须随 -a 选项一起指定 ,并将 PPD 文件成功添加到系统中,PPD 文件的完整目标路径才会显示在 stdout 中。否则,将忽略此选项。