システム管理コマンド patchadd(1M)
【名前】
patchadd - Solaris オペレーティング環境を実現するシステム へ
のパッチ適用
【形式】
patchadd [-dun] [-G] [-B backout_dir] [-k keystore] [-
P passwd] [-t] [-x proxy] source [destination]
patchadd -p [destination]
【機能説明】
patchadd は、Solaris 2.x オペレーティ ン グ 環 境、 お よ び
Solaris 2.x と互換性がある、2.x 以降の Solaris オペレーティ
ング環境 (Solaris 9 など) を稼動しているシステムにパッチパッ
ケー ジ を 適用します。patchadd は、Solaris 1.x システム用の
パッチを適用するためには使用できません。patchadd を実行す る
には、スーパーユーザーになる必要があります。
patchadd コマンドには、次の使用方法があります。
o 1 つめの形式は、1 つまたは複数のパッチを、1 つのシス テ
ム、 クライアント、サービス、またはネットインストールイ
メージの miniroot にインストールします。
o 2 つめの形式は、クライアント、サービス、またはネット イ
ン ストールイメージの miniroot にインストールされたパッ
チを表示します。
zones(5) に関しては、大域ゾーンで呼び出されると、デフォル ト
では patchadd はすべてのゾーンにおいてすべての適切なパッケー
ジにパッチを適用します。ゾーン環境におけるパッチの適用動作は
次の要因により異なります。
o -G オプションの使用 (以下に説明)
o pkginfo ファイ ル の SUNW_PKG_ALLZONES 変 数 の 設 定
(pkginfo(4) を参照)
o 呼び出される patchadd のゾーンタイプ (大域またはロー カ
ル (非大域))
上記の要因の相互関係を、以下の「ゾーンの -G と pkginfo 変 数
の相互関係」に示します。
Solaris ゾーン環境でパッケージにパッチを追加すると、多 数 の
ゾー ン関連のメッセージ、patchadd を大域ゾーンまたはローカル
ゾーンのどちらで呼び出すかによって 異 な る 頻 度 と 内 容、
SUNW_PKG_ALLZONES の設定、および -G オプションの使用が表示さ
れます。
【オプション】
以下のオプションを指定できます。
-B backout_dir
パッチのバックアウト ( 削除) 時に利用されるデータ ( バッ
クアウトデータ) を、パッケージデータベース以外のディレク
トリに保存します。backout_dir は絶対パス名で指定してくだ
さい。
-d
パッチが適用されるファイルのバックアップを作成しません。
このオプションを指定すると、適用されたパッチを後で削除 (
バックアウト) することはできません。
-G
現在のゾーンでのみパッケージにパッチを追加します。 大 域
ゾーンで使用される場合、大域ゾーンでのみパッチはパッケー
ジに追加され、既存の非大域ゾーン、または将来作成される非
大域ゾーンには転送されません。非大域ゾーンで使用される場
合、非大域ゾーンでのみパッチはパッケージに追加されます。
以 下の「ゾーンの -G と pkginfo 変数の相互関係」を参照し
てください。
-k keystore
各パッチ内に見つかったデジタル署名を検証するのに、認証局
の信頼された証明書を入手するための場所を keystore で指定
します。キーストアが指定されていない場合、デフォル ト の
キーストアの場所で信頼された有効な証明書を探します。詳細
は、pkgadd(1M) のキーストアの場所を参照してください。
-n
署名を無視してその検証を行いません。これは、パッチの内容
が既知で信頼されている場合にのみ使用するべきです。本来、
Solaris 8 のように、パッチ署名を検証する機能がないシステ
ムにパッチを適用するためのオプションです。
-p
2 つめの形式で使用され、現在適用されているパッチのリスト
を表示します。
-P passwd
必要に応じて、-k で指定したキーストアを復号化するのに 使
用するパスワードを指定します。このオプションの引数の書式
について詳細は、pkgadd(1M) のパスフレーズの引数を参照 し
てください。
-t
Solaris 10 より以前のリリースにおいて返され る patchadd
戻 りコードを使用できるようにします。zones(5) 環境では戻
り値 0 (ゼロ) は正常終了を示します。他の戻り値はエラーを
示します。
-u
パッチ適用前にファイルを検証せずに、パッチを無条件に適用
します。パッチの適用によって変更されるファイルがある場合
でも、パッチを適用します。
-x proxy
パッケージをダウンロードする場合に使用する HTTP[S] プ ロ
キ シを指定します。プロキシの書式は host:port で、ここで
host は HTTP[S] プロキシのホスト名、port はプロキシに 関
連するポート番号です。このスイッチは、プロキシを指定する
ほかのすべての方法より優先します。デフォルトのプロキシを
指 定する代わりの方法について詳細は、pkgadd(1M) の環境を
参照してください。
【オペランド】
次のオペランドがサポートされています。
[ソース]
patchadd は、パッチを抽出するために、ソースを指定する必要 が
あります。次のソースおよび構文が受け入れられます。
patch
patch_id の絶対パス名または署名付きパッチを 指 す URI。
/var/sadm/spool/patch/104945-02 は patch の一例です。
https://syrinx.eng:8887/patches/104945-02 は、署名 付 き
パッチを指す URI の一例です。
-M patch_dir patch_id [patch_id...]
インストールするパッチをディレクトリの場所または URL、お
よびパッチ番号で指定します。
ディレクトリの場所または URL、およびパッチ番号を使用する
ためには、patch_dir をスプールされるパッチを含むディレク
トリの絶対パス名で指定します。スプールされたパッチを含む
サー バー名およびパス名を URL で指定します。該当するパッ
チのパッチ番号は patch_id で指定します。複数の patch_id
を 指定することが推奨されます。patch_id は該当するパッチ
のパッチ番号です。104945-02 は patch_id の一例です。
-M patch_dir patch_list
インストールするパッチをディレクトリの場所または URL、お
よびパッチリストを含むファイル名で指定します。
ディレクトリの場所または URL、およびパッチリストを 含 む
ファイル名を使用する場合、patch_dir はスプールされるパッ
チを含むディレクトリの絶対パス名を指定します。URL は、ス
プールされるパッチを含むサーバー名およびパス名を指定しま
す。patch_list は、インストールするパッチを含むファイ ル
名を指定します。
[宛先]
デフォルトでは、patchadd は指定した宛先にパッチを適 用 し ま
す。 宛 先が指定されていない場合、現在のシステム (そのルート
ファイルシステムが / にマウントされているシステム) がパッ チ
の 宛 先と仮定されます。次の方法で宛先を指定することもできま
す。
-C net_install_image
setup_install_server で作成されたネットインス トー ル イ
メージ上のミニルート上に置かれたファイルにパッチを適用し
ます。net_install_image にはSolaris 8 またはそれと互換性
のあるバージョンの起動ディレクトリへの絶対パス名を指定し
ます。使用例を参照してください。
ミニルートへのインストールに推奨されているパッチをインス
トー ルする場合のみ、-C オプションを使用してください。ミ
ニルートへのインストールが推奨されているパッチは に、 通
常、 パッ ケージコマンド、Sun 製インストールツールおよび
パッチインストールツールのようなインストール関連のパッチ
が含まれています。ミニルートにパッチをたくさん適用しすぎ
ると、ミニルートが大きくなり、Solaris のネットインストー
ル時にメモりが足りなくなる可能性があります。ミニルートが
大きくなりすぎないように、-B オプションと -C オプショ ン
をいっしょに使用してください。上記の -B オプションの説明
を参照してください。
-R client_root_path
patchadd で生成され た す べ て の パッ チ ファ イ ル を
client_root_path の 下 の ディ レ ク トリに配置します。
client_root_path は、サーバーから見たクライアントの ブー
ト 可 能なルートを含むディレクトリです。client_root_path
にはディレクトリツリーの先頭の絶対パスを指定します。この
下に patchadd で生成されたすべてのパッチファイルがありま
す。-R オプションは -S オプションといっしょに指定する こ
とはできません。注意事項を参照してください。
-S service
代わりとなるサービスを指定します (たとえば、Solaris_8)。
このサービスはサーバーモデルおよびクライアントモデルの一
部で、サーバーのコンソールからのみ使用可能です。サーバー
には、smosservice(1M) で作成された共有の /usr ファイルシ
ステムを含むことができます。これらのサービス領域は、それ
ら が 扱うクライアントに使用可能にすることができます。-S
オプションは -R オプションといっしょに指定することはでき
ません。注意事項を参照してください。
[ゾーンの -G と pkginfo 変数の相互関係]
次のリストに、大域ゾーンおよびローカル (大域以外の) ゾーンで
パッチを追加する場合の -G オプションおよび SUNW_PKG_ALLZONES
変数 (pkginfo(4) を参照) の相互関係を示します。
大域ゾーン、-G を指定
SUNW_PKG_ALLZONES を真に設定しているパッケージがある場合
:エラーです。変更はありません。
SUNW_PKG_ALLZONES を true に設定しているパッケージがない
場合:大域ゾーンでのみパッケージにパッチを適用します。
大域ゾーン、-G を指定しない
SUNW_PKG_ALLZONES を true に設定しているパッケージがある
場 合:すべてのゾーンで適切なパッケージにパッチを適用しま
す。
SUNW_PKG_ALLZONES を true に設定しているパッケージがない
場 合:すべてのゾーンで適切なパッケージにパッチを適用しま
す。
ローカルゾーン、-G を指定または指定しない
SUNW_PKG_ALLZONES を true に設定しているパッケージがある
場合:エラーです。変更はありません。
SUNW_PKG_ALLZONES を true に設定しているパッケージがない
場 合 : ローカルゾーンでのみパッケージにパッチを適用しま
す。
【キーストアの場所】
詳細は、pkgadd(1M) の「キーストアの場所」を参照して く だ さ
い。
【キーストアおよび証明書の形式】
詳細は、pkgadd(1M)「キーストアおよび証明書の形式」を参照して
ください。
【使用例】
以下に示す例では、/usr/sbin ディレクトリのコマンドを使用して
いるものとします。
例 1: スタンドアロンマシンに 1 つのパッチをインストールする
スタンドアロンマシンに 1 つのパッチをインストールする例を 示
します。
example# patchadd /var/spool/patch/104945-02
例 2: サーバーのコンソールからクライアントに 1 つのパッチ を
インストールする
サーバーのコンソールからクライアントに 1 つのパッチをイン ス
トールする例を示します。
example# patchadd -R /export/root/client1 /var/spool/patch/104945-02
例 3: サーバーのコンソールからサービスに 1 つのパッチをイ ン
ストールする
サーバーのコンソールからサービスに 1 つのパッチをインス トー
ルする例を示します。
example# patchadd -S Solaris_8 /var/spool/patch/104945-02
例 4: patchadd を 1 回実行して複数のパッチをインストールする
1 回の patchadd の実行で複数のパッチをインストールする例を示
します。
example# patchadd -M /var/spool/patch 104945-02 104946-02 102345-02
例 5: パッチのリストが記述されているファイルを指定して複数の
パッチをインストールする
インストールするパッチのリストが記述されたファイルを指 定 し
て、複数のパッチをインストールする例を示します。
example# patchadd -M /var/spool/patch patchlist
例 6: クライアントに複数のパッチをインストールし、バックアウ
トデータをデフォルト以外のディレクトリに保存する
クライアントに複数のパッチをインストールし、パッチのバックア
ウト時に利用されるデータ (バックアウトデータ) をデフォルト以
外のディレクトリに保存する例を示します。
example# patchadd -M /var/spool/patch -R /export/root/client1
-B /export/backoutrepository 104945-02 104946-02 102345-02
例 7: Solaris 8 およびその互換バージョンのネットインストール
イメージにパッチをインストールする
Solaris 8 およびその互換バージョンのネットインストールイメー
ジにパッチをインストールする例を示します。
example# patchadd -C /export/Solaris_8/Tools/Boot
/var/spool/patch/104945-02
例 8: クライアントにインストールされているパッチを表示する
クライアント上にインストールされているパッチを表示する例を示
します。
example# patchadd -R /export/root/client1 -p
例 9: パッチのデジタル署名セットをインストールする
次の例では複数のパッチをインストールします。その一部は、提供
されたキーストア、パスワード、および HTTP プロクシを使用して
署名されています。
example# patchadd -k /etc/mycerts -p pass:abcd -x webcache.eng:8080 \
-M http://www.sun.com/solaris/patches/latest 101223-02 102323-02
【終了ステータス】
以下の終了ステータスが返されます。
0 正常終了
>0 エラーが発生した
【属性】
次の属性については attributes(5) のマニュアルページを参照 し
てください。
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWswmt, SUNWcsu |
|_____________________________|_____________________________|
| インタフェースの安定性 | 開発中 |
|_____________________________|_____________________________|
【関連項目】
cpio(1), pkginfo(1), patchrm(1M), pkgadd(1M), pkgadm(1M),
pkgchk(1M), pkgrm(1M), smpatch(1M), showrev(1M), pkginfo(4),
attributes(5), zones(5)
【診断】
パッチのインストール時によく発生する問題、出力される エ ラー
メッセージ、その対処方法について説明します。
[パッチのインストールエラー]
メッセージ
The prepatch script exited with return code retcode.
patchadd is terminating.
説明・対処法
パッチに付属している prepatch スクリプトが 0 以外 の
終 了 コー ドで終了しました。prepatch スクリプトのト
レースを実行して、prepatch スクリプトが不正 な 終 了
コードで終了した原因を調べてください。問題を修正する
には、prepatch スクリプトの先頭行に -x オプション を
追加して再度 patchadd を実行してください。
メッセージ
The signature on patch patch_id was unable to be verified.
patchadd is terminating.
説明・対処法
使用しているキーストアおよびパッチの署名が与えられた
の で すが、パッチのデジタル署名が検証できませんでし
た。パッケージの署名を検証するのに必要なトラストアン
カーがあるかどうか、またパッケージが勝手に変更されて
いないかどうか、キーストアを確認してください。
メッセージ
The postpatch script exited with return code retcode.
Backing out patch.
説明・対処方法
パッチに付属している postpatch スクリプトが 0 以外の
終 了 コードで終了しました。このスクリプトはおもに、
パッチパッケージのオブジェクトに対応しないファイルを
一掃するため (つまりパッケージの所有権およびアクセス
権に問題があるとき) に使用されます。出力された検証エ
ラー を すべて確認し、それぞれについて適切な処置を行
なった後、-u オプション付きで再度 patchadd を実行 し
てください。検証エラーを無視してパッチがインストール
されます。
メッセージ
Insufficient space in /var/sadm/patch to save old files.
(Solaris 2.4 およびそれ以前のシステム)
説明・対処方法
パッチ適用前のファイルを保存 す る た め の 容 量 が
/var/sadm/patch ディレクトリにありません。3 つの対処
法があります。(1) -B オプション付きで patchadd を 実
行して、指定したファイルシステムにバックアウトデータ
(パッチのバックアウト時に利用されるデータ) を保存 し
ます。(2) 不要なファイルを削除することによってディス
ク容量を確保します。(3) -d オプション付きで patchadd
を実行して、パッチ適用前のファイルを保存しないように
します。
パッチ適用前のファイルを保存しないように選択し た 場
合、 後に patchrm を使用してパッチを削除することはで
きなくなります。以前に適用したパッチの保存領域を削除
することによって、システム領域を確保するという方法も
あります。後にパッチを削除する可能性はないと判断した
場 合は、patchadd によって保存されたファイルを削除し
ても構いません。パッチ patch_id について保存さ れ た
ファイルを削除するには、次のように実行してください。
cd /var/sadm/patch/patch_id
rm -r save/*
rm .oldfilessaved
上記のコマンドを実行後は、パッチ patch_id は削除でき
なくなります。
メッセージ
Insufficient space in /var/sadm/pkg/PKG/save to save old files.
(Solaris 2.5 およびそれ以降のシステム)
説明・対処方法
/var/sadm/pkg/PKG/save ディレクトリに容量が不足し て
いるため、パッチ適用前のファイルを保存できません。次
の 3 つの対処方法があります。(1) -B オプション付きで
patchadd を実行して、指定したファイルシステムにバッ
クアウトデータ (パッチのバックアウト時に利用さ れ る
データ) を保存します (1 つ前のメッセージに関する説明
を参照してください)。(2) 不要なファイルを削除する こ
と によってディスク領域を確保します。(3) -d オプショ
ン付きで patchadd を実行して、パッチ適用前のファイル
を保存しないようにします。
パッチ適用前のファイルを保存しないように選択し た 場
合、 後に patchrm を使用してパッチを削除することはで
きなくなります。以前に適用したパッチの保存領域を削除
することによって、システム領域を確保するという方法も
あります。後にパッチを削除する可能性がないと判断した
場 合は、patchadd によって保存されたファイルを削除し
ても構いません。patch_id について保存されたファイ ル
を削除するには、次のように実行してください。
cd /var/sadm/pkg/pkgabbrev/save
rm -r patch_id
上記のコマンドを実行後は、パッチ patch_id は削除でき
なくなります。
メッセージ
Save of old files failed.
(Solaris 2.4 およびそれ以前のシステム)
説明・対処方法
パッチを適用する前に、パッチインストールスクリプトは
cpio を使用してパッチ適用前のファイルを保存します。
このエラーメッセージは、cpio が失敗したことを示し ま
す。このエラーメッセージの前に cpio からの出力が表示
されているはずです。cpio の失敗を修正するために適 切
な 処置を行う必要があります。次の 2 つの対処方法があ
ります。(1) 不要なファイルを削除してディスク領域を確
保 します。(2) -d オプション付きで patchadd を実行し
てパッチ適用前のファイルを保存しないようにします。た
だし、パッチ適用前のファイルを保存しないように選択し
た場合、パッチを削除することはできなくなります。
メッセージ
Pkgadd of pkgname package failed with error code code.
See /tmp/log.patch_id for reason for failure.
説明・対処方法
メッセージ中に示されたパッチパッケージのインストール
に 失 敗 しました。patchadd はパッチをバックアウトし
て、システムをパッチ適用前の状態にします。ログファイ
ルを参照してインストールに失敗した原因を確認し、必要
な処置を行なって問題を解決した後、再度パッチを適用し
てください。
メッセージ
Pkgadd of pkgname package failed with error code code.
Will not backout patch...patch re-installation.
Warning: The system may be in an unstable state!
See /tmp/log.patch_id for reason for failure.
説明・対処方法
メッセージ中に示されたパッチパッケージのインストール
に 失敗しました。patchadd はパッチをバックアウトしま
せん。ログファイルを参照して pkgadd が失敗した原因を
確認し、必要な処置を行なって問題を解決してください。
その後、patchrm を使用して手動でパッチをバックアウト
してから、再度パッチを適用してください。
メッセージ
patchadd is unable to find the INST_RELEASE file. This file
must be present for patchadd to function correctly.
説明・対処方法
システムに INST_RELEASE ファイルがありません。 こ の
ファイルは初期インストール中またはアップグレード中に
作成されます。
メッセージ
A previous installation of patch patch_id was invoked
that saved files that were to be patched. Since files
were saved, you must run this instance of patchadd
without the -d option.
説明・対処方法
以前に -d オプションを使用しないでパッチがインストー
ルされている場合、パッチを再インストールするときにも
-d オプションなしで実行する必要があります。-d オ プ
ションを付けずに patchadd を実行してください。
メッセージ
A previous installation of patch patch_id was invoked
with the -d option. (i.e. Do not save files that would
be patched) Therefore, this invocation of patchadd
must also be run with the -d option.
説明・対処方法
以前に -d オプションを使用してパッチがインストールさ
れ ている場合、パッチを再インストールするときにも -d
オプションを使用する必要があります。-d オプション 付
きで patchadd を実行してください。
[その他の診断メッセージ]
以下に示すパッチインストール時のメッセージは、「説明・対処方
法」で説明しているように必ずしもエラーではありませんが、パッ
チインストールのログファイルに記録されます。
メッセージ
Package not patched:
PKG=SUNxxxx
Original package not installed
説明・対処方法
メッセージに示されているパッチコンポーネントは、シス
テムにインストールされていないパッケージに対するパッ
チです。これは必ずしもエラーではありません。1 つ の
パッ チが 1 つのバグを複数のパッケージに対して修正す
ることもあります。
たとえば、オンラインバックアップと fddi パッケージの
両 方に対する 1 つのバグを修正するパッチを例として考
えます。オンラインバックアップはインストールされてい
るけれども fddi パッケージがインストールされていない
場合、次のようなメッセージが出力されます。:
Package not patched:
PKG=SUNWbf
Original package not installed
システム上に fddi パッケージがインストールされている
場合には、このメッセージをエラーとして対処する必要が
あります。必要な処置を行なってパッケージをインストー
ル し、(パッチによって他のパッケージがインストールさ
れている場合は) パッチをバックアウトし、再度パッチを
インストールしてください。
メッセージ
Package not patched:
PKG=SUNxxx
ARCH=xxxxxxx
VERSION=xxxxxxx
Architecture mismatch
説明・対処方法
メッセージに示されているパッチコンポーネントは、ユー
ザーが使用しているシステムとは異なるアーキテクチャの
パッケージに対するパッチです。これは必ずしもエラーで
はありません。アーキテクチャ固有のパッケージに対する
パッチには、該当する各アーキテクチャごとに 1 つの コ
ン ポー ネントが含まれている場合もあります。たとえば
sun4m アーキテクチャのシステムを使用している場 合 に
SUNWcar パッケージに対するパッチをインストールしよう
とすると、次のようなメッセージが出力されます。
Package not patched:
PKG=SUNWcar
ARCH=sparc.sun4c
VERSION=11.5.0,REV=2.0.18
Architecture mismatch
Package not patched:
PKG=SUNWcar
ARCH=sparc.sun4u
VERSION=11.5.0,REV=2.0.18
Architecture mismatch
Package not patched:
PKG=SUNWcar
ARCH=sparc.sun4e
VERSION=11.5.0,REV=2.0.18
Architecture mismatch
Package not patched:
PKG=SUNWcar
ARCH=sparc.sun4
VERSION=11.5.0,REV=2.0.18
Architecture mismatch
使用しているシステムのアーキテクチャを patchadd が正
しく認識していない場合のみ、このメッセージはエラーを
示しています。
メッセージ
Package not patched:
PKG=SUNxxxx
ARCH=xxxx
VERSION=xxxxxxx
Version mismatch
説明・対処方法
パッチが適用されるソフトウェアバージョンがシステムに
イ ンストールされていません。たとえば Solaris 8 を実
行している場合に Solaris 9 に対するパッチを イ ン ス
トールしようとすると、次のようなメッセージが出力され
ます。
Package not patched:
PKG=SUNWcsu
ARCH=sparc
VERSION=10.0.2
Version mismatch
これは必ずしもエラーではありません。パッチを適用する
パッ ケー ジのバージョンが不一致の場合は、正しいバー
ジョンのパッチを入手するか、または正しいバージョンの
パッケージをインストールしてください。そのあと、必要
な場合はパッチをバックアウトしてから、再度パッチを適
用してください。
メッセージ
Re-installing Patch.
説明・対処方法
インストールしようとしているパッチはすでに適用されて
いますが、追加インストールされるパッケージが少なくと
も 1 つパッチに含まれています。たとえば、 AnswerBook
がインストールされていないシステムに、OpenWindows と
AnswerBook の両方のコンポーネントが含まれている パッ
チを適用すると、そのパッチの AnswerBook コンポーネン
ト部分は適用されません。後に pkgadd を使って Answer-
Book をインストールしてパッチを再度適用すると、その
パッチの AnswerBook コンポーネント部分がシステムに適
用されます。
メッセージ
patchadd Interrupted.
patchadd is terminating.
説明・対処方法
patchadd の実行が中断されました (通常 <CTRL-c> が 押
されたため)。patchadd は処理中のファイルを削除し、終
了します。
メッセージ
patchadd Interrupted.
Backing out Patch...
説明・対処方法
patchadd の実行が中断されました (通常 <CTRL-c> が 押
さ れ たため)。patchadd は処理中のファイルを削除し、
パッチをバックアウトし、終了します。
【関連項目】
cpio(1), pkginfo(1), patchrm(1M), pkgadd(1M), pkgchk(1M),
pkgrm(1M), smpatch(1M), showrev(1M), attributes(5)
【注意事項】
クライアントまたはサーバーにパッチをインストールする に は、
patchadd を 2 回実行する必要があります。1 回は -R オプション
を付けて実行し、もう 1 回は -S オプションを付けて実 行 し ま
す。これによって、パッチが /usr と / (ルート) パーティション
の両方に確実にインストールされます。パッチに /usr と / (ルー
ト) のパッケージが含まれている場合に、上記の方法を実行する必
要があります。
patchadd を実行すると、pkgadd が起動され、pkg/install ディレ
クトリにあるインストールスクリプトを実行します。checkinstall
スクリプトは、所有権を install というユーザー名に設定して 実
行 さ れ ます。ユーザー名が install に設定されていない場合、
pkgadd は checkinstall スクリプトを noaccess として実行し ま
す。SVR4 ABI には、checkinstall は情報収集を行うスクリプトと
してのみ使用されると記述されています。checkinstall スクリ プ
ト のアクセス権を初期設定から変更すると、pkgadd はファイルを
オープンして読み取ることができなくなり、次のようなメッセージ
が出力されてパッチのインストールが異常終了します。
pkgadd: ERROR: checkinstall script did not complete successfully.
このため、checkinstall スクリプトのアクセス権は変更しない で
ください。パッチが正しくインストールされたときのパッチインス
トールログファイルの内容は、patchadd が pkgadd の出力をリ ダ
イレクトしたものになります。パッチが正しくインストールされる
と、pkgadd は次のようなメッセージを出力し、それがログファ イ
ルに書き込まれます。
This appears to be an attempt to install the same architecture
and version of a package which is already installed. This
installation will attempt to overwrite this package.
This message does not indicate a failure, it represents the
correct behavior by pkgadd when a patch installs correctly.
このメッセージは処理の失敗を示しているものではありま せ ん。
パッチが正しくインストールされたときの pkgadd による正しい動
作を示しています。
クライアント・サーバーマシンでは、既存のクライアントにまたは
ク ラ イアントのルートディレクトリ (templates 領域) にパッチ
パッケージは適用 (インストール) されません。このため、すべて
のクライアントマシンにおいて直接 patchadd を使用して、適切な
時にクライアントマシンにパッチを適用する必要があります。パッ
ケー ジ ユーティリティ(pkgadd, pkgrm, pkgchk) に影響するバグ
は、patchadd または patchrm の動作に影響する場合があります。
patchadd および patchrm は、上記のパッケージユーティリティを
使用してパッチパッケージをインストールおよびバックアウトして
います。これらのパッケージユーティリティのバグを修正するパッ
チが提供されているかどうかを確認し、提供されている場合はその
パッチを先に適用してから、他のパッチを適用することをお勧めし
ます。現在提供されている、パッケージユーティリティに対 す る
パッチは、次のとおりです。
Solaris 2.5.1 (Sparc 版):
104578
Solaris 2.5.1 (Intel 版):
104579
Solaris 2.6 (Sparc 版):
106292
Solaris 2.6 (Intel 版):
106293
|
|