Solaris 8 システムでは、smpatch をローカルモードでしか実行できません。
Solaris 9 以降では、smpatch コマンドをローカルモードとリモートモードの 2 つのモードで利用できます。「ローカルモード」は、ローカルシステム上でのみ実行できます。システムがシングルユーザーモードとマルチユーザーモードのいずれの場合でも実行できます。「リモートモード」を使用すると、リモートシステム上で処理を実行できます。ローカルモード、リモートモードのどちらも、適切な承認を持つユーザーまたは役割以外は使用できません。
デフォルトでは、smpatch はローカルモードで実行されます。ローカルモードでは Solaris WBEM サービスが使用されません。また、認証オプションも、リモートシステムを参照するオプションも使用できません。smpatch コマンドの実行速度は、リモートモードよりもローカルモードの場合のほうが高速です。
ユーザーが -L 以外のリモートオプションまたは認証オプションを指定した場合、リモートモードが使用されます。
ローカルモードで smpatch add コマンドを使用すると、システムがシングルユーザーモードで動作しているときでも、アップデートを適用できます。この方法でアップデートを適用できるのは、該当するアップデートが singleuser アップデートプロパティーと関連している場合か、稼働していないシステムにアップデートを適用する場合です。
システムがシングルユーザーモードの場合、アップデートの管理には、smpatch add、smpatch order、および smpatch remove コマンドのみを使用します。
シングルユーザーモードで動作するシステム上でアップデート管理環境を設定するには、コマンド smpatch get、smpatch set、smpatch unset を使用します。
シングルユーザーモードで動作するシステム上では、コマンド smpatch analyze、smpatch download、および smpatch update を使用しないでください。これらのコマンドが依存するネットワークサービスは、システムがシングルユーザーモードで動作している間は利用できません。
「アップデートの適用ポリシー」と一致しないアップデートは、システムに自動的に適用されません。このようなアップデートは、シングルユーザーモードで手動で適用する必要があります。
適用後すぐに再起動、または再構成のための再起動を行う必要のあるアップデートは、すぐには適用されません。このようなアップデートは、予定されたシステムシャットダウンの間に自動的に適用されます。
この新機能により、従来、システムを再起動してシングルユーザーモードに切り換えなければならなかったアップデートを区別する必要がなくなり、すべてのアップデートをマルチユーザーモードでインストールできるようになります。
ライブアップグレードサポートを有効にするには、-b boot-env オプションを指定して、smpatch add、smpatch remove、または smpatch update コマンドを実行します (-b はブート環境、値 boot-env は特定のブート環境名)。コマンドは、次のような構文になります。
smpatch -add -b boot-env
指定したブート環境に、現在のブート環境がコピーされます。選択したアップデートが指定のブート環境に適用されます。指定のブート環境が有効になり、リブートすると、現在のブート環境ではなく、新しくアップデートされたブート環境が実行されます。
オプションを指定して smpatch コマンドを実行すると、都合の良い時間にシステムの再起動を促すメッセージがコマンド行に表示されます。
同じブート環境を指定して smpatch コマンドを再び実行すると、それ以前に実行したコマンドによる変更は無効になります。システムには最新の変更が適用されます。smpatch -update コマンドの場合は、完全なアップデートセットがインストールされるため、この問題は起こりません。