Solaris8 メンテナンスアップデート適用手順

Solaris8 のメンテナンスアップデートを適用してみました。今回は Solaris 8 Maintenance Update 7 を例にして説明します。

最初に、Solaris 8 Maintenance Update 7を Solaris Solve からダウンロードできます。また、必須パッチもPatchs からダウンロードしてください。必要なファイルは以下の通りです。

  • Solaris 8 Maintenance Update 7 : S8MU7_intel.zip
  • security patchrm patchadd duplicate patchids obsolete delete : 108988-08.zip
  • fgrep wordlist fails large : 112397-01.zip

ダウンロードはどこでもよいのですが、とりあえず私の場合自分のホームディレクトリに置きました。ただ、/export/home/ホームディレクトリ は、シングルモードで再起動した際にマウントされないので、自動的にマウントされるところにダウンロードすると、マウントする手間が省けます。

ファイルのダウンロードができたら、Solaris をシングルモードで再起動します。パッチやメンテナンスアップデートをあてる場合には、できるだけシングルモードで作業しましょう。

※現在必須パッチがアップして、108988-09 と112397-02 になっています。(2002/3/28)この場合 MU7 があたらないトラブルが発生しますので、こちらの方法を実行してください。(保証外のやり方ですが。)

# sync ; reboot -- -s

sync を3回打っていますが、これは私のいつものやり方です。1回打てば大丈夫だと思います。

root のパスワードを聞かれますので、パスワードを入力してログインします。
Entering System Maintenance Mode
 Sun Microsystems Inc. SunOS 5.8 Generic Feb 2000
# 
先ほどダウンロードしたファイルを解凍します。まずはファイルのあるディレクトリをマウントします。私の場合/export/home/user1 に置いたので、そこをマウントします。/export/home が /dev/dsk/c0d0s7 にあるので、それをマウントすればその配下のディレクトリもマウントされます。
# mount -F ufs /dev/dsk/c0d0s7
# cd /export/home/user1/update_file

上の例は私の環境の例ですが、置いた場所がわからない場合、/etc/vfstab を見ればどのデバイスをマウントすればよいかわかります。

ファイルを解凍します。
# unzip 108988-08.zip
Archive:  108988-08.zip
   creating:108988-08/
  inflating:108988-08/.diPatch
   creating:108988-08/SUNWswmt/
  inflating:108988-08/SUNWswmt/pkgmap
  inflating:108988-08/SUNWswmt/pkginfo
   creating:108988-08/SUNWswmt/install/
  inflating:108988-08/SUNWswmt/install/checkinstall
             ・
             ・
 ※ここでいろいろなファイルが解凍さたメッセージが出る。
             ・
             ・
  inflating:108988-08/README.108988-08
 extracting:108988-08/ .2
#
# unzip 112397-01.zip
   creating:112397-01/
  inflating:112397-01/.diPatch
   creating:112397-01/SUNWcsu/
  inflating:112397-01/SUNWcsu/pkgmap
  inflating:112397-01/SUNWcsu/pkginfo
   creating:112397-01/SUNWcsu/install/
  inflating:112397-01/SUNWcsu/install/checkinstall
             ・
             ・
 ※ここでいろいろなファイルが解凍さたメッセージが出る。
             ・
             ・
  inflating:112397-01/README.112397-01
#
# unzip S8MU7_intel.zip
   creating:MU_Documentation/
   creating:MU_Documentation/C/
   creating:MU_Documentation/C/Installation_Guide/
             ・
             ・
 ※ここでいろいろなファイルが解凍さたメッセージが出る。
             ・
             ・
  inflating:Solaris_8_MU7/i386/Patches/110711-01/README.110711-01
  inflating:Solaris_8_MU7/i386/Patches/110711-01/.diPatch
  inflating:Solaris_8_MU7/i386/Patches/.order
    linking:MU                      -> ./Solaris_8_MU7
