epkg コマンド

目的

暫定修正 マネージャー emgrによってインストール可能な 暫定修正 パッケージを作成します。

構文

epkg [ -w WorkDirectory ] [ -a APARrefFile ] [ -p PrerequisiteFile ] [ -d DescriptionFile ] [ -e interimfixControlFile ] -g PrerequisiteFile ] [ -l LockFile ] [ -S SupersedeFile ] [ -u {y|n}]] [ -r {y|n|o}] [ -s ] [ -T {y|n}] [ -X ] [ -v ] interimfixLabel

説明

epkg ツールは、2 つの異なるモード (対話モードテンプレート・ベース・モード) で実行することができます。 対話モードでは、いくつかの質問が表示され、その回答に基づいて 暫定修正 パッケージが構成されます。 テンプレート・ベース・モードでは、対話モードで尋ねられた質問に対する回答とともに提供される 暫定修正 制御ファイルが使用されます。 暫定修正 パッケージは、 emgr コマンドで開始される 暫定修正 マネージャーによってインストールされます。

対話モード

epkg コマンドは、デフォルトでは対話モードで実行されます。 唯一の必須パラメーターは 「暫定修正」 ラベルです。 epkg セッションを中断すると、 暫定修正 制御ファイルが保存されます。 同じ 暫定修正 ラベルを使用して新規セッションを開始すると、以前の 暫定修正 制御ファイルを引き続き使用するかどうかを尋ねられます。 対話式 epkg セッションを開始する前にこの情報を提供するには、 -u フラグを指定して epkg を実行します。

epkg コマンドは質問順序のレコードを保持します。 このコマンドにより、ユーザーはサブコマンドを使用して各質問の間をナビゲートすることができます。 また、 epkg コマンドは、ユーザーが提供した前の応答を覚えており、 その応答をデフォルトの応答として設定します。 epkg サブコマンドについては、 サブコマンド のセクションで説明しています。

すべての質問に回答した後、 epkg コマンドは 暫定修正 制御ファイルを検証し、 emgr コマンドを使用してインストールできる圧縮 tar パッケージを作成します。

制御ファイル・テンプレートの使用

暫定修正 制御ファイルをテンプレートとして使用することにより、 暫定修正 パッケージを非対話式に作成することができます。 完成した 暫定修正 制御ファイルの例を以下に示します。

# interim fix control file complete example 
ABSTRACT=This is a test of epkg. 
PRE_INSTALL=/tmp/pre_install 
POST_INSTALL=. 
PRE_REMOVE=/tmp/pre_remove
POST_REMOVE=.
REBOOT=yes 
PREREQ=. 
DESCRIPTION=/tmp/description 
EFIX_FILES=2
APARREF=/tmp/aparref
LKU_CAPABLE=no

EFIX_FILE:
        EFIX_FILE_NUM=1
        SHIP_FILE=/home/test/ls 
        TARGET_FILE=/usr/bin/ls
        TYPE= 1 
        INSTALLER= 1  
        ACL= DEFAULT
        AR_MEM=.

EFIX_FILE:
        EFIX_FILE_NUM=2
        SHIP_FILE=/home/test/mystrcat.o 
        TARGET_FILE=/usr/ccs/lib/libc.a
        TYPE= 2
        INSTALLER= 1  
        ACL= root:system:555
        AR_MEM=strcat.o

暫定修正 制御ファイルの値は、以下のとおりです。

