# Compaq OpenVMS
システム管理者マニュアル

前へ | 次へ | 目次 | 索引

## 5.4.10 禁止したスタートアップ・ファイルの実行

STARTUP ENABLE コマンドを使用すると，実行を一時的に禁止していたスタートアップ・ファイルを，再度実行可能にすることができます。 /NODE 修飾子を指定すると，特定のノードについてのみスタートアップ・ファイルを実行可能にすることもできます。

STARTUP ENABLE コマンドを使用するためには，スタートアップ・データベースに対する読み込みアクセスおよび書き込みアクセス権が必要です。このコマンドを使って STARTUP$STARTUP_VMS を変更しないでください。

一度禁止したスタートアップ・ファイルを実行可能にするためには，削除するためには， STARTUP ENABLE コマンドを，次の形式で入力します。

    STARTUP ENABLE FILE   ファイル名

ファイル名には，実行可能にするスタートアップ・ファイルの名前を指定します。

例

    $ RUN SYS$SYSTEM:SYSMAN
    SYSMAN> STARTUP ENABLE FILE FOR$LPMAIN_043_STARTUP.COM/NODE=ZURICH

# 5.5 システム・バージョン依存イメージの登録

OpenVMS オペレーティング・システム上で稼動するアプリケーションは，旧バージョンのオペレーティング・システムの内部インタフェースに依存している場合があります。たとえば，アプリケーションはシステム・ルーチンを呼び出したり，システム・データ・セルやシステム・データ構造を参照する場合があります。オペレーティング・システムの新しいバージョンでは，これらのインタフェースに変更が加えられていて，これらのインタフェースに依存するアプリケーションを壊す可能性があります。

ファイル内のイメージに関するイメージ・レコード情報を登録することは， イメージ登録 と呼ばれています。イメージ・アクティベータ INSTALL および SYSGEN は，イメージ登録で記録されたイメージのバージョンを調べません。イメージ登録を使用すると，オペレーティング・システムの以前のバージョンの内部インタフェースに依存しているアプリケーション・イメージ (メイン・イメージ，共有ライブラリ，デバイス・ドライバを含む) を今後も実行できます。

イメージ登録機能を使用すると，バージョンが異なるイメージを個々に登録することができます。また，登録解除，解析，イメージ登録されているイメージの表示なども実行できます。

## 5.5.1 システム・バージョン依存とイメージ登録 (VAX のみ)

オペレーティング・システムの内部インタフェースに依存するアプリケーションは，そのアプリケーション・イメージがリンクされている場合，通常，特定のオペレーティング・システムだけでしか動作しません。バージョンに依存するイメージは，次の両方を参照します。

- オペレーティング・システムのメジャー・バージョン番号

- コンポーネント・バージョン番号のセット (ロード可能実行イメージのバージョン番号)
  SYS.STB に対するイメージのリンクは次のいずれかの方法で行えます。

  - Linker ユーティリティの /SELECTIVE_SEARCH 修飾子で SYS.STB に対してリンクされたイメージは，リンク時に参照するシンボルのコンポーネント・バージョン番号しか持たない。この方法を推奨。

  - /SELECTIVE_SEARCH 修飾子なしで SYS.STB にリンクされたイメージは，すべてのコンポーネント・バージョンへの参照が可能。

イメージを実行させようとすると，システムは，そのイメージがオペレーティング・システムやシステム・コンポーネントの特定のバージョンに依存するかどうかを調べます。実行するシステムのバージョンが，そのイメージの要求するバージョンと一致しない場合，そのイメージは実行できません。

システムはまた，ユーザが INSTALL ユーティリティを使ってイメージをインストールしようとしたときも，SYSGEN ユーティリティを使ってデバイス・ドライバを接続しようとしたときも，バージョン番号をチェックします。

ユーザのシステムを新しいオペレーティング・システムのバージョンにアップグレードすると，新しいオペレーティング・システムのバージョンはイメージのバージョン要求事項には一致しないので，イメージは失敗することがあります。しかし，バージョン・チェックに失敗しても，新しいオペレーティング・システムのバージョンでも動作し続けるイメージもあります。

