2.2.4 パッケージング時に指定するファイルの作成
- <この項の構成>
- (1) 登録ファイルの作成
- (2) ユーザ資源パス記述ファイルの作成
- (3) スペシャルファイル定義ファイルの作成
- (4) インストールスクリプトファイルの作成
- (5) 組み込み時に実行させるUAPの作成(基本機能)
- (6) 組み込み時に実行させるUAPの作成(組み込み支援機能)
(1) 登録ファイルの作成
ソフトウェアを登録する前に,登録ファイルにソフトウェアの情報を記述しておきます。ここでは,登録ファイルの作成方法について説明します。
(a) 登録ファイルの作成規則
登録ファイルは次の行形式で,フルスクリーンエディタで作成します。
- 属性名
- 登録ファイルで指定する項目を指定します。
- 設定値
- 登録ファイルの項目に対して設定する値を指定します。
登録ファイルは次の規則に従って作成してください。
- [Tab]の代わりに空白も指定できます。
- 設定値に空白記号を含めて指定する場合は,必ず設定値を「"(ダブルクォーテーション)」で囲んでください。
- 1カラム目に「#」を指定すると,その行をコメントとみなします。
- 登録ファイルの1行の長さは,[Enter]を含めて最大256バイトです。
- 複数の同一属性名を指定した場合は,最後に指定された設定値が有効になり,それまでの設定値は無視されます。
(b) 登録ファイルの文法
- 形式
- 登録ファイルに指定できる属性は,資源種別によって次のように異なります。
- 日立プログラムプロダクトを登録する場合
Group グループ名
PPName PP形名
〔UserName 所有者名〕
〔HostName ホストファイル名〕
〔Compress {NO|COMPRESS|PACK}〕
〔APafterGeneration PPインストール後処理〕
〔APWatchTimer PPインストール後処理監視時間〕
〔LifeofResource パッケージの満了日付〕
〔InstallTiming {BOOT|EXECUTE|SHUTDOWN}〕
〔Recover {YES|NO}〕
〔BackupDataKeep バックアップの保存期間〕
- 他社ソフトウェアを登録する場合
Group グループ名
〔ResourceName 資源名〕
〔ProgramName プログラム名〕
〔Version バージョン/リビジョン〕
〔Generation 世代番号〕
〔HostName ホストファイル名〕
〔UserName 所有者名〕
〔Compress {NO|COMPRESS|PACK|COMMON}〕
〔APbeforeGeneration ユーザ組み込み前処理〕
〔APafterGeneration ユーザ組み込み後処理〕
〔APWatchTimer ユーザ組み込み処理監視時間〕
〔LifeofResource パッケージの満了日付〕
〔InstallTiming {BOOT|EXECUTE|SHUTDOWN|UAP}〕
〔Recover {YES|NO}〕
〔Encode {YES|NO}〕
- ユーザデータ,ユーザプログラムを登録する場合
Group グループ名
ResourceName 資源名
〔ProgramName プログラム名〕
〔UserName 所有者名〕
〔Version バージョン/リビジョン〕
〔PrerequisiteVersion 前提バージョン/リビジョン〕
〔Generation 世代番号〕
〔Comments ユーザコメント〕
〔HostName ホストファイル名〕
〔Compress {NO|COMPRESS|PACK|COMMON}〕
〔Generator {STANDARD|NETM_DM_GF}〕
〔APbeforeGeneration ユーザ組み込み前処理〕
〔APafterGeneration ユーザ組み込み後処理〕
〔APWatchTimer ユーザ組み込み処理監視時間〕
〔LifeofResource パッケージの満了日付〕
〔InstallDirectory 組み込み先ディレクトリ〕
〔OwnerofInstallDirectory ディレクトリの所有者〕
〔GroupofInstallDirectory ディレクトリのグループ〕
〔ModeofInstallDirectory ディレクトリのファイルモード〕
〔InstallTiming {BOOT|EXECUTE|SHUTDOWN|UAP}〕
〔Recover {YES|NO}〕
〔BackupDataKeep バックアップの保存期間〕
〔UAPBackupList バックアップリスト名〕
〔Encode {YES|NO}〕
- 説明
- Group グループ名 ~<半角の英大文字,数字>((2文字))
- ソフトウェアを登録するグループ名を指定します。1グループに登録できるソフトウェア数は256です。新規にグループを作成してソフトウェアを登録する場合は,そのグループに付ける名称をここで指定すれば,自動的にグループが作成されてソフトウェアが登録できます。rdsftまたはrdscmコマンドのオプションでグループ名を指定しない場合は,必ず指定してください。
- 登録する配布管理システムごとに,グループ名を変更してください。同一グループ名のソフトウェアを異なる配布管理システムへそれぞれ登録した場合は,資源名が異なっていてもグループ名が同一であると,そのソフトウェアを配布できないことがあります。
- PPName PP形名
- 登録するプログラムプロダクトの形名を指定します。複数のプログラムプロダクトを指定するときは空白で区切り,設定値を「"」で囲んでください。
- 複数のプログラムプロダクトを指定する場合の記述例を次に示します。
PPName "P-1642-111 P-1642-421"
- UNIXオペレーティングシステムの正規表現を使うと,指定方法を簡略化できます。正規表現を使った指定例を次に示します。
- PPName *
DAT,CD-ROMなどに登録されているプログラムプロダクトをすべて指定します。
- PPName P-1642-*
接頭部が「P-1642-」のプログラムプロダクトをすべて指定します。
- PPName P-1642-??
接頭部が「P-1642-」で,残りの数字が2文字であるプログラムプロダクトをすべて指定します。
- PPName P-1642-[1-5]
接頭部が「P-1642-」で,残りの数字が1文字の1~5までの数字であるプログラムプロダクトをすべて指定します。
- ResourceName 資源名 ~<半角の英大文字,数字,ハイフン,およびアンダーバー>((1~44文字))
- 登録するソフトウェアに付ける名称を指定します。この名称には,ネットワークシステム内で固有な名称を指定します。日立プログラムプロダクトおよびユーザデータ・ユーザプログラムを登録する場合,rdsftまたはrdscmコマンドのオプションで指定しないときは,必ず指定してください。他社ソフトウェアおよびOSパッチを登録する場合は,省略することもできます。省略すると,資源名は自動生成されます。
- ProgramName プログラム名 ~ ((1~50文字(半角の場合)))
- 登録するソフトウェアに付ける一般名称を指定します。この名称は,資源名以外に通称として何か名称を付けたいときに指定します。この値を省略すると,空白文字が仮定されます。他社ソフトウェアの場合,資源名とプログラム名を省略すると,プログラム名は自動生成されます。
- UserName 所有者名 ~ ((1~14文字(半角の場合)))
- 登録するソフトウェアの所有者名を指定します。この値を省略すると,空白文字が仮定されます。
- Version バージョン/リビジョン ~<半角の英大文字,数字およびスラント>((1~6文字))
- 登録するソフトウェアのバージョン/リビジョンを指定します。プログラムプロダクトの場合は,自動的にバージョン/リビジョンが設定されます。その他のソフトウェアの場合は,日付を指定するなどの目的で使えます。この値を省略すると,000000が仮定されます。他社ソフトウェアの場合,資源名とバージョン/リビジョンを省略すると,バージョン/リビジョンは自動生成されます。
- PrerequisiteVersion 前提バージョン/リビジョン ~<半角の英大文字,数字およびスラント>((1~6文字))
- 登録するソフトウェアを配布するときに,前提となるバージョン/リビジョンを指定します。
- 前提バージョン/リビジョンに「000000」を指定した場合は,前提バージョン/リビジョンに関係なく無条件にソフトウェアが配布されます。PrerequisiteVersionを指定しなかった場合は,空白が仮定され,前提バージョンのチェックはしないでソフトウェアが配布されます。
- この指定は,InstallTimingでEXECUTEを指定したときに有効になります。
- Generation 世代番号 ~<半角の英大文字,数字>((4けた))
- 登録するソフトウェアの世代番号を指定します。この値を省略すると,0000が仮定されます。
- Comments ユーザコメント ~ ((1~64文字(半角の場合)))
- 登録するソフトウェアに対するユーザコメントを指定します。この指定は,GeneratorでNETM_DM_GFを指定したときに有効になります。コメントの途中で改行しないでください。この値を省略すると,空白文字が仮定されます。
- HostName ホストファイル名 ~<半角の英大文字,数字,ハイフン,アンダーバーおよびピリオド>((1~20文字))
- ホストファイルのファイル名を指定します。この値を省略すると,設定ファイルで指定した配布管理システムにソフトウェアが登録されます。クライアントWSでホストファイル名を指定する場合は,中継システムのホストファイル名を指定してください。
- rdsftまたはrdscmコマンドのオプションでホストファイル名を指定しない場合は,登録ファイルでの指定が有効になります。また,rdsftまたはrdscmコマンドでのホストファイルの指定は,登録ファイルでの指定より優先されます。
- Compress ~ {NO|COMPRESS|PACK|COMMON}
- 登録するソフトウェアの圧縮を指定します。
- NO
圧縮しません。
- COMPRESS
compressコマンドを使って圧縮します。
- PACK
packコマンドを使って圧縮します。
- COMMON
共用資源を圧縮します。
- サイズが3ブロック以下のソフトウェアは,PACKを指定しても効果がありません。圧縮処理でエラーになった場合は,圧縮しないで登録されます。この値を省略すると,設定ファイルで指定した内容が有効になります。
- Generator ~ {STANDARD|NETM_DM_GF}≪STANDARD≫
- パッケージを組み込むときに起動するゼネレータの種別を指定します。
- STANDARD
JP1/NETM/DM Clientの基本機能が提供する標準ゼネレータ
- NETM_DM_GF
JP1/NETM/DM Clientの組み込み支援機能が提供するゼネレータ
- APbeforeGeneration ユーザ組み込み前処理 ~ ((1~60文字(半角の場合)))
- 標準ゼネレータで組み込み処理を実行する前に起動する,ユーザ組み込み前処理を絶対パスで指定します。APafterGeneration(ユーザ組み込み後処理)も指定する場合は,APafterGenerationの指定値と合計して60文字以内(半角の場合)になるように指定してください。
- この指定は,GeneratorでSTANDARDを指定したときに有効になります。NETM_DM_GFを指定した場合は,ユーザ組み込み前処理を指定しても無視されます。
- ユーザ組み込み前処理のプログラムを/NETMRDS/usrcom/(HP-UXの場合は/opt/NETMDMW/usrcom/)ディレクトリ下に作成しておけば,相対パスで指定できます。
- ユーザ組み込み前処理を指定するときは,次のことに注意してください。
- 文字列(引数)の数は最大18個指定できます。
- 複数の連続した空白は1個の区切り文字として扱われます。
- 「>」「<」「|」「&」「$」などの,シェルプログラムで特別な意味を持つ文字は使わないでください。
- 「'」は引数として扱われません。
- 「"」は指定できません。ただし,設定値中に空白文字を指定する場合は,設定値全体を「"」で囲んでください。
- シェル変数は,文字列として扱われるため,無効になります。
- 応答待ちになる処理を入れないでください。
- APafterGeneration ユーザ組み込み後処理またはPPインストール後処理 ~ ((1~64文字(半角の場合)))
- パッケージの組み込み後に起動する,ユーザ組み込み後処理またはPPインストール後処理を絶対パスで指定します。
- この指定は,WSに配布する場合に有効です。PCに配布した場合は無視されます。GeneratorでNETM_DM_GFを指定した場合,40文字以内で指定してください。
- GeneratorでSTANDARDを指定した場合,ユーザ組み込み処理のプログラムを/NETMRDS/usrcom/(HP-UXの場合は/opt/NETMDMW/usrcom/)ディレクトリ下に作成しておけば,相対パスで指定できます。
- ユーザ組み込み処理を指定するときは,次のことに注意してください。
- 文字列(引数)の数は最大18個指定できます。
- 複数の連続した空白は1個の区切り文字として扱われます。
- 「>」「<」「|」「&」「$」などのシェルプログラムで特別な意味を持つ文字は使わないでください。
- 「'」は引数として扱われません。
- 「"」は指定できません。ただし,設定値中に空白文字を指定する場合は,設定値全体を「"」で囲んでください。
- シェル変数は,文字列として扱われるため,無効になります。
- 応答待ちになる処理を入れないでください。
- APWatchTimer ユーザ組み込み処理またはPPインストール後処理監視時間 ~<符号なし整数>((1~32767))≪300≫(単位:秒)
- ユーザ組み込み処理またはPPインストール後処理の実行監視時間を秒単位で指定します。ユーザ組み込み処理またはPPインストール後処理が,指定した値を超えても実行中のときは,配布先システムはその処理の終了を待たないで次の処理を実行します。この時,ユーザ組み込み処理またはPPインストール後処理を強制終了することはありません。この場合,配布先システムは,インストールエラーとして配布管理システムに通知します。この指定は,すべての組み込みタイミングで有効になります。
- LifeofResource パッケージの満了日付 ~<半角数字>((8けた))
- 登録するソフトウェアが配布されたときに中継システムの保管庫に保管される期限を「YYYYMMDD」の形式で指定します。
- YYYY
年号を西暦で指定します(YYYY:現在の年~2089)。
- MM
月を2けたで指定します(MM:01~12)。
- DD
日を2けたで指定します(DD:01~31)。
- この値を省略すると,設定ファイルで指定したパッケージの保存日数が有効になります。登録日以前の日を指定すると,エラーになります。
- InstallDirectory 組み込み先ディレクトリ ~<半角英数字>((1~64文字))
- ユーザデータおよびユーザプログラムの組み込み先ディレクトリを指定します。ハードディスクのソフトウェアを登録する場合は,ユーザ資源パスを相対パスで指定するとき,この項目を指定できます。
- ここで指定されたディレクトリが配布先システムにない場合は,パッケージ組み込み時に作成されます。
- 指定されたディレクトリが未定義または指定を省略した場合は,/(ルートディレクトリ)が仮定されます。
- Linuxの場合,組み込み先ディレクトリにシンボリックリンクを指定すると,シンボリックリンクが解除されるので,指定しないでください。
- OwnerofInstallDirectory ディレクトリの所有者 ~<符号なし整数>((0~59999 5けた))
- InstallDirectoryで指定したディレクトリが配布先システムにない場合に,パッケージ組み込み時に作成されるディレクトリの所有者をユーザ番号で指定します。指定された所有者が未定義または指定を省略すると,root(ユーザ番号0)が仮定されます。
- GroupofInstallDirectory ディレクトリのグループ ~<符号なし整数>((0~59999 5けた))
- InstallDirectoryで指定したディレクトリが配布先システムにない場合に,パッケージ組み込み時に作成されるディレクトリのグループを指定します。ディレクトリのグループを指定するときは,必ずOwnerofInstallDirectoryを指定してください。指定されたグループ番号が未定義または指定を省略すると,sys(グループ番号3)が仮定されます。
- ModeofInstallDirectory ディレクトリのファイルモード ~<8進数>((700~777 3けた))≪755≫
- InstallDirectoryで指定したディレクトリが配布先システムにない場合に,パッケージ組み込み時に作成されるディレクトリのファイルモードを指定します。ファイルモードは,パーミッションモードビットだけを絶対値で指定してください。ディレクトリのファイルモードを指定するときは,次に示す項目を必ず指定してください。
- OwnerofInstallDirectory
- GroupofInstallDirectory
- InstallDirectory
- InstallTiming ~{BOOT|EXECUTE|SHUTDOWN|UAP}≪EXECUTE≫
- ソフトウェアを組み込むタイミングを指定します。
- BOOT
システム起動時にパッケージを組み込みます。
- EXECUTE
配布管理システムからの配布指示でパッケージを組み込みます。
- SHUTDOWN
システム停止時にパッケージを組み込みます。
- UAP
UAPがパッケージを組み込みます。この値は,配布先システムがWindowsのときだけ指定できます。
- デーモンプロセスを持つパッケージは,システム起動時または停止時に組み込んでください。次に示すパッケージはシステム起動時に組み込めないため,システム停止時に組み込んでください。
- /etc/rcスクリプトのuser_daemonステップより早く起動されるパッケージ
- 共用ライブラリを持つパッケージ
- /etc/inittabへrespawn指定で登録されたプログラムを含むパッケージ
- プログラムプロダクトの場合,BOOTおよびEXECUTEを指定してもプログラムプロダクトの属性によって,指定されたタイミングでパッケージを組み込めないことがあります。このとき配布先システムは,システム停止時にプログラムプロダクトを組み込みます。
- Recover ~{YES|NO}≪NO≫
- リカバリ機能を使うかどうかを指定します。
- YES
登録するパッケージの配布時に組み込みが失敗したときに,リカバリを実行します。
- NO
登録するパッケージの配布時に組み込みが失敗したときに,リカバリを実行しません。
- プログラムプロダクトには,属性によってリカバリ機能を使えないものがあります。リカバリ機能が使えないプログラムプロダクトにYESを指定しても,リカバリは実行されません。また,配布先システムにバックアップディレクトリが作成されていないと,YESを指定してもリカバリは実行されません。
- ソケットデバイスはリカバリ対象外のファイルです。バックアップリストにソケットデバイスを記述するときや,ソケットデバイスと同一名称のファイルを登録するときは,RecoverにYESを指定しないでください。ソケットデバイスを登録する登録ファイルでリカバリが指定されると,パッケージ配布時にバックアップが取得されないで,ソケットデバイスのファイルは配布されません。
- 他社ソフトウェアの場合,リカバリ機能が使用できるのはHP-UX版のソフトウェアだけです。
- BackupDataKeep バックアップの保存期間 ~<符号なし整数>((0~999))≪0≫(単位:日数)
- 登録するソフトウェアの配布時にリカバリ機能を使う場合に,リカバリが失敗または実行されないとき,バックアップを保存する日数を指定します。この指定はRecoverでYESを指定したときに有効になります。バックアップはパッケージ配布日からここで指定した日数後に削除されます。
- バックアップが保存されている間は,リカバリを再試行できます。0を指定すると,バックアップは保存されません。リカバリを再試行しないパッケージには,0を指定してください。
- UAPBackupList バックアップリスト名 ~<半角英数字>((1~128文字))
- バックアップリストのファイル名を指定します。バックアップリストには,次バージョン配布時のリカバリに備えて,バックアップ対象となる任意のファイルおよびディレクトリを指定します。バックアップリストについては,「第2編 7.4.1 バックアップの取得」を参照してください。バックアップリストのファイル名は絶対パスで指定してください。
- この指定は,登録するソフトウェアがユーザデータおよびユーザプログラムの場合に有効です。また,指定したバックアップリストが有効になる時期は,ソフトウェアの配布後に次のバージョンの配布でリカバリ機能が実行されたときです。今回登録するソフトウェアが配布され,リカバリ機能が実行されても,まだ有効になっていないので注意してください。
- この値を省略すると,次のバージョンの配布でリカバリ機能が実行されるとき取得されるバックアップは,上書きされるファイルおよびディレクトリだけです。
- Encode ~ {YES|NO}
- ソフトウェアを暗号化して登録するかどうかを指定します。この設定を有効にするには,資源登録システム,配布管理システム,および配布先システムに,JP1/NETM/DM Encryption Optionを組み込む必要があります。
- YES
ソフトウェアを暗号化して登録します。
- NO
ソフトウェアを暗号化しないで登録します。
- この値を省略すると,設定ファイルで指定した内容が有効になります。共用資源でないユーザデータまたはユーザプログラムの場合は,YESを指定しても無視されます。
(2) ユーザ資源パス記述ファイルの作成
ユーザ資源パス記述ファイルには,ハードディスクから登録するディレクトリを指定します。複数のディレクトリまたはファイルを指定できるので,このファイルを作成しておけば,異なるディレクトリ中のファイルを一つのソフトウェアとして登録できます。ディレクトリおよびファイルは絶対パスで指定してください。また,パスの途中に「..」を指定しないでください。ユーザ資源パス記述ファイルの作成例を示します。
- (例)
/users/home
/etc/hosts
/etc/networks
(3) スペシャルファイル定義ファイルの作成
システムで標準提供していないスペシャルファイルを使ってプログラムプロダクトを登録するときは,そのスペシャルファイルをスペシャルファイル定義ファイルに定義する必要があります。
(a) スペシャルファイル定義ファイルの作成規則
スペシャルファイル定義ファイルは,スペシャルファイルに対応した情報を定義するファイルです。JP1/NETM/DM Clientはプログラムプロダクトの登録時,指定されたスペシャルファイルに対応する情報をこのファイルから参照し,提供記録媒体にアクセスします。
システムで標準提供しているスペシャルファイルは,スペシャルファイル定義ファイルに定義されています。スペシャルファイル定義ファイルのディレクトリ名を次に示します。
OS | LANG環境変数 | ディレクトリ名 |
---|
HP-UX | ja_JP.SJIS | /etc/opt/NETMDMW/rdsprm/ja_JP.SJIS/DEVTYPE |
ja_JP.eucJP | /etc/opt/NETMDMW/rdsprm/ja_JP.eucJP/DEVTYPE |
ja_JP.SJIS,ja_JP.eucJP以外 | /etc/opt/NETMDMW/rdsprm/C/DEVTYPE |
Solaris | ja_JP.PCK | /NETMRDS/rdsprm/ja_JP.PCK/DEVTYPE |
ja | /NETMRDS/rdsprm/ja/DEVTYPE |
ja_JP.PCK,ja以外 | /NETMRDS/rdsprm/POSIX/DEVTYPE |
AIX | Ja_JP | /NETMRDS/rdsprm/Ja_JP/DEVTYPE |
ja_JP | /NETMRDS/rdsprm/ja_JP/DEVTYPE |
Ja_JP,ja_JP以外 | /NETMRDS/rdsprm/En_US/DEVTYPE |
Tru64 UNIX | ja_JP.SJIS | /NETMRDS/rdsprm/ja_JP.SJIS/DEVTYPE |
ja_JP.eucJP | /NETMRDS/rdsprm/ja_JP.eucJP/DEVTYPE |
ja_JP.SJIS,ja_JP.eucJP以外 | /NETMRDS/rdsprm/en_US.ISO8859-1/DEVTYPE |
Linux | ja_JP.UTF-8 | /NETMRDS/rdsprm/ja_JP.UTF-8/DEVTYPE |
ja_JP.eucJP | /NETMRDS/rdsprm/ja_JP.eucJP/DEVTYPE |
ja_JP.SJIS,ja_JP.eucJP以外 | /NETMRDS/rdsprm/C/DEVTYPE |
(b) スペシャルファイル定義ファイルの文法
スペシャルファイル定義ファイルの形式と内容を次に示します。
スペシャルファイル名[Tab]媒体種別[Tab]コメント[Tab]媒体種類[Enter] |
- スペシャルファイル名
- プログラムプロダクトの提供記録媒体をセットするテープ系またはディスク系にデバイスに対応したスペシャルファイル名を,/devから絶対パスで指定してください。
- 媒体種別
- 提供記録媒体の媒体種別を指定します。
- DISC
- フロプティカルディスク,MOを使う場合
- TAPE
- CMT,DATを使う場合
- ISO9660
- CD-ROMを使う場合
- UNKNOWN
- ディスク系・テープ系を除く外部記憶媒体を指定する場合
- ILLEGAL
- ttyやハードディスクなど,外部記憶媒体を指定する場合
- コメント
- コメントを記述してください。コメントを省略するときは,「""」を指定してください。空白にすると,エラーになります。
- 媒体種類
- 媒体の種類を指定します。
- DAT
- 提供記録媒体がDATの場合
- CD-R
- 提供記録媒体がCD-ROMの場合
- OTHER
- 提供記録媒体が上記以外の場合
(c) 作成例
提供記録媒体がCD-ROMで,スペシャルファイル/dev/dsk/c0t5d0を使ってソフトウェアを登録する場合の例を次に示します。
/dev/dsk/c0t5d0 ISO9660 NETM/DM/WPPアクセス CD-R
(d) 注意事項
- ディスク系の提供記録媒体にアクセスするスペシャルファイルは,キャラクタ型にしてください。
- CD-ROMにアクセスするスペシャルファイルはブロック型にしてください。
(4) インストールスクリプトファイルの作成
インストールスクリプトファイルは,JP1/NETM/DM Clientが提供する次のファイルを任意に編集して使うことができます。
- JP1/NETM/DM Clientが提供するインストールスクリプトファイル
HP-UX以外の場合:/NETMRDS/rdsprm/SCIFILE
HP-UXの場合:/etc/opt/NETMDMW/rdsprm/SCIFILE
- JP1/NETM/DM Clientが提供するインストールスクリプトファイルの内容
![[図データ]](figure/zu050020.gif)
インストールスクリプトファイルの記述方法についてはWindows版のJP1/NETM/DMのマニュアルを参照してください。
インストールスクリプトファイルは配布管理システムでも作成できます。配布管理システムで作成する場合は,パッケージング時に作成する必要はありません。
(5) 組み込み時に実行させるUAPの作成(基本機能)
基本機能を使用してパッケージを組み込む場合,組み込み処理の前後に,次のUAPを起動できます。UAPの起動はスーパユーザで実行されます。
- ユーザ組み込み処理
- 他社ソフトウェア,ユーザデータ・ユーザプログラム,またはOSパッチの組み込みの前後に起動される処理です。ユーザ組み込み処理は,さらにユーザ組み込み前処理とユーザ組み込み後処理の二つに分類されます。
- PPインストール後処理
- 日立プログラムプロダクトのインストールのあとに起動される処理です。
ここでは,パッケージング時にUAPを作成・設定する方法を説明します。
(a) ユーザ組み込み処理の作成・設定
ユーザ組み込み後処理は,次の手順で作成・設定します。
- ユーザ組み込み処理のプログラムを作成する
ユーザ組み込み処理は,処理終了後に次のリターンコードを返すよう作成してください。
正常終了:0
異常終了:0以外
異常終了のリターンコードが返された場合,JP1/NETM/DM Clientは組み込みエラーとして処理します。ユーザ組み込み処理の作成時の注意事項を次に示します。
- コマンドのパス名(コマンド引数を除く)にはスペースを含まない
- ユーザ組み込み処理はスーパユーザの権限で起動される
- 応答待ちになる処理を入れない
- 標準出力および標準エラー出力にはメッセージを出力しない
- 環境変数はJP1/NETM/DM Client動作時の内容が引き継がれる
- ユーザ組み込み処理でファイルのコピー,ログ出力などのファイル操作を行う場合,ファイル名は絶対パスで指定する
- 登録ファイルで次の属性を設定する
Generator STANDARD
APbeforeGeneration ユーザ組み込み前処理のパス名
APafterGeneration ユーザ組み込み後処理のパス名
ユーザ組み込み処理のパス名は,絶対パス名で指定します。ただし,/NETMRDS/usrcom/(HP-UXの場合は/opt/NETMDMW/usrcom/)ディレクトリ下に作成しておけば,相対パス名で指定できます。
- 異常終了のリターンコードを確認する
作成したUAPが異常終了した際のリターンコードを,基本機能のメッセージログファイルで確認することができます。組み込みエラーとなった場合にUAPのリターンコードを確認してください。
作成したUAPが異常終了すると,/NETMRDS/rdsprm/MAIN.LOGF(HP-UXの場合は/var/opt/NETMDMW/rdsprm/MAIN.LOGF)にKDDM2100-Eメッセージが出力されます。このメッセージの最後に出力される4つの数字のうち,2番目の数字がUAPのリターンコードとなります。メッセージの出力例を次に示します。
09.07.31 12:00:00 0000001234 0000001 KDDM2100-E : 指定したゼネレータにエラーが発生しました。
43 APbeforeGen 1 255 1 2
~~~~~ |
※下線の箇所がUAPのリターンコードです
次のような運用をする場合のユーザ組み込み処理の作成例を示します。
- ユーザ組み込み前処理(/users/bin/install check)
組み込み前にワークディレクトリを削除し,組み込み開始ログを出力する
- ユーザ組み込み後処理(/users/bin/prog1 DUMMY01)
パッケージ(DUMMY01)を組み込んだあと,組み込んだ日付をファイル(/tmp/DUMMY01)に出力する
- 登録ファイルの指定
Group A1
ResourceName DUMMY01
:
Generator STANDARD
APbeforeGeneration "/users/bin/install check"
APafterGeneration "/users/bin/prog1 DUMMY01"
: |
- ユーザ組み込み前処理の内容
/bin/rm -r /usrdata/WORK
RTN =$?
if [ $RTN != 0]
/bin/echo "組み込み準備処理失敗(ワークファイル削除)" >> /haifu/LOG
exit $RTN
fi
/bin/mkdir /usrdata/WORK
RTN=$?
if [ $RTN != 0]
/bin/echo "組み込み準備処理失敗(ワークディレクトリ作成)" >> /haifu/LOG
exit $RTN
fi
/bin/echo "組み込み準備処理完了" >> /haifu/LOG
exit 0 |
- ユーザ組み込み後処理の内容
RESOURCE=$1
/bin/echo 'RESOURCE='$RESOURCE 'TIME=' '/bin/date' > /tmp/$RESOURCE
exit 0 |
(b) PPインストール後処理の作成・設定
PPインストール後処理は,次に示す手順で使用します。
- PPインストール後処理のプログラムを作成し,配布先システムに配布する
PPインストール後処理は,処理終了後に次のリターンコードを返すよう作成してください。
正常終了:0
異常終了:0以外
PPインストール後処理の作成時の注意事項を次に示します。
- コマンドのパス名(コマンド引数を除く)にはスペースを含まない
- PPインストール後処理はスーパユーザの権限で起動される
- 応答待ちになる処理を入れない
- 標準出力および標準エラー出力にはメッセージを出力しない
- 環境変数はJP1/NETM/DM Client動作時の内容が引き継がれる
- PPインストール後処理でファイルのコピー,ログ出力などのファイル操作を行う場合,ファイル名は絶対パスで指定する
- 登録ファイルで次の属性を設定する
APafterGeneration PPインストール後処理のパス名
PPインストール後処理のパス名は,絶対パス名で指定します。ただし,/NETMRDS/usrcom/(HP-UXの場合は/opt/NETMDMW/usrcom/)ディレクトリ下に作成しておけば,相対パス名で指定できます。
なお,PPインストール後処理が異常終了しても,配布したプログラムプロダクトのセットアップは正常終了しています。
JP1/NETM/DM Clientを配布したあとに,JP1/NETM/DM Clientを自動起動させる場合の,PPインストール後処理の例を示します。
- 登録ファイルの指定
Group P1
PPName P-1J42-2C91
:
APafterGeneration "users/bin/PP install"
: |
- PPインストール後処理の内容
/usr/bin/rdsdmse
RTN=$?
if [$RTN != 0]
then
/bin/echo "NETM/DM起動失敗" >> /haifu/LOG
exit $RTN
fi
/usr/bin/rdsdmsts -l #コネクション状態の表示
exit 0 |
(6) 組み込み時に実行させるUAPの作成(組み込み支援機能)
JP1/NETM/DM Managerの配布支援機能を使用して配布されたパッケージは,配布先システムで組み込み支援機能を使用して組み込まれます。配布支援機能からのパッケージ配布時にUAPを指定しておくと,組み込み支援機能は,組み込みの前後に指定されたUAPを起動します。
組み込み支援機能が起動させるUAPには,次の3種類があります。
- 組み込み用UAP
- 配布したパッケージを組み込むための処理を記述したUAPです。パッケージとは別のワークディレクトリに解凍して起動されます。組み込み用UAPを使用した組み込みをUAP組み込みといいます。
- リンケージファイル
- パッケージを組み込んだあとに起動する,ライブラリのリンク処理を記述したファイルです。処理の結果を配布管理システムに通知します。リンケージファイルを使用した組み込みをリンケージ組み込みといいます。
- 起動UAP
- パッケージを組み込んだあとに起動するユーザ固有の処理処理を記述したファイルです。処理の結果は配布管理システムに通知しません。起動UAPを使用した組み込みを組み込み後UAP起動といいます。
これらのUAPは,コマンドまたはシェルプロシジャとしてBシェルまたはCシェルで作成してください。ただし,Cシェルで作成する場合は,UAPの1行目の1カラム目から,次のように記述する必要があります。
UAP作成時の注意事項を次に示します。
- コマンドのパス名(コマンド引数を除く)にはスペースを含まない
- UAPはスーパユーザの権限で起動される
- 応答待ちになる処理を入れない
- 標準出力および標準エラー出力にはメッセージを出力しない
- 環境変数はJP1/NETM/DM Client動作時の内容が引き継がれる
- UAPでファイルのコピー,ログ出力などのファイル操作を行う場合,ファイル名は絶対パスで指定する
(a) UAP起動時のインタフェース
UAPは,配布先システムの組み込み支援機能のゼネレータが,次の形式で起動します。
UAP名 インタフェースファイル名 資源格納ディレクトリ名 |
- UAP名
- 起動するUAPの名称です。
- インタフェースファイル名
- UAPによる組み込み処理で必要な情報を格納したファイル(インタフェースファイル)の名称をフルパスで格納します。
- 組み込み支援機能のゼネレータが渡すインタフェースファイルの形式を表2-6に示します。項目の補足説明を「備考」欄に示します。格納場所は/usr/tmpです。
表2-6 インタフェースファイルの形式
項目 | 型 | サイズ (バイト) | 備考 |
---|
資源名 | C | 44 | - |
バージョン/リビジョン | C | 8 | VVRRZZTTの形式で格納されています。 |
世代番号 | C | 4 | - |
識別子 | C | 1 | - |
資源登録日 | C | 6 | YYMMDDの形式で格納されています。 (YY:西暦の下2けた,MM:月,DD:日) |
資源登録者 | C | 14 | - |
プログラム名 | C | 50 | - |
容量 | C | 6 | キロバイト単位で表示されます。 |
FD枚数 | C | 3 | - |
コメント | C | 64 | - |
ユーザエリア | C | 100 | - |
組み込み状態情報 | C | 1 | 組み込みの状態を数字で示します。 (1:組み込み前,2:組み込み後,3:組み込み失敗) |
DM種別 | C | 1 | - |
資源グループ | C | 2 | - |
処理結果情報 | X | 4 | UAP組み込みの組み込み結果(リターン値)や組み込み詳細情報など,ユーザ任意の情報が格納されています。 |
予備 | C | 716 | - |
(凡例)-:該当なし
- 資源格納ディレクトリ名
- UAP組み込みの場合に,パッケージが格納されているディレクトリの名称をフルパスで格納します。リンケージ組み込みおよび組み込み後UAP起動の場合は,このパラメタは設定されません。
(b) UAP終了時のインタフェース
UAP終了時にUAPが設定する終了ステータス,および配布先システムで取得されるリターン値について説明します。
- 終了ステータス
- UAPでは,処理終了時,表2-7に示すコードを終了ステータスとして設定する必要があります。表2-7に示す終了ステータスは,組み込み支援機能のログファイルには,256からコード分をマイナスした値で出力されます。
表2-7 UAPで設定する終了ステータス
コード | 設定状況(意味) |
---|
0 | 正常終了 |
-2 | ディスク容量不足 |
-3 | インタフェース不良 |
-4 | システムエラー |
-6 | 内部エラー |
-15 | その他エラー |
- UAPのリターン値
- UAPの起動処理中にエラーが発生した場合,組み込み支援機能のログファイルには,表2-7のコード以外に,表2-8に示すリターン値が設定される場合があります。
表2-8 UAPのリターン値
リターン値 | 現象 |
---|
17 | 指定されたUAPがない |
18 | UAP監視時間タイムオーバー |
19 | 内部エラー |
20 | システムエラー |
21 | シグナル発生による中断 |