Solaris 10 のパッチ適用メモ 2 ( 121431-22 )




Solaris 10 でパッチ ID [ 121431-22 ] を適用した際のメモ。

通常通り patchadd コマンドでパッチを適用すると次のような
エラーになり適用することができない。

# patchadd 121431-21
Validating patches...

Loading patches installed on the system...

Done!

Loading patches requested to install.

Done!

Checking patches that you specified for installation.

Done!


Approved patches will be installed in this order:

121431-21


Verifying signed patch <121431-21>...
Enter keystore password: changeit
Verifying digital signature for signer <es-signature>
Digital signature for signer <es-signature> verified.
Verifying contents of signed patch </var/sadm/spool/121431-21.jar>
Contents of signed patch </var/sadm/spool/121431-21.jar> verified.
Signature on signed patch <121431-21> has been verified.
Extracting patch contents...
Checking installed patches...
Executing prepatch script...

This patch requires the installation of the latest version of the 
SUNWlucfg package.

The SUNWlucfg package can be found on the Solaris 10 Update 4 (08/2007) 
installation media or newer Solaris 10 updates.

The prepatch script exited with return code 1.

Patchadd is terminating.
#

これは Live Update のための最新のパッケージ ( SUNWlucfg ) が
インストールされていないためパッチを適用できないという意味。

Solaris 10 ( 8/07 ) に含まれているパッケージをインストール必要があります。

そこで Solaris 10 ( 8/07 ) の CD イメージをダウンロードしてきて、
それをマウントして必要なパッケージだけをインストールすることにする。

Solaris 10 で ISO イメージをマウントする

CD の何枚目に必要なパッケージが収録されているか分からないので、
disc 1 から順に探してみたところ、
disc 2 に SUNWlucfg, SUNWlur, SUNWluu が収録されていました。

disc 2 ( sol-10-u4-ga-x86-v2.iso ) をマウントした状態で以下を実施。

まずは変更前のパッケージを pkginfo コマンドで確認する。

# pkginfo | grep lur
application SUNWlur                          Live Upgrade (root)
#
# pkginfo | grep luu
application SUNWluu                          Live Upgrade (usr)
#
# pkginfo | grep lucfg
#

一旦、SUNWlur, SUNWluu パッケージをアンインストールする。

# pkgrm SUNWlur SUNWluu

The following package is currently installed:
   SUNWlur  Live Upgrade (root)
            (i386) 11.10,REV=2005.01.09.21.46

Do you want to remove this package? [y,n,?,q] y

## Removing installed package instance <SUNWlur>
## Verifying package <SUNWlur> dependencies in global zone
WARNING:
    The <SUNWluu> package depends on the package currently
    being removed.
WARNING:
    The <SUNWluzone> package depends on the package
    currently being removed.
Dependency checking failed.

Do you want to continue with the removal of this package [y,n,?,q] y
## Processing package information.
## Removing pathnames in class <EtcDefLu>
## Removing pathnames in class <AddNoUpdate>
## Removing pathnames in class <none>
/sbin/lucurr
/sbin/luactivate
/sbin <shared pathname not removed>
/etc/rc2.d/S10lu
/etc/rc2.d <shared pathname not removed>
/etc/rc1.d/S10lu
/etc/rc1.d <shared pathname not removed>
/etc/rc0.d/K62lu
/etc/rc0.d <shared pathname not removed>
/etc/lu/zones_pkgadd_admin
/etc/lu/tmp
/etc/lu/solaris_profile
・・・
( 省略 )
・・・
/etc/lib/lu/lu_init_sync_start
/etc/lib/lu/lu_activate_sync
/etc/lib/lu/liblu.so.1
/etc/lib/lu <shared pathname not removed>
/etc/lib <shared pathname not removed>
/etc/init.d/lu
/etc/init.d <shared pathname not removed>
/etc/default <shared pathname not removed>
/etc <shared pathname not removed>
## Updating system information.

Removal of <SUNWlur> was successful.

The following package is currently installed:
   SUNWluu  Live Upgrade (usr)
            (i386) 11.10,REV=2005.01.09.21.46

Do you want to remove this package? [y,n,?,q] y

## Removing installed package instance <SUNWluu>
## Verifying package <SUNWluu> dependencies in global zone
WARNING:
    The <SUNWzoneu> package depends on the package
    currently being removed.
Dependency checking failed.

Do you want to continue with the removal of this package [y,n,?,q] y
## Processing package information.
## Removing pathnames in class <none>
/usr/share/lib/xml/dtd/lu_cli.dtd.1
/usr/share/lib/xml/dtd <shared pathname not removed>
/usr/share/lib/xml <shared pathname not removed>
/usr/share/lib <shared pathname not removed>
/usr/share <shared pathname not removed>
/usr/sbin/luupgrade
/usr/sbin/luumount
/usr/sbin/lustatus
・・・
( 省略 )
・・・
/usr/lib/lu/help/C
/usr/lib/lu/help
/usr/lib/lu/compare
/usr/lib/lu
/usr/lib <shared pathname not removed>
/usr <shared pathname not removed>
## Updating system information.

Removal of <SUNWluu> was successful.
#

