在 Oracle® Solaris 11.2 中管理系统服务

退出打印视图

更新时间: 2014 年 7 月
 
 

显示服务和实例属性值

本节中的示例介绍如何查看不同视图、层和快照中的服务和实例属性和属性组。

示例 2-6  列出实例和当前使用的继承属性

缺省情况下,svcprop 命令显示为运行中快照内的属性分配的值,即当前使用的值。缺省情况下,svcprop 命令显示运行中快照的复合视图中的属性,这意味着同时显示特定于实例的属性和继承的属性。如果在实例中定制了继承属性的值,则显示实例中设置的值。输出将每个属性列为一行,显示通过正斜杠字符分隔的属性组和属性名称、属性值的数据类型以及属性值。如果未指定任何属性或组名称,则显示运行中快照内的所有属性值。

如果 FMRI 或模式操作数未指定实例,则显示仅针对该服务设置的属性。不显示仅针对某个实例设置的属性。下面的命令显示服务相关项、服务类型以及配置文件和清单文件的路径等属性。

$ svcprop svc:/system/identity

当您指定实例时,可以看到为该实例定制的属性和从父服务继承的属性的复合视图。下面的命令可针对指定的实例列出运行中快照内的所有属性,包括从父服务继承的属性和特定于此实例的属性。对于针对此实例定制其值的继承属性,将显示定制值。此示例显示各种属性,例如其他相关项、启动此实例的可执行文件的路径、此实例日志文件的路径以及有关此实例状态的信息。

$ svcprop svc:/system/identity:domain
示例 2-7  列出当前使用的指定属性或属性组

使用 -p 选项显示特定的属性或特定属性组中的所有属性。

$ svcprop -p pkg/port pkg/server
svc:/application/pkg/server:oss:properties/pkg/port count 82
svc:/application/pkg/server:s11:properties/pkg/port count 81
svc:/application/pkg/server:default:properties/pkg/port count 80
$ svcprop -p pkg pkg/server:s11
pkg/inst_root astring /export/ipsrepos/Solaris11
pkg/port count 81
...
pkg/ssl_cert_file astring ""
pkg/ssl_key_file astring ""
...
示例 2-8  列出编辑中视图中的服务和实例值

带有选项的 svcprop 命令可以显示编辑中视图,而非运行中快照。编辑中视图显示最近的更改。编辑中视图内的更改可能已/未通过刷新或重新启动实例提交至运行中快照。以下命令说明了运行中快照和编辑中视图之间的差异。osss11 实例刚刚创建,并且属性值发生了更改,但是这些实例都尚未刷新。第一个命令显示运行中的快照的复合视图。由于这些实例在定制后尚未刷新,因此显示的值为 pkg/server 服务的值。-c 选项显示编辑中值的复合视图。-C 选项显示编辑中值,但不使用复合视图。由于这不是复合视图,因此找不到未针对实例定制的值。

$ svcprop -p pkg/port pkg/server
svc:/application/pkg/server:oss/:properties/pkg/port count 80
svc:/application/pkg/server:s11/:properties/pkg/port count 80
svc:/application/pkg/server:default/:properties/pkg/port count 80
$ svcprop -c -p pkg/port pkg/server
svc:/application/pkg/server:oss/:properties/pkg/port count 82
svc:/application/pkg/server:s11/:properties/pkg/port count 81
svc:/application/pkg/server/:properties/pkg/port count 80
$ svcprop -C -p pkg/port pkg/server
svc:/application/pkg/server:oss/:properties/pkg/port count 82
svc:/application/pkg/server:s11/:properties/pkg/port count 81
svcprop: Couldn't find property 'pkg/port' for instance 'svc:/application/pkg/server:default'.

缺省情况下,svccfg 命令显示编辑中的属性值,而非运行中快照内的值。您可以通过使用 selectsnap 子命令强制 svccfg 显示运行中快照内的值,如显示指定快照中的值中所示。

svccfg 命令在您指定父服务时仅显示父服务的值,而在您指定实例时仅显示该实例的值。如果您从 svccfg listprop 命令未收到任何输出,则说明您指定的属性可能不是针对父服务或指定的实例设置的属性。如果属性已删除,则使用 listcust -M 查看屏蔽的值,如显示配置定制中所示。

下面的命令列出指定服务的所有编辑中的属性值,因为未指定任何属性组或属性名称。除了 svcprop svc:/system/identity 命令显示的输出以外,此输出还包括属性组名称和类型,以及模板数据。

$ svccfg -s svc:/system/identity listprop

下面的命令可列出指定服务实例的所有编辑中的属性值。由于此命令不显示复合视图,因此该输出不显示配置文件和清单文件的路径(举例而言)。

$ svccfg -s svc:/system/identity:domain listprop
示例 2-9  列出编辑中视图内的指定属性或属性组

下面的命令可列出指定服务实例的指定属性组内的所有编辑中属性值。通过 -o 选项可以选择要显示的列。有关有效列名称的列表,请参见 svccfg(1M) 手册页。

$ svccfg -s pkg/server:s11 listprop pkg
pkg                  application
pkg/inst_root       astring      /export/ipsrepos/Solaris11
pkg/port            count        81
$ svccfg -s pkg/server:s11 listprop -o propname,value pkg
inst_root      /export/ipsrepos/Solaris11
port           81