この章では、Solaris 7 MU2 のインストールと使用に関連する既知の問題について説明します。
sh(1) と ksh(1) とのやりとりに問題があるため、コマンド行から次のコマンドを実行したり、管理用スクリプトから install_mu を起動すると、install_mu は特定のパッチを正常にインストールしません。
# /bin/sh ./install_mu arguments |
対処方法 : コマンド行または管理用スクリプトから次のようにして install_mu を実行します。
# ./install_mu arguments |
install_mu は /tmp にファイルと作業ディレクトリを残します。そのファイルとディレクトリにより /tmp が一杯になり、システム上で問題を起こす可能性があります。/tmp に残されるファイルとディレクトリは、install* と SUNW* という形式です。
対処方法 : install_mu の実行が完全に終了した後、install* と SUNW* というファイルおよびディレクトリが /tmp にないかどうかを確認します。それらのファイルが root によって最近作成されていた場合、それらを削除します。あるいは、MU2 をスタンドアロンマシンまたはサーバーにインストールした場合は、システムをリブートします。
次のメッセージが install_mu によって表示されることがあります。
Installation of XXXXXX-YY failed: Attempting to patch a package that is not installed. |
ログファイルには、以下のメッセージが残されます。
One or more patch packages included in XXXXXX-YY are not installed on this system. Patchadd is terminating. |
patchadd は、そのパッチの対象となるパッケージが Solaris 7 システムに入っていなかった場合、パッチの適用はしません。このメッセージは、そういった理由で適用しなかったことを示しています。
たとえば、あるアーキテクチャのパッチを別のアーキテクチャのシステムにインストールしようとした場合 (sun4c システムに sun4u パッチをインストールするなど)、patchadd はそれを検知し、このメッセージを表示します。
このメッセージは、システム上に 1 つまたは複数のパッケージが見つからない場合にも表示されます。管理者がパッケージを削除した可能性や、もともとインストールされていなかった可能性 (全体ディストリビューションより小さいクラスタをインストールした場合など) があります。ディスクレスクライアントと AutoClient の場合は、これが当てはまります。
対処方法 : このメッセージは無視してください。
この状態は、x86 ディスクレスクライアントまたは x86 Solstice AutoClient を持つ SPARC サーバーにのみ起こります。
MU2 に含まれているパッチ 106542-04 (x86) の postpatch スクリプト中の $ROOTDIR によって、2 つの /devices/pseudo エントリが削除されてしまいます。この 2 つのエントリが削除されると、サーバーが、次回のリブート中に /var/utmpx が書き込まれない状態になります。
対処方法: x86 ディスクレスクライアントまたは Solstice AutoClient サービス領域を持つ SPARC サーバーから MU2 をバックアウトした後、SPARC 版の場合は -04 またはそれ以降のリビジョンのパッチ 106541、Intel 版の場合はパッチ 106542 を使用して postpatch スクリプトを実行し、削除されたデバイスエントリをサーバー上に再び作成します。
MU2 CD またはローカルにコピーしたイメージにある postpatch スクリプトを /tmp ディレクトリにコピーします。以下は CD を使った例です。
SPARC 版
# cp /cdrom/s7_maintenance_update_2_sparc/Solaris_7_MU2/sparc/Patches/106541-04 ¥ /postpatch /tmp |
Intel 版
# cp /cdrom/s7_maintenance_update_2_x86/Solaris_7_MU2/i386/Patches/106542-04/postpatch /tmp |
SPARC 版、Intel 版のどちらでもこのスクリプトは同じです。
コマンドを実行する前に、コピーした postpatch スクリプトの先頭に次の行を追加します。
ROOTDIR=/ |
postpatch スクリプトを実行します。
# /tmp/postpatch |