ABSTRACT
暫定修正 パッケージについて簡単に説明します。 abstract は 38 バイト以内に制限されています。
PRE_INSTALL
インストール・プレビューの後、 暫定修正 ファイルがインストールされる前に実行されるスクリプトの場所を指定します。 PRE_INSTALL スクリプトで障害が発生すると、 暫定修正 パッケージのインストールが打ち切られます。 このコンポーネントはオプションです。
POST_INSTALL
すべての 暫定修正 ファイルが正常にインストールされた後に実行されるスクリプトの場所を指定します。 このコンポーネントはオプションです。
PRE_REMOVE
削除プレビューの後、削除操作中に 暫定修正 ファイルが削除される前に実行されるスクリプトの場所を指定します。 このコンポーネントはオプションです。
POST_REMOVE
削除操作中に 暫定修正 ファイルが削除された後に実行されるスクリプトの場所を指定します。 このコンポーネントはオプションです。
REBOOT
この 暫定修正にリブートが必要かどうかを指定します。 指定できる値は yes または no です。 この値が yes に設定されている場合、 emgr コマンドは、必要に応じてブート・イメージに変更を加え、インストール後にリブートするようにユーザーに指示するメッセージを出します。
PREREQ
installp の前提条件を含むファイルのロケーションを指定します。 このコンポーネントはオプションです。
APARREF
この暫定修正に関連付けられた APAR の参照番号および要約を含むファイルのロケーションを指定します。 このファイルの各行には、APAR 参照番号、APAR 番号、および APAR の要約が含まれています。 ファイルのフォーマットは、次のとおりです。
APAR reference|:|APAR number|:|APAR abstract
有効な APARREF ファイルを作成するには、すべてのフィールドが必要なわけではありません。 特定のフィールドが不明または不要である場合は、単純に NONE を指定するか、そのフィールドをブランクにします。 有効な APARREF ファイルの例をいくつか以下に示します。
例 1
123456|:|IV12345|:|This is the APAR abstract
789012|:|IV67890|:|This is another APAR abstract
例 2
123456|:|NONE|:|NONE
789012|:|NONE
345678
例 3
NONE|:|IV12345|:|This is the APAR abstract
例 4
NONE
APAR 参照ファイルを APAR 参照番号と一緒に提供すると、installp コマンドによる自動除去機能が、暫定修正に対して有効になります。 この installp コマンドによる自動除去とは、installp が適用中のテクノロジー・レベル、Service Pack、あるいは PTF に該当の修正が含まれている場合に、暫定修正を自動的に除去する機能を指します。 APAR 参照フィールドに NONE がリストされている場合、暫定修正に対して自動除去機能は有効になりません。
説明
インストールされる インテリム・フィックス ・パッケージの詳細な説明を含むファイルの場所を指定します。
EFIX_FILES
暫定修正内のファイルの総数を指定します。
EFIX_FILE_NUM
暫定修正内のファイルの番号を指定します。 暫定修正 内の各ファイルには、1 から 400 までの固有の番号が必要です。 epkg コマンドは、 暫定修正ごとに最大 400 個のファイルをサポートできます。
SHIP_FILE
epkg暫定修正 パッケージにアーカイブするファイルの場所を指定します。 このファイルに絶対パスまたは相対パスを指定することができます。
TARGET_FILE
SHIP_FILE がインストールされるロケーションを指定します。 このロケーションは、 暫定修正 パッケージがインストールされるシステム上にあります。 このファイルへの絶対パスを指定する必要があります。 このファイルが RPM Package Manager (RPM) や installp パッケージなどの登録済みパッケージの一部である場合は、追跡する場所を指定する必要があります。
タイプ
インストールされるファイルのタイプを指定します。 有効な選択項目は次のとおりです。
1
ファイル (標準ファイルまたは実行可能ファイル)
2
ライブラリーまたはアーカイブ・メンバー
INSTALLER
暫定修正 パッケージを追跡するインストーラーのタイプを指定します (存在する場合)。 有効な選択項目は次のとおりです。
1
installp によって現在追跡される
2
現在 RPM によって追跡されています
3
ISMP によって現在追跡される
4
別のインストーラーによって現在追跡される
5
これは installp によって追跡される新規ファイルです
6
RPM によって追跡される新規ファイル
7
これは ISMP によって追跡される新規ファイルです
8
これは別のインストーラーによって追跡される新規ファイルです
9
どのインストーラーによっても追跡されない
ACL
ファイルのアクセス属性 (モードおよび所有権) を指定します。 この属性が DEFAULT に設定されていると、emgr コマンドは、 置換されるファイルの現行アクセス権を保持します。 ただし、ターゲット・ファイルが新規ファイルである場合、またはユーザーが -v フラグを使用して許可を指定する場合は、次のような構文 Owner:Group:OctalModesを使用して ACL 属性を入力できます。
ACL= root:system:555
AR_MEM
アーカイブ・メンバーの名前を指定します。 このオプションは、 TYPE= 2 の場合にのみ有効です。 この場合、 SHIP_FILE は出荷されるアーカイブ・メンバーのローカル・ロケーションであり、 TARGET_FILE はターゲット・アーカイブであり、 ACL はアーカイブ・メンバーに適用されます。 例えば、 以下の値を設定すると、ローカル・ファイル myshr.o はターゲット・アーカイブ /usr/ccs/lib/libc.a 内のメンバー shr.o になります。
TYPE=2
SHIP_FILE=/home/myshr.o
TARGET_FILE=/usr/ccs/lib/libc.a
AR_MEM=shr.o 
BUILD_BOOT_IMAGE
ブート・イメージを再作成する必要があるかどうかを指定します。 指定できる値は yes または no です。 このフィールドが「はい」に設定されている場合は、リブートが必要です。 このフィールドが yes に設定され、 REBOOT フィールドが no に設定されている場合、 epkg はエラーを戻します。
E2E_PREREQ
暫定修正 制御ファイル内の 暫定修正 前提条件ファイルの場所を指定します。
PKGLOCKS
暫定修正 制御ファイル内のパッケージ・ロック・ファイルのローカル・ファイル・ロケーションを指定します。
SUPERSEDE
暫定修正 制御ファイル内の置き換えられたファイルのローカル・ファイル・ロケーションを指定します。
FIXTESTED
この 暫定修正 がテスト済みであるかどうかを指定します。 指定できる値は yes または no です。
LKU_CAPABLE
この暫定修正が 「ライブ・アップデート」 操作と互換性があるかどうかを指定します。 この属性の値は、 yes または noにすることができます。 理想的には、すべてのインテリム・フィックスに 「ライブ・アップデート」 対応のマークを付ける必要があります。 この互換性は、複数の暫定修正を 1 つのグループとしてインストールするために必要です。 暫定修正が ライブ・アップデート 操作に適していない場合、 LKU_CAPABLE 属性は noの値に設定されますが、ほとんどの暫定修正では、この属性は yesの値に設定されます。

