svcio - サービス構成プロパティーに基づいてテキストファイルを作成
/lib/svc/bin/svcio [-alux] [-D name=value]... [-f FMRI-instance] [-g group] [-i file] [-m mode] [-o file] [-O owner] [-R dir [-L opts [-p]]] [-S dir]
svcio ユーティリティーは、ステンシルと呼ばれるテンプレートを読み取り、そのファイルとサービスインスタンスのプロパティーに基づいてテキストを出力します。svcio は通常、SMF によって管理されるが SMF から構成を読み取れないサービスの、アプリケーション固有の構成ファイルを生成するために使用されます。
ステンシル自体にエラーが含まれている場合、テキストの抜粋および行番号とエラーの原因が、svcio から提供されます。エラーによって処理の続行が不可能にならないかぎり、各エラーはファイル内での発生順に出力されます。
エラーメッセージが標準エラーストリームに出力されます。
サポートしているオプションは、次のとおりです。
あるインスタンス用に構成されたすべてのファイルを処理します。
具体的には、svcio は、「configfile」タイプのプロパティーグループをすべて調べ、そのプロパティーグループ内のプロパティー path と stencil の値を調べることで、どのステンシルを使用し、結果のファイルをどこに書き込むかを決定します。たとえば、プロパティーグループ「conf1」が該当するタイプであった場合、svcio は、「conf1/stencil」の値をステンシルファイルのパスとして、「conf1/path」を出力を書き込むファイルのパスとして、それぞれ使用します。さらに、オプションのプロパティー owner と group を使用すれば、出力ファイルの所有者とグループをそれぞれ設定できます。プロパティーグループ名またはプロパティー名に予約文字が含まれている場合、それをエンコードする必要があります。プロパティーグループが別のプロパティーグループ内にネストされている場合、そのグループもエンコードする必要があるほか、そのプロパティーグループのすべての先祖を示す必要があります。詳細は、smf(7) のマニュアルページを参照してください。
name を引数を持たないマクロとして定義します。これにより、指定された値の単純なテキスト置換が実現されます。これらのマクロは、ステンシルを指定する configfile プロパティーグループ内にネストされた defines という名前のプロパティーグループ内のプロパティーとして指定することもできますが、その場合、それらのマクロはそのコンテキストでのみ使用できます。
ステンシルの実行対象となるサービスインスタンスの FMRI。
出力ファイルに関連付けるグループ。
ステンシルファイルへのパス (デフォルトは標準入力)。このオプションと –a オプションを一緒に使用することはできません。
ファイルの出力時に参照されるすべてのプロパティーを一覧表示します。
出力ファイルのループバックマウント時に mount(2) に渡されるオプションを指定します。このオプションを指定しないと、出力ファイルはループバックマウントされません。このオプションには –R スイッチが必要です。正規のファイルは、接頭辞をルートとする指定された出力パスに書き込まれます。このファイルが、/ または –R オプションの値をルートとする指定された出力パスに、ループバックマウントされます。
任意の出力ファイルのモードを設定します (デフォルトは 644)。
出力ファイルへのパス (デフォルトは標準出力)。このオプションと –a オプションを一緒に使用することはできません。
出力ファイルの所有者を設定します。
すべての出力ファイルのルート接頭辞を設定します。
–R オプションの値をルートとする出力ファイルパスに含まれる、存在しない中間ディレクトリを作成します。ただしこのオプションでは、マウントポイントへのパスに含まれる、存在しないディレクトリは作成されません。
デフォルトの代わりにこのディレクトリ内で、ステンシルを検索します。
出力ファイルのリンクを解除し、ループバックマウントを元に戻します。出力ファイルは作成されません。
最初のエラーが発生した時点で、次のステンシルに処理を進めずに svcio を終了します。
次のオペランドがサポートされています。
1 つまたは複数のインスタンスを指定する障害管理リソース識別子 (FMRI) (smf(7) を参照)。FMRI は、インスタンス名、またはサービス名の最後の部分を指定する方法で、省略して入力することができます。たとえば、次の FMRI があるとします。
svc:/network/smtp:sendmail
次のような省略が有効です。
sendmail :sendmail smtp smtp:sendmail network/smtp
次のような省略は無効です。
mail network network/smt
FMRI にサービスを指定した場合は、–D オプションを一緒に使用している場合を除いて、そのサービスのすべてのインスタンスにコマンドが適用されます。
FMRI の省略形は不安定なので、スクリプトやその他の長期に渡って使用するツールには使用しないでください。
あるインスタンスを指定する FMRI。
この例では、あるインスタンスのすべての構成済みの構成ファイルを処理します。
example% svcio -a -f svc:/service:instance使用例 2 インスタンスのすべての構成ファイルの削除
この例では、あるインスタンスのすべての構成済みの構成ファイルについて、リンクの解除とアンマウントを行います。
example% svcio -au -f svc:/service:instance使用例 3 インスタンスの未構成ステンシルの使用
この例では、構成済みでないステンシルに基づいて出力ファイルを生成します。
example% svcio -o /etc/svc.conf -i ~/svc.stencil \ -f svc:/service1:instance
次の終了ステータスが返されます。
コマンド呼び出しに成功しました。
システムコール失敗の結果として致命的なエラーが発生しました。
無効なコマンド行オプションが指定された。
予期しない SMF エラーの結果として致命的なエラーが発生しました。
ステンシルの解析中にエラーが発生しました。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
svcprop(1), svcs(1), stat(2), libscf(3LIB), smf_stencil(5), smf(7), svc.startd(8), svcadm(8), svccfg(8)