アンインストールされたことを pkginfo コマンドで確認する。

# pkginfo | grep lur
#
# pkginfo | grep luu
#

disc 2 ( sol-10-u4-ga-x86-v2.iso ) から新しいパッケージをインストールする。

# cd [ disc 2 のマウントポイント ]/Solaris_10/Product
#
# pkgadd -d . SUNWlucfg SUNWlur SUNWluu

Processing package instance <SUNWlucfg> from </mnt/iso/Solaris_10/Product>

Live Upgrade Configuration(i386) 11.10,REV=2007.03.09.15.05
Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using </> as the package base directory.
## Processing package information.
## Processing system information.
   4 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of <SUNWlucfg> [y,n,?] y

Installing Live Upgrade Configuration as <SUNWlucfg>

## Executing preinstall script.
## Installing part 1 of 1.
[ verifying class <none> ]
/etc/lu/synclist
[ verifying class <AddNoUpdate> ]
Updating /etc/default/lu
/etc/default/lu: Old setting <LUBIN=//usr/lib/lu> preserved over new setting 
<LUBIN=/usr/lib/lu>
/etc/default/lu: Old setting <OBJ_DIR=//usr/lib/lu/menu> preserved over new 
setting <OBJ_DIR=/usr/lib/lu/menu>
/etc/default/lu: Old setting <PATH=/etc:/sbin:/usr/bin:/usr/sbin:$PATH> 
preserved over new setting <PATH=$LUBIN:/usr/bin:/usr/sbin:/sbin:/etc:$PATH>
[ verifying class <EtcDefLu> ]

Installation of <SUNWlucfg> was successful.

Processing package instance <SUNWlur> from </mnt/iso/Solaris_10/Product>

Live Upgrade (root)(i386) 11.10,REV=2005.01.09.21.46
Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using </> as the package base directory.
## Processing package information.
## Processing system information.
   11 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of <SUNWlur> [y,n,?] y

Installing Live Upgrade (root) as <SUNWlur>

## Executing preinstall script.
## Installing part 1 of 1.
4103 blocks
## Executing postinstall script.

=========================================================================
                              IMPORTANT NOTICE

                  Patches Needed to Run Solaris Live Upgrade

Correct operation of Solaris Live Upgrade requires that a limited set of
patch revisions be installed for SunOS 5.10 for the i386 platform.

Before installing or running Live Upgrade, you are required to install a
limited set of patch revisions.  Make sure you have the most recently
updated patch list by consulting sunsolve.sun.com. Search for the info doc
72099 on the SunSolve(tm) web site.

Live Upgrade may fail to work properly if the latest limited set
of patch revisions are not installed on this system.

=========================================================================


Installation of <SUNWlur> was successful.

Processing package instance <SUNWluu> from </mnt/iso/Solaris_10/Product>

Live Upgrade (usr)(i386) 11.10,REV=2005.01.09.21.46
Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
Using </> as the package base directory.
## Processing package information.
## Processing system information.
   7 package pathnames are already properly installed.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of <SUNWluu> [y,n,?] y

Installing Live Upgrade (usr) as <SUNWluu>

## Installing part 1 of 1.
3654 blocks
## Executing postinstall script.

=========================================================================
                              IMPORTANT NOTICE

                  Patches Needed to Run Solaris Live Upgrade

Correct operation of Solaris Live Upgrade requires that a limited set of
patch revisions be installed for SunOS 5.10 for the i386 platform.

Before installing or running Live Upgrade, you are required to install a
limited set of patch revisions.  Make sure you have the most recently
updated patch list by consulting sunsolve.sun.com. Search for the info doc
72099 on the SunSolve(tm) web site.

Live Upgrade may fail to work properly if the latest limited set
of patch revisions are not installed on this system.

=========================================================================


Installation of <SUNWluu> was successful.
#

新しいパッケージがインストールされたことを pkginfo コマンドで確認する。

# pkginfo | grep lur
application SUNWlur                          Live Upgrade (root)
#
# pkginfo | grep luu
application SUNWluu                          Live Upgrade (usr)
#
# pkginfo | grep lucfg
application SUNWlucfg                        Live Upgrade Configuration
#

これで SUNWlucfg をインストールすることができました。


最終目的である 121431-22 を適用してみます。

# patchadd 121431-22
Validating patches...

Loading patches installed on the system...

Done!

Loading patches requested to install.

Done!

Checking patches that you specified for installation.

Done!


Approved patches will be installed in this order:

121431-22


Verifying signed patch <121431-22>...
Enter keystore password: changeit
Verifying digital signature for signer <es-signature>
Digital signature for signer <es-signature> verified.
Verifying contents of signed patch </var/sadm/spool/121431-22.jar>
Contents of signed patch </var/sadm/spool/121431-22.jar> verified.
Signature on signed patch <121431-22> has been verified.
Extracting patch contents...
Checking installed patches...
Executing prepatch script...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch 121431-22 has been successfully installed.
See /var/sadm/patch/121431-22/log for details
Executing postpatch script...

Patch packages installed:
  SUNWlur
  SUNWluu

#

今度は問題なくパッチを適用することができました。