置き換えのためのサポート

パッケージャーは、epkg のインストール時に置き換えられる 暫定修正 ラベル名を含むファイルを指定することができます。 これにより、 emgr コマンドは、 暫定修正 パッケージをインストールする前に、このファイルに指定されているすべての 暫定修正 ラベル (インストールされている場合) を除去します。 インストール済みの置き換えられた 暫定修正 を削除しないと、 暫定修正 パッケージのインストールが打ち切られます。 置き換えられるラベルは、最大 32 までサポートされます。 パッケージャーは、epkg コマンドで置き換えファイルを次のように指定できます。
  • ファイル場所は -S supersede_file フラグで指定します。 次に例を示します。
    epkg -S /tmp/superseded.epkg myefix
  • epkg コマンドは、拡張オプション・フラグ (-v) が対話モードで使用されていれば、 置き換えられるファイルを求めるプロンプトを出します。 次に例を示します。
    Enter the location for the supersede file or "." to skip.
    -> /tmp/superseded.epkg
  • SUPERSEDE 属性を、 暫定修正 制御ファイル内の置き換えられたファイルのローカル・ファイル・ロケーションに設定します。 次に例を示します。
    SUPERSEDE=/tmp/superseded.epkg
置き換えられるファイルのフォーマットは、1 行に 1 つずつ置き換えられる 暫定修正 ラベルです。 # 記号で始まるコメントと、先頭の空白は無視されます。 次に例を示します。
# Requisites for efix myefix3
myefix1
myefix2

prereq および xreq のサポート

パッケージャーは、インストールされる 暫定修正 パッケージに必要な暫定修正の 暫定修正 ラベル名を含むファイルを指定できます。 これにより、 emgr コマンドは、 暫定修正 ラベルがインストールされているかどうかを検査します (PREREQ)。 必要条件がインストールされていない場合、 emgr コマンドは 暫定修正 パッケージのインストールを打ち切ります。 ユーザーは、XREQ 暫定修正 ラベルを指定することもできます。 これにより、指定された xreq 暫定修正 がインストールされている場合、 emgr コマンドは 暫定修正 をインストール しません

パッケージャーは、以下の方法で、 epkg コマンドを使用して 暫定修正 前提条件ファイルを指定できます。
  • ファイル場所を -g efix_prereq_file フラグで指定します。 次に例を示します。
    epkg -g /tmp/efixprereq.epkg myefix
  • epkg コマンドは、拡張オプション・フラグ (-v) が対話モードで使用される場合、 暫定修正 前提条件ファイルを求めるプロンプトを出します。 次に例を示します。
    Enter the location for the efix prerequisite file or "." to skip.
    -> /tmp/efixprereq.epkg
  • E2E_PREREQ 属性を、 暫定修正 制御ファイル内の 暫定修正 前提条件ファイルのローカル・ファイル・ロケーションに設定します。 次に例を示します。
    E2E_PREREQ=/tmp/efixprereq.epkg
暫定修正 の前提条件ファイル項目の形式は、以下のとおりです。
EfixLabel  RequisiteType: PREREQ/XREQ
次に例を示します。
oldefix1 PREREQ  # Make sure oldefix1 is already installed

oldefix4 XREQ    # Make sure oldefix4 is NOT installed

サポートされる 暫定修正 前提条件の最大数は 32 です。

installp による暫定修正の自動除去のサポート

