Patching a Live Solaris 10 System Without Live Upgrade

I've used this procedure for patching a live Solaris system with a ZFS Root. Please Note: I'm not sure if Sun supports this process, so don't use on a production server until you have tested patching.

1. Download and extract the latest patch bundle from Sun.

unzip 10_Recommended.zip > /dev/null 2>&1

2. Make a temporary directory for the boot environment.

mkdir /boot-env

3. Create a snapshot of the running system.

zfs snapshot rpool/ROOT/10u6@zfs-running

4. Send the snapshot to a file.

zfs send rpool/ROOT/10u6@zfs-running > /backup/zfs-running.zfs

4. Create a ZFS filesystem.

zfs create rpool/ROOT/10u6-temp

5. Restore the zfs snapshot to the temporary filesystem.

zfs receive -vF rpool/ROOT/10u6-temp < /backup/zfs-running.zfs

6. Clone/Promote the restored snapshot.

zfs clone rpool/ROOT/10u6-temp@zfs-running rpool/ROOT/10u6-patched
zfs promote rpool/ROOT/10u6-patched

7. Set the mountpoint to the temporary directory from Step 3.

zfs set mountpoint=/boot-env rpool/ROOT/10u6-patched

8. Use the installcluster script to install the patch bundle.

./installcluster --apply-prereq --s10cluster
./installcluster -R /boot-env --s10cluster

9. Set the permenant mountpoint for the patched filesystem and make it bootable.

zfs set mountpoint=/ ${NEWBOOTFS}
zpool set bootfs=${NEWBOOTFS} rpool

10. Reboot

init 6

After the reboot, you should see rpool/ROOT/10u6-patched as your boot filesystem.



This document was generated using AFT v5.097