注意 OpenVMS VAX バージョン 6.0 では，メジャー・バージョン番号は変更されていません。次のコンポーネントのバージョン番号だけがその領域で変更があったことを示すため増加されました。 FILES_VOLUMES MEMORY_MANAGEMENT SECURITY この結果，VMS VAX バージョン 5.x システムで構築されたバージョン依存イメージのほとんどが (つまり， FILES_VOLUMES，MEMORY_MANAGEMENT，SECURITY のいずれも参照しないもの)，変更なしに OpenVMS VAX バージョン 6.0 で動作します。ただし，これらのコンポーネントを参照するバージョン依存イメージは，この節で説明するように，イメージ登録を使って登録しなければなりません。 OpenVMS VAX バージョン 6.1 では，バージョン番号は変更されていません。ただし，VMS VAX バージョン 5.x システム上で構成されたイメージは， FILES_VOLUMES，MEMORY_MANAGEMENT，SECURITY のいずれかを参照している場合，登録する必要があります。

互換イメージを継続して実行するには，イメージ登録機能を使って，そのイメージを登録します。インストールの一部としてリンクされたイメージを登録する必要はありません。なぜなら，これらは現在のオペレーティング・システムのバージョンと一致するからです。しかし，インストール中のイメージのリンクは，システム・バージョン依存が存在しないということを確認できません。イメージを再コンパイルしたり，ソース・コードを変更したりする必要があるかなど，現在のオペレーティング・システムのバージョンにおける変更情報については，リリース・ノートを参照してください。

重要 OpenVMS VAX システムでは，システム・クラッシュやデータの破損を防ぐため，十分注意してイメージをテストしてください。イメージの登録は必ずしもイメージを動作させるというわけではありません。登録は，単にバージョン・チェックをしないだけです。

## 5.5.2 イメージ登録機能の使い方 (VAX のみ)

イメージ登録機能でイメージを登録するには，コマンド・プロシージャ SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE.COM を次の形式で実行します。

    $ @SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE   キーワード -
       ファイル名

パラメータは次のとおりです。

キーワード | 表 5-3 の 1 つまたは複数のキーワードを指定する。複数のキーワードを指定する場合は，各キーワードをコンマで区切る。
ファイル名 | 登録したいイメージの名前と位置を指定する。 ファイル名 パラメータにはワイルドカード文字を使用できる。

表 5-3 REGISTER_PRIVILEGED_IMAGE.COM キーワード
キーワード | アクション
--- | ---
ANALYZE | バージョン依存イメージの名前とサブシステム依存を表示する。
REGISTER | イメージをローカル・システムに登録する。
DEREGISTER | ローカル・システムの登録からイメージを削除する。
SHOW | 登録の内容を表示する。登録の内容を完全に表示するには，ワイルドカード (*) をファイル名として指定する。
CONFIRM | 指定されたイメージが登録に追加されるのか，削除されるのかそれぞれ確認する (REGISTER と DEREGISTER のみ)。
TRACE | 確認のためイメージ・ファイルをすべてリストする (REGISTER と DEREGISTER のみ)。
HELP | サポートされているキーワードと例を示す。

イメージがバージョンに依存しない場合は，次のメッセージが表示されます。

    REGISTER-I-SUMMARY n images examined, n have dependencies

このメッセージの中で，n はチェックされたイメージの数と，バージョンに依存するイメージの数を示します。

例

次の例は，V6USRAPP イメージを登録に追加します。

    $ @SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE REGISTER SYS$LIBRARY:V6USRAPP
    %REGISTER-I-ADDED added V6USRAPP to registry

# 5.6 ヘルプ・メッセージ・データベースのカスタマイズ

MSGHLP ユーティリティは，DCL プロンプトのシステム・メッセージについての説明を，オンラインで迅速にアクセスするためのユーティリティです。コンパックが提供する .MSGHLP$DATA ファイルに書き込みアクセスを持つユーザであれば，ヘルプ・メッセージのデータベースをカスタマイズして，よりユーザに分かりやすいメッセージにすることができます。以降の項では，カスタマイズの方法について説明します。