パッケージャーは、APAR 参照ファイルに APAR 参照番号を含めるように指定することができます。 APAR 参照番号を使用することにより、修正が出荷されたすべてのテクノロジー・レベルについて、installp は暫定修正から APAR にマップし直すことができます。 適用されるテクノロジー・レベル、Service Pack、あるいは PTF にこの暫定修正が含まれていると installp が判断した場合には、installp は更新を適用するまえにこの暫定修正を自動的に除去します。

出力およびトポロジー

emgr -d フラグは、 暫定修正 パッケージの内容とトポロジーを表示します。 -d オプション は、-v 詳細オプションとともに働きます。 詳細の有効なレベルは 1 から 3 です。

詳細レベル 1 (デフォルト) が表示するのは、次のものです。
  • ラベル
  • EFIX FILES
  • TARGET LOCATION
詳細レベル 2 が表示するのは、次のものです。
  • レベル 1 のすべての出力
  • ABSTRACT
  • REBOOT
  • PRE-REQUISITES
  • PRE_INSTALL
  • POST_INSTALL
  • PRE_REMOVE
  • POST_REMOVE
  • FILE TYPE
詳細レベル 3 が表示するのは、次のものです。
  • レベル 2 のすべての出力
  • PACKAGING DATE
  • VUID
  • サイズ
  • ACL
  • CKSUM
  • PACKAGE
  • EFIX DESCRIPTION
  • CONTENTS OF INSTALL SCRIPTS (テキスト・ファイルの場合)
次に例を示します。
  • 暫定修正 パッケージ test.102403.epkg.Zに関するレベル 1 の詳細出力を取得するには、次のように入力します。
    emgr -d test.102403.epkg.Z
  • 暫定修正 パッケージ test.102403.epkg.Zに関するレベル 3 の詳細出力を取得するには、次のように入力します。
    emgr -v3 -d test.102403.epkg.Z

追加のパッケージ・ロックのサポート

パッケージャーは、emgr コマンドで ロックすべきパッケージ名およびファイル所有権に基づいて自動的にロックされる パッケージ名を含むファイルを指定できます。 パッケージャーは、 パッケージの名前、インストーラー、およびパッケージ・ロック・アクションのタイプ (ALWAYS/IFINST) を指定する必要があります。 パッケージャーは、このパッケージ・ロック・ファイルを 次のようにして epkg コマンドで指定できます。
  • ファイル場所を -l pkg_locks_file フラグで指定します。 次に例を示します。
    epkg -l /tmp/pkglock.epkg myefix
  • epkg コマンドは、拡張オプション・フラグ (-v) が使用されていれば、 パッケージ・ロック・ファイルを求めるプロンプトを出します。 次に例を示します。
    Enter the location for the package locks file or "." to skip.
    -> /tmp/pkglock.epkg
  • PKGLOCKS 属性を、 暫定修正 制御ファイル内のパッケージ・ロック・ファイルのローカル・ファイル・ロケーションに設定します。 次に例を示します。
    PKGLOCKS=/tmp/pkglock.epkg
パッケージ・ロック・ファイルのフォーマットは、次のとおりです。
PackageName PackageAction PackageType
ここで、PackageName はロックされるパッケージの 名前、PackageAction は以下のいずれかです。
項目 説明
ALWAYS このパッケージを常時ロックしようとします。 パッケージのロックに失敗すると、その結果、インストールは失敗します。
IFINST パッケージがインストールされている場合のみ、このパッケージをロックしようとします。 インストール済み パッケージのロックに失敗すると、 その結果、インストールは失敗します。

PackageType は installp (デフォルト)、rpm、ISMP、other です。

注: installp ロックのみがサポートされています。

パッケージ・ロックは、最大 32 までサポートされます。

例:
bos.rte.lvm ALWAYS installp
bos.games   IFINST installp

上記の例では、emgr コマンドは、インストール時は 常に bos.rte.lvm をロックし、除去時にはそれを アンロックします。 また、emgr コマンドは 、bos.games については、これがインストールされている場合のみ ロックし、(ロックした場合は) 除去時にそれをアンロックします。

bosboot オプションのサポート

epkg コマンドの reboot オプションには、 ブート・イメージを再ビルドしないリブートが含まれています。

