svccfg コマンドはサービス構成リポジトリのデータを操作します。svccfg コマンドを使用して行う変更はすべて、admin レイヤーに記録されます。レイヤーの詳細は、リポジトリレイヤーを参照してください。svccfg コマンドで行われた変更は、現在のプロパティー値または編集中のプロパティー値として、サービス構成リポジトリに格納され、実行中のスナップショットに即座には表示されません。構成データを変更する場合、svcadm refresh コマンドまたは svccfg refresh コマンドを使用して、新しい値を実行中のスナップショットにコミットします。
新しく変更したデータを実行中のスナップショットと分けておくと、複数の変更を行なってからその変更をすべて一緒に実行中のスナップショットにコミットできます。複数の変更を行なっている過程で、一部のプロパティー値は互換性や整合性がなくなる場合もありますが、実行中のスナップショットは変更されません。変更が終了したら、リフレッシュを実行します。
次のどの方法でも svccfg コマンドを使用できます。
svccfg editprop コマンドを使用して、現在選択されているエンティティーのプロパティーグループおよびプロパティーに対してエディターを呼び出す。
コマンド行で完全な svccfg コマンドを入力し、setprop などのサブコマンドを指定する。
svccfg または svccfg -s FMRI だけをコマンド行で入力し、対話式セッションを開始する。
-f オプションを指定して、ファイルから svccfg コマンドを読み取る。
次の例に示すように、svccfg コマンドを呼び出すと、選択したエンティティーのプロパティーに対してエディターが開きます。この形式の svccfg コマンドは非常に高速で、複数のプロパティー値を変更する場合に便利です。editprop サブコマンドの場合、-s オプションを付けてエンティティーを指定する必要があります。
$ svccfg -s pkg/server:s11 editprop
指定したエンティティーの各プロパティーの現在値に対する setprop コマンドのファイルは、VISUAL 環境変数で指定されたエディタで開きます。VISUAL が定義されていない場合、EDITOR で指定したエディターが開かれます。VISUAL も EDITOR も定義されていない場合は、プロパティーファイルは vi で開かれます。
ファイルの各行の先頭にはコメント文字が付けられます。svccfg で編集中の構成内のプロパティーの値を変更するには、コメント文字を削除し、値を変更して、ファイルを保存します。実行中のスナップショット内のプロパティーの値を変更するには、ファイルの最終行 (refresh サブコマンドです) のコメント文字を削除します。
次のリストでは、editprop サブコマンドで作成されたファイルの部分的な例を示します。
## ## Change property values by removing the leading '#' from the ## appropriate lines and editing the values. svccfg subcommands ## such as delprop can also be added to the script. ## ## Property group "pkg" ## The following properties are defined in the selected instance ## (svc:/application/pkg/server:s11) # setprop pkg/port = count: 81 # setprop pkg/inst_root = astring: /export/ipsrepos/Solaris11 ## The following properties inherit from the parent service ## (svc:/application/pkg/server) # ... ## Property group "pkg_bui" # ... ## Property group "pkg_secure" # ... ## Uncomment to apply these changes to this instance. # refresh
ファイル状態の命令として、setprop 以外のサブコマンドを追加できます。たとえば、delprop コマンドを追加できます。framework や dependency などの一部のプロパティーグループは、デフォルトでは表示されません。すべてのプロパティーを表示するには、editprop -a を指定します。
この一時ファイル内のコメントのないコマンドは、編集セッションを保存および停止するときに実行されます。
次の例に示すように svccfg コマンドを対話式に呼び出すと、複数の構成操作を実行する場合に便利です。
$ svccfg svc:> select pkg/server svc:/application/pkg/server> list :properties default svc:/application/pkg/server> add s11 svc:/application/pkg/server> select s11 svc:/application/pkg/server:s11> setprop pkg/inst_root=/export/ipsrepos/Solaris11 svc:/application/pkg/server:s11> setprop pkg/port=81 svc:/application/pkg/server:s11> unselect svc:/application/pkg/server> add oss svc:/application/pkg/server> select oss svc:/application/pkg/server:oss> setprop pkg/inst_root=/export/ipsrepos/SolarisStudio svc:/application/pkg/server:oss> setprop pkg/port=82 svc:/application/pkg/server:oss> unselect svc:/application/pkg/server> list :properties default s11 oss svc:/application/pkg/server> refresh svc:/application/pkg/server> select pkg/mirror:default svc:/application/pkg/mirror:default> listprop config/crontab_period config/crontab_period astring "30 2 25 * *" svc:/application/pkg/mirror:default> setprop config/crontab_period="00 3 25 * *" svc:/application/pkg/mirror:default> refresh svc:/application/pkg/mirror:default> exit $
前述の例での対話式プロンプトで示された同じコマンドをファイルで指定することもでき、次のコマンドなどのコマンドとともに実行できます。
$ svccfg -f cfgpkgrepos