作業 | 参照箇所
--- | ---
インストールされなかったメッセージ用の $STATUS 値へのアクセス | 第 5.6.1 項
システム・レベルのデータベース検索パスの作成 | 第 5.6.2 項
コンパックが提供するメッセージの削除 | 第 5.6.3 項
コンパックが提供するメッセージに対する注釈の追加 | 第 5.6.4 項
コンパックが提供するメッセージの変更 | 第 5.6.5 項
コンパックが提供するデータベース・ファイルへのメッセージの追加 | 第 5.6.6 項

これらの作業を行うにあたっては，MSGHLP ユーティリティを理解しておく必要があります。ヘルプ・メッセージ機能，基本的な働き， HELP/MESSAGE コマンドとその修飾子については，『OpenVMS System Messages: Companion Guide for Help Message Users』を参照してください。またこのマニュアルでは，ヘルプ・メッセージ・データベースをカスタマイズするときに操作するファイルについても説明しています。

注意 現在のところ，コンパックが提供する .MSGHLP$DATA ファイルに追加した注釈などの情報は，アップグレードしたとき保存されません。ただし，独自に作成した .MSGHLP$DATA は将来のリリースの影響を受けません。 将来は，独自のメッセージをコンパックが提供するデータベース・ファイルに挿入するときに .MSGHLP ファイルを再利用することができます。将来のデータベースのデータ形式にもよりますが， .MSGHLP ファイルを利用して注釈を挿入することもできる可能性があります。

## 5.6.1 インストールされなかったメッセージ用の $STATUS 値へのアクセス

OpenVMS オペレーティング・システムの一部としてインストールされなかったメッセージは，システムに認識されるまで， $STATUS に格納された値と同じではありません。ヘルプ・メッセージ・ユーティリティが $STATUS に格納された値または /STATUS 修飾子で指定された値を変換しようとしても，その値がインストールしたメッセージまたはヘルプ・メッセージ・ユーティリティ作成時にリンクされたメッセージに一致しないと，検索は失敗します。しかし，インストールされなかったメッセージをシステムに認識させることができます。これらのメッセージには，ユーザ提供のメッセージ，サードパーティ・メッセージ，レイヤード製品や他の OpenVMS 機能のメッセージなどが含まれます。

作業方法

1. ヘルプ・メッセージ修飾子 /SECTION_FILE=* を使用して，メイン・ヘルプ・メッセージ・プログラム MSGHLP$MAIN.EXE にリンクされていない， OpenVMS 提供のメッセージ・セクション・ファイルをすべて取り込む。

       $ HELP/MESSAGE/SECTION_FILE=*

   このコマンドは，ユーザが変更可能なオブジェクト・ライブラリ
   SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB を生成する。ライブラリ内の各モジュールには，メッセージ・セクションの .EXE ファイルへのポインタが含まれている。ユーザは /SECTION_FILE 修飾子を使用して，追加モジュールをこのライブラリに挿入できる (次の手順を参照)。

   注意 SET MESSAGE filespec コマンドを使用してファイルを追加することもできます。ただし HELP/MESSAGE コマンドを実行した場合とは結果が異なります。この 2 つのコマンドの結果は独立しており，互いに影響を与えることはありません。つまり， Help/Message ユーティリティは， Message ユーティリティとやり取りしません。 両方のユーティリティで同一のメッセージ・セクションをトランスレートしたい場合は，それぞれのユーティリティでコーディングする必要があります。各ユーティリティで，異なるメッセージ・セクション・ファイルを指すよう設定することができます。

   /SECTION_FILE 修飾子を使用してオブジェクト・ライブラリを作成する，またはこのライブラリにモジュールを追加すると，必ずファイル
   MSGHLP$MESSAGE_SECTIONS.EXE も，オブジェクト・ライブラリ内の全モジュールから自動的に作成され，省略時のディレクトリに置かれる。オブジェクト・ライブラリの変更が終了したら，最終の .EXE ファイルを SYS$COMMON:[SYSLIB] (論理名 SYS$LIBRARY) にコピーする必要がある。
   これ以降，Help Message ユーティリティが状態コードを変換できないときに SYS$LIBRARY:MSGHLP$MESSAGE_SECTION.EXE イメージが存在すると， Help Message ユーティリティはこのイメージを起動し，イメージが指しているすべてのメッセージ・セクション・ファイルを検索する。ヘルプ・メッセージの検索時間は検索するファイル数に依存する。

