名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 終了ステータス | 属性 | 診断 | 関連項目 | 注意事項
patchrm は、パッチパッケージを削除 (バックアウト) し、Solaris 2.x または Solaris 7 システムに保存されているパッチ適用前のファイルを復元します。patchrm は Solaris 1.x システム用のパッチには使用できません。patchrm を実行するにはスーパーユーザーになる必要があります。
以下のオプションを指定できます。
他のパッチに置き換えられているかどうかに関係なく、指定したパッチを削除 (バックアウト) します。
パッケージデータベースとは別のディレクトリにバックアウトデータ (パッチのバックアウト時に利用されるデータ) が保存されているパッチを、バックアウトします。パッチのインストール時に patchadd コマンドでデフォルトのバックアウトデータのディレクトリを変更した場合のみ、このオプションを使用します。backout_dir には絶対パス名を指定してください。
setup_install_server によって作成された、ネットインストールイメージ上の miniroot にあるファイルに対して適用されたパッチを削除 (バックアウト) します。net_install_image には、Solaris 2.6 およびその互換バージョンのブートディレクトリへの絶対パス名を指定してください。
patchrm によって生成されるすべてのパッチファイルをディレクトリ client_root_path の下に置きます。client_root_path には、サーバー上のクライアントのルートディレクトリを絶対パス名で指定します。この -R オプションは -S オプションと同時に指定することはできません。
代替サービス (たとえば Solaris_2.3) を指定します。ここでのサービスとは、クライアント・サーバーモデルの OS サービスのことを指しており、サーバーのコンソールでのみ使用できます。サーバーは、ホストマネージャで作成された /usr 共有ファイルシステムを持つことができ、登録された OS サービスをクライアントが利用できるようにすることが可能です。この -S オプションは -R オプションと同時に指定することはできません。
以下に示す例では、パッチ 104945-02 がシステムにインストールされていることを前提としています。また、/usr/sbin ディレクトリのコマンドを使用しているものとします。
スタンドアロンシステム上のパッチを 1 つ削除 (バックアウト) する例を示します。
example# patchrm 104945-02 |
サーバーのコンソールから、クライアントシステム上のパッチを 1 つ削除 (バックアウト) する例を示します。
example# patchrm -R /export/root/client1 104945-02 |
サーバーの OS サービス領域にあるパッチを 1 つ削除 (バックアウト) する例を示します。
example# patchrm -S Solaris_2.3 104945-02 |
ネットインストールイメージ上のパッチを 1 つ削除 (バックアウト) する例を示します。
example# patchrm -C /export/Solaris_2.6/Tools/Boot 104945-02 |
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ | 属性値 |
---|---|
使用条件 | SUNWswmt, SUNWcsu |
パッチのバックアウト時によく発生する問題、出力されるエラーメッセージ、その対処方法について説明します。
prebackout patch exited with return code code. patchrm exiting. |
パッチに付属している prebackout スクリプトが 0 以外の終了コードで終了しました。prebackout スクリプトのトレースを作成して、prebackout スクリプトが失敗した原因を調べてください。問題を修正するには、prebackout スクリプトの先頭行に -x オプションを追加して再度 patchrm を実行してください。
postbackout patch exited with return code code. patchrm exiting. |
パッチに付属している postbackout スクリプトが 0 以外の終了コードで終了しました。postbackout スクリプトを参照して postbackout スクリプトが失敗した原因を調べてください。問題を修正するには、postbackout スクリプトの先頭行に -x オプションを追加して、必要な場合は postbackout スクリプトだけを再度実行してください。
Only one service may be defined. |
複数の OS サービスからパッチをバックアウトしようとしています。複数の OS サービスからパッチをバックアウトするには、各 OS サービスごとに別々に patchrm を実行してください。
The -S and -R arguments are mutually exclusive. |
ネイティブでない OS サービスと client_root_path からパッチをバックアウトしようとしています。これら 2 つの引数は互いに排他的です。ネイティブでない usr パーティションからパッチをバックアウト (削除) するには -S オプションを使用する必要があります。クライアントの (ネイティブまたは非ネイティブの) ルートパーティションからパッチをバックアウトするには -R オプションを使用する必要があります。
The service service cannot be found on this system |
ネイティブでない OS サービスからパッチをバックアウト (削除) しようとしましたが、指定された OS サービスはシステムにインストールされていません。正しい OS サービスを指定してください。
Only one client_root_path may be defined. |
-R オプションを指定して複数の client_root_path を指定しています。1 回の patchrm の実行につき -R オプションは 1 回だけ使用できます。
The dir directory cannot be found on this system. |
-R オプションを使用して、マウントされていないまたはシステムに存在しないディレクトリを指定しています。正しいディレクトリ名を指定して、パッチのバックアウトを再度実行してください。
Patch patch_id has not been successfully installed to this system. |
システムにインストールされていないパッチをバックアウト (削除) しようとしています。パッチが適用されたファイルをパッチ適用前のバージョンに復元するには、最初のインストール時に使用した CD から元のファイルを復元してください。
Patch patch_id has not been successfully applied to this system. Will remove directory dir. |
システムに適用されていないパッチをバックアウト (削除) しようとしています。パッチは適用されていませんが、(失敗した patchadd によって作成された) /var/sadm/patch/patch_id ディレクトリが残っています。パッチをバックアウトすることはできません。パッチが適用されたファイルをパッチ適用前のバージョンに復元するには、最初のインストール時に使用した CD から元のファイルを復元してください。
This patch was obsoleted by patch patch_id. Patches must be backed out in the reverse order in which they were installed. Patch backout aborted. |
不適切な順番でパッチをバックアウト (削除) しようとしています。パッチは正しい順序でバックアウトする必要があります。バックアウトしようとしているパッチ以外のパッチにも影響が及んでいる可能性があります。
Patch patch_id is required to be installed by an already installed patch_id. It cannot be backed out until the required patch is backed out first. |
インストール (適用) されている必要があるとメッセージ中に示されているパッチをバックアウト (削除) してから、目的のパッチをバックアウトしてください。
The installation of patch patch_id was interrupted. |
以前に行なったパッチのインストールが中断されています。目的のパッチをバックアウト (削除) する前に、インストールが中断されたパッチをインストールする必要があります。
Patch patch_id was installed without backing up the original files. It cannot be backed out. |
パッチの適用時に patchadd コマンドの -d オプションを指定したか、またはディスク領域を確保するためにパッチの保存領域が削除されています。このため、元のファイルが保存されていないので patchrm を使用できません。元のファイルはインストール CD からのみ復元できます。
pkgadd of pkgname package failed return code code. See /var/sadm/patch/patch_id/log for reason for failure. |
メッセージに示されているパッチパッケージのインストールに失敗しています。ログファイルを参照して原因を確認してください。問題を修正後に、バックアウトスクリプトを再度実行してください。
Restore of old files failed. |
パッチが適用されたファイルをパッチ適用前のバージョンに復元するために、バックアウトスクリプトが cpio コマンドを使用しています。上記のメッセージの前に cpio コマンドからの出力が表示されているはずです。cpio が失敗した原因を調べて必要な処置を行なってください。これは、Solaris 2.4 およびそれ以前のバージョンのシステムで発生するエラーです。
クライアント・サーバーマシンでは、既存のクライアントからまたはクライアントのルートディレクトリ (templates 領域) からパッチパッケージは削除 (バックアウト) されません。このため、すべてのクライアントマシンにおいて直接 patchrm を使用して、クライアントマシンから適切な時にパッチを削除する必要があります。パッケージユーティリティ (pkgadd, pkgrm, pkgchk) に影響するバグは、patchadd または patchrm の動作に影響する場合があります。patchadd および patchrm は、上記のパッケージユーティリティを使用してパッチパッケージをインストールおよびバックアウトしています。これらのパッケージユーティリティのバグを修正するパッチが提供されているかどうかを確認し、提供されている場合はそのパッチを先に適用してから、他のパッチを適用することをお勧めします。現在提供されている、パッケージユーティリティに対するパッチは、次のとおりです。
100901
101122
101331
102039
102041
104578
104579
106292
106293
名前 | 形式 | 機能説明 | オプション | オペランド | 使用例 | 終了ステータス | 属性 | 診断 | 関連項目 | 注意事項