コンパイルする MOF ファイルには、.mof 拡張子が付いていても付いていなくてもかまいません。CIM スキーマや Solaris スキーマを記述する MOF ファイルは /usr/sadm/mof にあります。
パラメータを指定せずに MOF コンパイラ を実行するには、次のコマンドを入力します。
% mofcomp filename |
たとえば、mofcomp /usr/sadm/mof/Solaris_Schema1.0.mof と入力すると、指定した MOF ファイルがコンパイルされます。
次の例は、Solaris_System1.0.mof ファイルの例で、Solaris オペレーティング環境でのプロセス、オペレーティングシステム、ファイルシステムなどの管理リソースを表しています。
// ===================================================================
// Title: Solaris System MOF specification 1.0
// Filename: Solaris_System1.0.mof
// Version: 1.0
// Author: Sun Microsystems, Inc.
// Date: 02/01/1999
// Description:
// ===================================================================
// ==================================================================
// Pragmas
// ==================================================================
#pragma Locale ("en-US")
// ==================================================================
// Solaris_Process
// ==================================================================
[Provider("com.sun.wbem.solarisprovider.Solaris"),
Description ("A Solaris process that is running.")
]
class Solaris_Process:CIM_Process
{
[Description (
"Time in user mode and kernel mode, in milliseconds."
"If this information is not available, a value of 0 should be used."),
Units("MilliSeconds")
]
uint64 UserKernelModeTime;
[Description (
"A string used to identify the Parent Process. A Process ID is a "
"kind of Process Handle."),
MaxLen (256)
]
string ParentHandle;
};
[vellip]
// ==================================================================
// Solaris_FileSystem
// ==================================================================
[Provider("com.sun.wbem.solarisprovider.Solaris"),
Description ("A Solaris FileSystem.")
]
class Solaris_FileSystem:CIM_FileSystem
{
};
|
次の例は、デフォルトオプションを使って Solaris_System1.0.mof ファイルを再コンパイルしたものです。このオプションは、コンパイラが、すでにあるクラスを追加しようとするたびにエラーを返します。この例では、詳細モード (-v) を使用しています。さらに、デフォルトのネームスペース root¥cimv2 への書き込み権が必要なため、スーパーユーザーアカウントを指定します。Solaris_System1.0.mof ファイルに定義されている CIM 要素は、デフォルトで root¥cimv2 ネームスペースに追加されます。
mofcomp -v -u root ../mof/Solaris_Schema1.0.mof Starting MOF Compiler java com.sun.wbem.compiler.mofc.CIM_Mofc -v -u root ../mof/Solaris_Schema1.0.mof Enter password:****** Adding class Solaris_ComputerSystem Warning at line 27 in file /usr/sadm/mof/Solaris_Core1.0.mof - compilation proceeding ... Semantic Error: The following exception was thrown by setClass: CIM_ERR_ALREADY_EXISTS:Element Solaris_ComputerSystem already exists. Adding class Solaris_SerialPortSetting Warning at line 39 in file /usr/sadm/mof/Solaris_Core1.0.mof - compilation proceeding ... Semantic Error: The following exception was thrown by setClass: CIM_ERR_ALREADY_EXISTS:Element Solaris_SerialPortSetting already exists. Adding class Solaris_LogRecord Warning at line 104 in file /usr/sadm/mof/Solaris_Core1.0.mof - compilation proceeding ... [vellip] Semantic Error: The following exception was thrown by setClass: CIM_ERR_ALREADY_EXISTS:Element Solaris_NamespaceAcl already exists. Adding class Solaris_UserAcl Warning at line 39 in file /usr/sadm/mof/Solaris_Acl1.0.mof - compilation proceeding ... Semantic Error: The following exception was thrown by setClass: CIM_ERR_ALREADY_EXISTS:Element Solaris_UserAcl already exists. Compilation succeeded. |
-p パラメータを使ってコマンドをパスワードを指定して実行すると、指定したパスワードを他のユーザーが ps コマンドや history コマンドを使って知ることができます。
実行するコマンドにパスワードを指定する場合は、コマンドを実行した後でただちにパスワードを変更してください。
次の例は、-p パラメータを使って mofcomp コマンドを実行する例です。
mofcomp -p Log8Rif |
mofcomp -u molly -p Log8Rif |
パスワードを指定するオプションを使って modcomp コマンドを実行したら、ただちにパスワードを変更してください。