次のコマンドはプロパティー値を設定します。
プロパティーの値を変更します。
複数値のプロパティーに値を追加します。
サービスプロセス実行環境の環境変数の値を変更します。
必ず 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 入れ子になったプロパティーグループ内のプロパティーの値の設定
別のプロパティーグループの子であるプロパティーグループ内のプロパティーの値を設定するには、そのプロパティーのすべての先祖を指定します。
次の例では、http と https は config プロパティーグループの子プロパティーグループであり、ssl は https プロパティーグループの子プロパティーグループです。
$ 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