#

パッチを適用します。適用順番があるので注意します。順番が逆だとエラーになります。

# patchadd 112397-01


Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch unmber 112397-01 has been successfully installed.
See /var/sadm/patch/112397-01/log for details

Patch packages installed:
  SUNWcsu

# patchadd 108988-08


Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch unmber 108988-08 has been successfully installed.
See /var/sadm/patch/108988-08/log for details

Patch packages installed:
  SUNWswmt

#

Solaris8 のメンテナンスアップデートを適用します。オプションは特につけません。

# ./install_mu 

 Installing maintenance Update  (using install_mu 8.08c)
    Sat Feb 16 15:37:42 JST 2002

Logging output to log file: /var/sadm/install_data/Maintenance_Update_log

Installing patches located in /export/home/user1/Solaris_8_MU7/i386/Patches

Arguments to install_mu:   -R / /export/home/user1/Solaris_8_MU7/i386/Patches/<pa
tch_id>

Please REBOOT your system after patch set has been applied.
             ・
             ・
 ※ここでいろいろなパッチが適用されているメッセージが出る。
             ・
             ・
install_mu completed at Sat Feb 16 16:29:19 JST 2002

Created new state file: /var/sadm/install_data/.mu_state.root.20020216162919

-=- Please REBOOT your system -=-


Updated /etc/release successfully.
# 

メンテナンスアップデートを適用が終了したら、再起動します。今回は通常起動で良いので、シングルモードのパラメータはつけません。

# sync ; reboot

再起動したらとりあえずバージョンの確認

# uname -v
Generic_108529-13
#

これでメンテナンスアップデートを適用が終わり、Solaris8 が 02/02 相当になりました。

ちなみに、Solaris8 07/01 は、Generic_108529-09、Solaris8 10/01 は、Generic_108529-11 と出ます。


Solaris 8 Maintenance Update 7 がうまくあたらない場合の回避方法

Solaris 8 Maintenance Update 7 の必須パッチである 108988-08 と112397-01 が 2002/3/28 にバージョンアップされそれぞれ 108988-09 と112397-02 になったことで、それら2つの新しいパッチを当てても Solaris 8 Maintenance Update 7 が以下のエラーを出して実行できないという現象が出てきました。

****************************************************************
* Patch(es) 108988-08 112397-01 not installed - exiting.
* -----------------------------------------------------------
* these are  mandatory patch(es) for Solaris 8 MU7 (i386) as
* they resolve some patch database corruption issues. Please
* install the patch(es) before applting the Maintenance Update.
* The patch(es) may be obtained via Sunsolve or your normal patch
* distribution channels.
****************************************************************

これは、Solaris 8 Maintenance Update 7 側で必須パッチのチェックしている部分が決め打ちで 108988-08 と112397-01 を指定していることによって、それらパッチが新しくなっても対応できないことに起因しています。で、その部分を修正すれば Solaris 8 Maintenance Update 7 をインストールすることが可能になります。

ただ、この方法は保証外の方法なので問題が出てしまっても自分の責任でということになりますが、どうしても 02/02 相当の Solaris8 にしたい場合には、下記の手順で修正をして実行してみてください。

1.MU7 を適当なディレクトリに解凍します。実際に install.mu を実行したいディレクトリに解凍すればOKです。

# unzip S8MU7_intel.zip

2.install_mu ファイルの、以下の部分を修正します。

  1) 1789行目
    patchX86="108988-08"
    を
    patchX86="108988-09"
    に変更。
  2)1786行目
    fgrepX86="112397-01"
    を
    fgrepX86="112397-02"
    に変更。

  ※その他の部分にも 108988-08 と112397-01 は出てきますが、コメントなので修正不要です。

この部分を修正すれば、108988-09 と112397-02 のパッチ適用後でも、この修正後の install_mu があれば実行可能になります。


「ノートPCにSolarisを」のホームへ