Go to main content

Oracle® Solaris 11.4 でのシステムサービスの管理

印刷ビューの終了

更新: 2018 年 8 月
 
 

プロパティー値の設定

次のコマンドはプロパティー値を設定します。

svccfg setprop

プロパティーの値を変更します。

svccfg addpropvalue

複数値のプロパティーに値を追加します。

svccfg setenv

サービスプロセス実行環境の環境変数の値を変更します。

必ず svccfg refresh コマンドまたは svcadm refresh コマンドを使用して、実行中のスナップショットに構成変更をコミットしてください。

使用例 26  単純な値の設定

setprop をもっとも簡単に使用するには、選択されたサービスまたはインスタンスに対して、pg/name を指定します。ここで、pg はプロパティーグループの名前で、name はプロパティーの名前であり、等号のあとに新しい値を指定します。プロパティーがすでに存在しているか、テンプレート化されている場合、プロパティー値を指定する必要はありません。

$ svccfg -s pkg/server:s11 setprop pkg/port=81
使用例 27  埋め込まれた空白を含む値の設定

埋め込まれた空白を含む値を設定するには、二重引用符を使用します。シェルによっては、二重引用符の付いた文字列を一重引用符で囲む必要があります。

$ svccfg -s pkg/mirror setprop config/crontab_period = "00 3 25 * *"
$ svccfg -s pkg/mirror setprop config/crontab_period = '"00 3 25 * *"'

二重引用符またはバックスラッシュ文字を含む値を設定するには、引用符を使用します。二重引用符またはバックスラッシュ文字をエスケープするには、バックスラッシュ文字を使用します。

使用例 28  一連の値である値の設定

一連の値を単一の値として指定するには、括弧を使用します。シェルによっては、値のセットも一重引用符で囲む必要があります。

$ svccfg -s dns/client setprop config/nameserver = (10.0.0.1 192.168.0.1)
$ svccfg -s dns/client setprop config/nameserver = '(10.0.0.1 192.168.0.1)'
$ svccfg -s dns/client listprop config/nameserver
config/nameserver net_address 10.0.0.1 192.168.0.1

一連の値に含められる値の数を調べるには、describe サブコマンドを使用します。

$ svccfg -s dns/client describe -v config/nameserver
config/nameserver net_address 10.0.0.1 192.168.0.1
    type: net_address
    required: false
    The IP address of a DNS nameserver to be used by the resolver.
    visibility: readwrite
    minimum number of values: 1
    maximum number of values: 3
  value: 10.0.0.1
  value: 192.168.0.1
使用例 29  名前に特殊文字が含まれているプロパティーの設定

Oracle Solaris 12 でのシステムサービスの開発 の Naming Property Groups and Propertiesには、プロパティーグループやプロパティー名で使用できる予約文字のリストが記載されています。これらの予約文字は、FMRI でエンコードされて表示されます。

$ svccfg -s enchars_example:default
svc:/site/enchars_example:default> listprop config
config                     application
config/%25%20increase      count       10
config/maximum%20%23       count       9
config/start%3Aend         count       10
config/students%2Fteachers count       20

これらのプロパティーを設定するには、エンコードされた名前をコピーできます。

svc:/site/enchars_example:default> setprop config/students%2Fteachers=21
svc:/site/enchars_example:default> listprop config/students%2Fteachers
config/students%2Fteachers count       21

これらのプロパティーを設定するための別の方法として、-G および -P オプションの使用があります。

svc:/site/enchars_example:default> setprop -G config -P students/teachers 20
svc:/site/enchars_example:default> listprop -G config -P students/teachers
config/students%2Fteachers count       20

スペースが含まれているプロパティーグループ名またはプロパティー名には引用符を使用します。

svc:/site/enchars_example:default> setprop -G config -P "% increase" 12
svc:/site/enchars_example:default> listprop -G config -P "% increase"
config/%25%20increase count       12

editprop ツールは、自動的に -G および -P オプションを使用します。

$ svccfg -s enchars_example:default editprop
...
$ setprop -G "config" -P "% increase" -T count 10
$ setprop -G "config" -P "maximum #" -T count 9
$ setprop -G "config" -P "start:end" -T count 10
$ setprop -G "config" -P "students/teachers" -T count 20
使用例 30  入れ子になったプロパティーグループ内のプロパティーの値の設定

別のプロパティーグループの子であるプロパティーグループ内のプロパティーの値を設定するには、そのプロパティーのすべての先祖を指定します。

次の例では、httphttpsconfig プロパティーグループの子プロパティーグループであり、sslhttps プロパティーグループの子プロパティーグループです。

$ svccfg -s npg_example listprop config
config                    application
config/port               count       80
config/http               application
config/http/port          count       80
config/https              application
config/https/port         count       443
config/https/ssl          application
config/https/ssl/certfile astring     cert.crt
config/https/ssl/keyfile  astring     key.crt

入れ子になったプロパティーグループのプロパティーの別の値を指定するには、プロパティーの完全な FMRI を指定するか、または複数の -G オプションを使用します。次の例では、デフォルトのインスタンスの証明書と鍵ファイルの値を変更します。

$ svccfg -s npg_example:default
svc:/site/npg_example:default> setprop config/https/ssl/certfile=cert-1.pem
svc:/site/npg_example:default> setprop -G config -G https -G ssl -P keyfile key-1.pem
svc:/site/npg_example:default> listprop config/https/ssl
config/https/ssl          application
config/https/ssl/certfile astring     cert-1.pem
config/https/ssl/keyfile  astring     key-1.pem
使用例 31  値の追加

選択したサービスまたはサービスインスタンスの指定したプロパティーに所定の値を追加するには、addpropvalue サブコマンドを使用します。新しい値は、プロパティーのプロパティー値に関する既存のリストの末尾に追加されます。

$ svcprop -p keymap/layout keymap:default
US-English
$ svccfg -s keymap:default addpropvalue keymap/layout UK-English
$ svccfg -s keymap:default listprop keymap/layout
keymap/layout astring     "US-English" "UK-English"

前述の setprop の例では、値のセット内のすべての値を一度に指定する必要があります。1 つの値だけを指定した場合、その値が、1 つの値から成る新しいセットになります。この addpropvalue の例では、追加した値は個別の値です。これらの追加した値にアクセスするには、値に対して libscf 関数 scf_iter_property_values() を繰り返し使用する必要があります。listprop は両方の値を表示しますが、describe は最初の値だけを表示し、このプロパティーの値に許容される最大数が 1 であることを報告します。

$ svccfg -s keymap:default describe -v keymap/layout
keymap/layout astring     US-English
    type: astring
    required: true
    The keyboard layout
    visibility: readwrite
    minimum number of values: 1
    maximum number of values: 1
  value: US-English