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
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
の値に設定されます。
置き換えのためのサポート
- ファイル場所は
-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
#
記号で始まるコメントと、先頭の空白は無視されます。 次に例を示します。# Requisites for efix myefix3
myefix1
myefix2
prereq および xreq のサポート
パッケージャーは、インストールされる 暫定修正 パッケージに必要な暫定修正の 暫定修正 ラベル名を含むファイルを指定できます。 これにより、 emgr コマンドは、 暫定修正 ラベルがインストールされているかどうかを検査します (PREREQ)。 必要条件がインストールされていない場合、 emgr コマンドは 暫定修正 パッケージのインストールを打ち切ります。 ユーザーは、XREQ 暫定修正 ラベルを指定することもできます。 これにより、指定された xreq 暫定修正 がインストールされている場合、 emgr コマンドは 暫定修正 をインストール しません 。
- ファイル場所を -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 です。
- ラベル
- EFIX FILES
- TARGET LOCATION
- レベル 1 のすべての出力
- ABSTRACT
- REBOOT
- PRE-REQUISITES
- PRE_INSTALL
- POST_INSTALL
- PRE_REMOVE
- POST_REMOVE
- FILE TYPE
- レベル 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
追加のパッケージ・ロックのサポート
- ファイル場所を -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
項目 | 説明 |
---|---|
ALWAYS |
このパッケージを常時ロックしようとします。 パッケージのロックに失敗すると、その結果、インストールは失敗します。 |
IFINST |
パッケージがインストールされている場合のみ、このパッケージをロックしようとします。 インストール済み パッケージのロックに失敗すると、 その結果、インストールは失敗します。 |
PackageType は installp (デフォルト)、rpm、ISMP、other です。
パッケージ・ロックは、最大 32 までサポートされます。
bos.rte.lvm ALWAYS installp
bos.games IFINST installp
上記の例では、emgr コマンドは、インストール時は 常に bos.rte.lvm をロックし、除去時にはそれを アンロックします。 また、emgr コマンドは 、bos.games については、これがインストールされている場合のみ ロックし、(ロックした場合は) 除去時にそれをアンロックします。
bosboot オプションのサポート
epkg コマンドの reboot オプションには、 ブート・イメージを再ビルドしないリブートが含まれています。
- 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 引数は、リブートが必要であることを示していますが、 emgr は bosbootを呼び出してはなりません。 |
-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
- エラーが発生しました。
例
- epkg コマンドを対話モードで実行し、 「暫定修正」 ラベルが myfixの 暫定修正 パッケージを作成するには、次のように入力します。
epkg myfix
- /tmp/ecfileという名前の既存の 暫定修正 制御ファイルを使用して、 myfix という 暫定修正 ラベルを持つ 暫定修正 パッケージを作成するには、次のように入力します。
epkg -e /tmp/ecfile myfix
- myfix の 暫定修正 ラベルを使用して 暫定修正 パッケージを作成し、前提条件ファイル /tmp/prereq、説明 /tmp/description、および拡張オプションを指定するには、次のように入力します。
epkg -v -p /tmp/prereq -d /tmp/description myfix
ファイル
項目 | 説明 |
---|---|
/usr/sbin/epkg | epkg コマンドが入っています。 |