ここでは、Solaris OS アップデートを配備するときの、次の問題に関する考えられる解決方法について説明します。
ジョブを送信する前に発生するエラー
「アップデートのロード」ジョブのエラー
「アップデートのアンロード」ジョブのエラー
「アップデートのロード」の「停止」ジョブのエラー
次の unload コマンドでは、update は、show update all コマンドを入力して表示される一覧の update の名前、または対象のサーバー上にある実際のパッケージ名のいずれかです。
N1-ok> load server server update update |
常に、パッケージが正しいアーキテクチャーに対して指定されているかどうかを確認してください。
N1 System Manager は、Solaris OS (x86 または SPARC) の 32 ビットと 64 ビットを区別しません。したがって、パッケージまたはパッチが対応していない OS にインストールされた場合は、インストールに失敗する場合があります。
パッケージまたはパッチが正常にインストールされた場合でも、パフォーマンスが低下した場合は、パッチのアーキテクチャーと OS のアーキテクチャーが合致していることを確認してください。
次に、ジョブが送信される前に発生する可能性がある一般的なエラーを示します。
Target server is not initialized
対処方法:add server feature osmonitor コマンドが実行され、それが成功していることを確認します。
Another running job on the target server
対処方法:サーバーで同時に実行できるジョブは 1 つだけです。ジョブが完了したあとで再度実行します。
Update is incompatible with operating system on target server
対処方法:対象のサーバーの OS の種類が、アップデートの OS の種類に合致していることを確認します。 N1–ok> プロンプトで show update update-name と入力し、アップデートの OS の種類を表示できます。
Target server is not in a good state or is powered off
対処方法:対象のサーバーが起動され、稼動中であることを確認します。N1–ok> プロンプトで show server server-name と入力すると、サーバーのステータスを表示できます。reset server server-name force と入力すると強制的に再起動することができます。
「アップデートのロード」ジョブが失敗する原因として、次のことが考えられます。
「アップデートのロード」ジョブは、同じパッケージがすでに存在するため、またはより新しいバージョンのパッケージが存在するために、失敗することがあります。ジョブが失敗した場合は、対象のサーバーにそのパッケージが存在しないことを確認してください。
error: Failed dependencies:
A prerequisite package and should be installed.
対処方法:Solaris システムでは、admin ファイルの idepend= パラメータを設定します。
Preinstall or postinstall scripts failure: Non-zero status
pkgadd: ERROR: ... script did not complete successfully
対処方法:インストール前スクリプトまたはインストール後処理スクリプトの考えられるエラーを確認し、このエラーを解決します。
Interactive request script supplied by package
対処方法:このメッセージは、response ファイルがない、または admin ファイルの設定が正しくないことを示しています。response ファイルを追加して、このエラーを修正します。
patch-name was installed without backing up the original files
対処方法:このメッセージは、Solaris OS アップデートがインストールされたときに元のファイルのバックアップを取らなかったことを示しています。対処の必要はありません。
Insufficient diskspace
対処方法:ディスク領域が十分でないために「アップデートのロード」に失敗する可能性があります。df -k と入力して空き容量をチェックします。また、パッケージの容量も確認します。パッケージの容量が大きすぎる場合は、対象のサーバーの使用可能な領域を増やします。
次に、アップデートのロードまたはアンロード操作で発生する停止ジョブのエラーを示します。
「アップデートのロード」または「アップデートのアンロード」ジョブの停止操作を行なってもジョブが停止されない場合は、管理サーバーで、次のプロセスが終了されているかを手動で確認します。
# ps -ef |grep swi_pkg_pusher ps -ef |grep pkgadd, pkgrm, scp, ... |
プロビジョニング可能なサーバーで実行中のすべてのプロセスをチェックします。
# ps -ef |grep pkgadd, pkgrm, ... |
「サーバーのアンロード」および「グループのアンロード」ジョブの一般的なエラーを次に示します。
この項の以降では、次のコマンドに関係する問題のエラーおよび考えられる解決策を示します。unload server server-name update update-name および unload group group-name update update-name。
Removal of <SUNWssmu> was suspended (interaction required)
対処方法:このメッセージは、Solaris パッケージのアンインストールにおける依存関係の問題を示しています。admin ファイルの設定をチェックし、適切な response ファイルを提供してください。
Job step failure without error details
対処方法:このメッセージは、ジョブが内部で開始できなかったことを示す可能性があります。詳細情報を得るには、Sun のサービス担当者に連絡してください。
Job step failure with vague error details: Connection to 10.0.0.xx
対処方法:このメッセージは、一部のパッケージが完全にインストールされていなかったためにアンインストールに失敗したことを示す可能性があります。この場合は、対象のサーバーで問題のパッケージを手動でインストールします。次に例を示します。
.pkg ファイルを手動でインストールするには、次のコマンドを入力します。
# pkgadd -d pkg-name -a admin-file |
パッチを手動でインストールするには、次のコマンドを入力します。
# patchadd -d patch-name -a admin-file |
このあとで、unload コマンドを再度実行してください。
Job hangs
対処方法:ジョブがハングアップしたら、ジョブを停止し、残りのプロセスを手動で終了してください。次に例を示します。
ジョブを手動で終了するには、次のコマンドを入力します。
# n1sh stop job job-ID |
次に、PKG の PID を検索してプロセスを終了します。次のコマンドを入力します。
# ps -ef |grep pkgadd # pkill pkgadd-PID |
このあとで、unload コマンドを再度実行してください。