ユーザーは、以下のようにして、bosboot なしのリブートを指定できます。
  • epkg -r フラグの o 引数は、リブート 「のみ」が必要であって、emgr コマンドは bosboot を呼び出さない (すなわちブート・イメージを再ビルドしない) ことを指示します。
  • 対話モードのリブート・プロンプトは、次の選択肢を示します。
    Select reboot policy for this efix package:
    1) Reboot is NOT required.
    2) Reboot is required. The boot image will be rebuilt.
    3) Reboot is required. The boot image will NOT be rebuilt.
  • 暫定修正 制御ファイルで、BUILD_BOOT_IMAGE および REBOOT 属性を「yes」または「no」に設定します。 以下の REBOOT および BUILD_BOOT_IMAGE オプションがサポートされています。
    項目 説明
    REBOOT=no & BUILD_BOOT_IMAGE=no リブートは必要ない。
    REBOOT=yes & BUILD_BOOT_IMAGE=yes リブートが必要。 The boot image will be rebuilt.
    REBOOT=yes & BUILD_BOOT_IMAGE=no リブートが必要。 ブート・イメージは再ビルドされません
    注: REBOOT=no & BUILD_BOOT_IMAGE=yes では、 epkg コマンドからエラーが発生します。

フラグ

項目 説明
-a APARrefFile APAR 参照番号を含むファイルを指定します。
-d DescriptionFile 暫定修正 の説明を含むファイルを指定します。
-e interimfixControlファイル 暫定修正 の構成方法を制御する 暫定修正 制御ファイルを指定します。
-g PrerequisiteFile 暫定修正 ラベル名を含む 暫定修正 前提条件ファイルの場所を指定します。 これらのラベルは、 暫定修正 パッケージをインストールする前に必要です。
-l LockFile パッケージ名が入っているロックされたファイルの位置を指定します。 これらのパッケージは、 emgr コマンドによってロックされるか、ファイル所有権に基づいて自動的にロックされます。
-p PrerequisiteFile installp の前提条件を含むファイルを指定します。
-r {y|n|o} epkg REBOOT 属性を設定します。 この値が yes に設定されると、 emgr コマンドは必要に応じてブート・イメージに変更を加え、 インストール後のリブートを指示するメッセージを出します。 y 引数は、リブートと bosboot が必要であることを指定します。 n 引数は、リブートが不要であることを指定します。 o 引数は、リブートが必要であることを示していますが、 emgrbosbootを呼び出してはなりません。
-S SupersedeFile 「暫定修正」 ラベル名を含む 暫定修正 置き換えファイルの場所を指定します。 これらのラベルは、 epkg のインストール時に置き換えられます。
-s epkg コマンドがスクリプトに関する質問および前提条件ファイルをスキップするようにします。
-T この 暫定修正 がテストされたかどうかを指定します。 指定できる値は yes または no です。 デフォルトは no です。
-u {はい|いいえ} 既存の 暫定修正 制御ファイルを使用するかどうかを指定します。
-v epkg コマンドが拡張オプションに関してさらに質問を加えます。 これには、すべての 暫定修正 ファイルに対する許可を指定するように求めることも含まれます。
-w WorkDirectory epkg コマンドが使用する代替作業ディレクトリーを指定します。 デフォルトの作業ディレクトリーは $HOME/epkgwork です。
-X スペースが必要で拡張が可能な場合に、 暫定修正 のインストール時に emgr コマンドがファイルシステムを自動的に拡張するようにします。

パラメーター

暫定修正ラベル
この 暫定修正 パッケージを一意的に識別するストリングを指定します。 暫定修正 ラベルの最大長は 10 バイトです。
注: 暫定修正 マネージャーでは、システム上の各 暫定修正 ラベルが固有であることが必要です。

サブコマンド

B!
前の質問に戻ります。
S!
現在の 暫定修正 制御ファイルの状況を表示します。
Q!
暫定修正 制御ファイルを保存せずに終了します。 (Ctrl + C キー・シーケンスを使用すると、 epkg コマンドは、 暫定修正 制御ファイルを保管するかどうかを尋ねます。)
H!
現行の質問のヘルプ情報を表示します。

終了状況

0
epkg コマンド操作が正常に完了しました。
>0
エラーが発生しました。

  1. epkg コマンドを対話モードで実行し、 「暫定修正」 ラベルが myfix暫定修正 パッケージを作成するには、次のように入力します。
    epkg myfix
  2. /tmp/ecfileという名前の既存の 暫定修正 制御ファイルを使用して、 myfix という 暫定修正 ラベルを持つ 暫定修正 パッケージを作成するには、次のように入力します。
    epkg -e /tmp/ecfile myfix
  3. myfix暫定修正 ラベルを使用して 暫定修正 パッケージを作成し、前提条件ファイル /tmp/prereq、説明 /tmp/description、および拡張オプションを指定するには、次のように入力します。
    epkg -v -p /tmp/prereq -d /tmp/description myfix

ファイル

項目 説明
/usr/sbin/epkg epkg コマンドが入っています。