Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

svcio (1)

名前

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 から提供されます。エラーによって処理の続行が不可能にならないかぎり、各エラーはファイル内での発生順に出力されます。

エラーメッセージが標準エラーストリームに出力されます。

オプション

サポートしているオプションは、次のとおりです。

–a

あるインスタンス用に構成されたすべてのファイルを処理します。

具体的には、svcio は、「configfile」タイプのプロパティーグループをすべて調べ、そのプロパティーグループ内のプロパティー pathstencil の値を調べることで、どのステンシルを使用し、結果のファイルをどこに書き込むかを決定します。たとえば、プロパティーグループ「conf1」が該当するタイプであった場合、svcio は、「conf1/stencil」の値をステンシルファイルのパスとして、「conf1/path」を出力を書き込むファイルのパスとして、それぞれ使用します。さらに、オプションのプロパティー ownergroup を使用すれば、出力ファイルの所有者とグループをそれぞれ設定できます。プロパティーグループ名またはプロパティー名に予約文字が含まれている場合、それをエンコードする必要があります。プロパティーグループが別のプロパティーグループ内にネストされている場合、そのグループもエンコードする必要があるほか、そのプロパティーグループのすべての先祖を示す必要があります。詳細は、smf(7) のマニュアルページを参照してください。

–D name=value

name を引数を持たないマクロとして定義します。これにより、指定された値の単純なテキスト置換が実現されます。これらのマクロは、ステンシルを指定する configfile プロパティーグループ内にネストされた defines という名前のプロパティーグループ内のプロパティーとして指定することもできますが、その場合、それらのマクロはそのコンテキストでのみ使用できます。

–f FMRI-instance

ステンシルの実行対象となるサービスインスタンスの FMRI。

–g group

出力ファイルに関連付けるグループ。

–i file

ステンシルファイルへのパス (デフォルトは標準入力)。このオプションと –a オプションを一緒に使用することはできません。

–l

ファイルの出力時に参照されるすべてのプロパティーを一覧表示します。

–L opts

出力ファイルのループバックマウント時に mount(2) に渡されるオプションを指定します。このオプションを指定しないと、出力ファイルはループバックマウントされません。このオプションには –R スイッチが必要です。正規のファイルは、接頭辞をルートとする指定された出力パスに書き込まれます。このファイルが、/ または –R オプションの値をルートとする指定された出力パスに、ループバックマウントされます。

–m mode

任意の出力ファイルのモードを設定します (デフォルトは 644)。

–o file

出力ファイルへのパス (デフォルトは標準出力)。このオプションと –a オプションを一緒に使用することはできません。

–O owner

出力ファイルの所有者を設定します。

–R prefix

すべての出力ファイルのルート接頭辞を設定します。

–p

–R オプションの値をルートとする出力ファイルパスに含まれる、存在しない中間ディレクトリを作成します。ただしこのオプションでは、マウントポイントへのパスに含まれる、存在しないディレクトリは作成されません。

–S dir

デフォルトの代わりにこのディレクトリ内で、ステンシルを検索します。

–u

出力ファイルのリンクを解除し、ループバックマウントを元に戻します。出力ファイルは作成されません。

–x

最初のエラーが発生した時点で、次のステンシルに処理を進めずに svcio を終了します。

オペランド

次のオペランドがサポートされています。

FMRI

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-instance

あるインスタンスを指定する FMRI。

使用例 1 インスタンスのすべての構成ファイルの処理

この例では、あるインスタンスのすべての構成済みの構成ファイルを処理します。

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

終了ステータス

次の終了ステータスが返されます。

0

コマンド呼び出しに成功しました。

1

システムコール失敗の結果として致命的なエラーが発生しました。

2

無効なコマンド行オプションが指定された。

3

予期しない SMF エラーの結果として致命的なエラーが発生しました。

4

ステンシルの解析中にエラーが発生しました。

属性

属性についての詳細は、マニュアルページの attributes(7) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
インタフェースの安定性
確実

関連項目

svcprop(1), svcs(1), stat(2), libscf(3LIB), smf_stencil(5), smf(7), svc.startd(8), svcadm(8), svccfg(8)