2. 次のコマンドを何度でも自由に使用して， MSGHLP$MESSAGE_SECTIONS
   .EXE および SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB に特定のメッセージ・セクション・ファイル用のポインタ・モジュールを追加する。

       HELP/MESSAGE/SECTION_FILE=ファイル名.EXE

   省略時のファイル指定は SYS$MESSAGE:.EXE である。

3. SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB ファイルの内容で結果を確認する。

       $ LIBRARY/LIST MSGHLP$MESSAGE_SECTIONS.OLB

   .OLB ファイル内のモジュールの名前は， /SECTION_FILE 修飾子に指定した文字列から付けられる。
   Help Message ユーティリティは最大 42 個のメッセージ・セクション・ファイルを検索できる。 ファイルの検索順序は次のとおりである。

   - SET MESSAGE コマンドで最後に起動したファイル (存在する場合)

   - 出荷前に Help Message ユーティリティにリンクされているメッセージ・セクション

     - SYSMSG.EXE

     - SYSMGTMSG.EXE

     - CLIUTLMSG.EXE

     - PRGMSG.EXE

   - MSGHLP$MAIN.EXE またはこのプログラムが参照する共有可能なイメージに対して，明示的にリンクされているメッセージ・セクション・ファイル

   - SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.EXE にリンクされている非重複メッセージ・セクション・ファイル
     メッセージ・セクション・ファイルは .OLB ファイルにリストされている順序で検索される (アルファベット順)。メッセージ・セクション・ファイルの総数が 42 を超えると，.OLB ファイルの終わりの方のファイルは検索されない。

4. 必要であれば，.OLB ファイル内のメッセージ・セクション・ファイルへの参照を適当に削除して，Help Message ユーティリティで検索される 42 個のファイルを選択できる。アルファベット順で先の方のほどんど使用しないファイルを削除して，アルファベット順で後の方のファイルを 42 個の検索対象ファイルに含めることができる。たとえば，.OLB ファイルからネットワーク制御プログラム (NCP) メッセージを削除するには，次のコマンドを使用する。

       $ LIBRARY/DELETE=NETWRKMSG SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB

   モジュールを .OLB ファイルから削除するには， HELP/MESSAGE コマンドに /SECTION_FILE 修飾子を指定して実行し， .EXE ファイルを更新する必要がある。修飾子の引数には，新規ファイルまたは .OLB ファイルにリスト済みのファイルを指定できる。

5. ユーザの .OLB ファイルが， Help Message ユーティリティで検索したいメッセージ・セクション・ファイルを反映していれば，ユーザのアカウントから目的の .EXE ファイルを SYS$LIBRARY: にコピーする。

例

この例は次のイベントを実行します。

1. すべての OpenVMS 提供メッセージ・セクション・ファイルをリンクする。

2. 作成される .OLB ファイルを調べる。

3. .OLB ファイルから VVIEFMSG モジュールを削除する。

4. .OLB ファイルのリストに USERS:[TOOLS]NEW_MSGS.EXE を追加する。

5. 変更された .OLB ファイルの内容を調べる。

6. 目的の .EXE ファイルをローカル・アカウントから SYS$LIBRARY に追加する。

LIBRARY/LIST コマンドの出力は，例からは省略されていますので注意してください。

    $ HELP/MESSAGE/SECTION_FILE=*
    $ LIBRARY/LIST SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
    $ LIBRARY/DELETE=VVIEFMSG SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
    $ HELP/MESSAGE/SECTION_FILE=NEW_MSGS.EXE
    $ HELP/MESSAGE/SECTION_FILE=USERS:[TOOLS]NEW_MSGS.EXE
    $ LIBRARY/LIST SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
    $ COPY MSGHLP$MESSAGE_SECTIONS.EXE SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.EXE

前へ | 次へ | 目次 | 索引