System Administration Guide: Basic Administration

Managing Unsigned Solaris Patches (Task Map)

Task 

Description 

For Instructions 

1. (Optional) Display information about unsigned patches 

Display information about unsigned patches already installed on your system. 

How to Display Information About Solaris Patches

2. Download an unsigned patch 

Download an unsigned patch to your system. 

How to Download an Unsigned Solaris Patch

3. Add an unsigned patch  

Add an unsigned patch to your system. 

How to Add a Unsigned Solaris Patch (patchadd)

4. (Optional) Remove an unsigned patch 

If necessary, remove an unsigned patch from your system. 

How to Remove an Unsigned Solaris Patch

Displaying Information About Unsigned Solaris Patches

Before installing patches, you might want to know more about patches that have previously been installed. The following table describes commands that provide useful information about patches that are already installed on a system.

Table 16–1 Commands for Solaris Patch Management

Command 

Description 

patchadd -p, showrev -p

Shows all patches that have been applied to a system. 

pkgparam pkgid PATCHLIST

Shows all patches that have been applied to the package identified by pkgid, the name of the package. For example, SUNWadmap.

patchadd -S Solaris-OS -p

Shows all the /usr patches installed on an OS server.

How to Display Information About Solaris Patches

Use the patchadd -p command to display information about patches installed on your system.


$ patchadd -p

Use the following command to verify whether a specific patch is installed on your system. For example:


$ patchadd -p | grep 111879

Adding an Unsigned Solaris Patch

You can use the following tools to add unsigned patches to servers or standalone systems:

If you need to add a patch to a diskless client system, see Patching Diskless Client OS Services.

When you add a patch, the patch tools call the pkgadd command to install the patch packages from the patch directory to a local system's disk. More specifically, the patch tools do the following:

During patch installation, the patchadd command keeps a log of the patch installation in the /var/sadm/patch/patch-ID/log file for current Solaris versions.

The patchadd command will not install a patch under the following conditions:

When you add or remove patches with the smpatch command, the command prompts you for authentication information if you do not specify the information in the command line.

You can specify authentication information to the smpatch command using the following syntax:


# smpatch add -p mypassword -u root -- -i patch-ID-revision

The smpatch subcommands, such as add or remove, are separated from the authentication options and arguments by --.

Or, you can let the smpatch command prompt you for the authentication information.


# /usr/sadm/bin/smpatch add -i patch-ID-revision
Type /? for help, pressing <enter> accepts the default denoted by [ ]
Please enter a string value for: password :: 
Loading Tool: com.sun.admin.patchmgr.cli.PatchMgrCli from holoship
Login to holoship as user root was successful.
Download of com.sun.admin.patchmgr.cli.PatchMgrCli from holoship was 
successful.

How to Download an Unsigned Solaris Patch

  1. (Optional) Log in to the system where the patch will be applied.

    Or, you can download the patch and use the ftp command to copy the patch to the target system.

  2. Open a web browser and go to the SunSolve Online web site:


    http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access
    
  3. Determine if you are going to download a specific patch or patch cluster. Then, select one of the following:

    1. Type the patch number (patch-ID) in the “Find Patch” search field. Then, click on Find Patch.

      Entering patch-ID downloads the latest patch revision.

      If this patch is freely available, the patch README is displayed. If this patch is not freely available, an ACCESS DENIED message is displayed.

      There are different patch numbers for SPARC and x86 systems, which are listed in the displayed patch README. Make sure you install the patch that matches your system architecture.

    2. Click on a recommended patch cluster based on the Solaris release running on the system to be patched.

  4. Click the Download Patch (n bytes) HTTP or FTP button.

    After the patch or patches are downloaded successfully, close the web browser.

  5. Change to the directory that contains the downloaded patch package, if necessary.

  6. Unzip the patch package.


    % unzip patch-ID-revision
    

How to Add a Unsigned Solaris Patch (patchadd)

This procedure assumes that the patch has already been downloaded and unzipped.

  1. Become superuser.

  2. Add the patch or patches.


    # patchadd patch-ID-revision
    
  3. Verify that the patch was added successfully.


    # patchadd -p | grep patch-ID-revision
    

Example—Adding an Unsigned Solaris Patch

In the following example, the Solaris 8 patch, 111879–01, is added to the system with the patchadd command. The patch had already been downloaded to the system previously and unzipped.


# patchadd /export/Sol8patch/111879-01

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

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

Patch packages installed:
  SUNWwsr
# patchadd -p | grep 111879-01
Patch: 111879-01 Obsoletes:  Requires:  Incompatibles:  Packages: SUNWwsr

How to Add a Unsigned Solaris Patch (smpatch)

Use this procedure on a system that runs the Solaris 9 release.

This procedure assumes that the patch is has already been downloaded to the /var/sadm/spool directory and is unzipped.

  1. Become superuser.

  2. Add the patch or patches.


    # /usr/sadm/bin/smpatch add patch-ID-revision
    

    For example:


    # /usr/sadm/bin/smpatch add -i 115028-01
    Authenticating as user: root
    
    Type /? for help, pressing <enter> accepts the default denoted by [ ]
    Please enter a string value for: password :: 
    Loading Tool: com.sun.admin.patchmgr.cli.PatchMgrCli from holoship
    Login to holoship as user root was successful.
    Download of com.sun.admin.patchmgr.cli.PatchMgrCli from holoship was 
    successful.
    
    Patch 115028-01, or a patch required by patch 115028-01, requires a 
    system reboot after installation. Perform a reconfiguration reboot 
    immediately after the installation.
    
            On machine holoship ...
                    Installing patch 115028-01
  3. Check smpatch messages for instructions to reboot the system.

    Reboot the system if you are instructed to reboot.


    # init 6
    
  4. Verify that the patch was added successfully.


    # patchadd -p | grep patch-ID-revision
    

Removing an Unsigned Solaris Patch

When you back out a patch, the patch tools restore all files modified by that patch, unless any of the following are true:

The patch tools call the pkgadd command to restore packages that were saved from the initial patch installation.

During the patch removal process, the patchrm command keeps a log of the back out process in /tmp/backoutlog.process_id. This log file is removed if the patch backs out successfully.

How to Remove an Unsigned Solaris Patch

You can use the smpatch command, the patchrm command, or Solaris Management Console's Patch Manager if you need to remove an unsigned Solaris patch.

  1. Become superuser.

  2. Remove the patch.


    # patchrm patch-ID-revision
    

    Or,


    # /usr/sadm/bin/smpatch remove patch-ID-revision
    
  3. Verify that the patch was removed.


    # patchadd -p | grep patch-ID-revision
    

Examples—Removing an Unsigned Solaris Patch

The following example shows how to remove the Solaris 8 patch, 111879–01 with the patchrm command.


# patchrm 111879-01

Checking installed patches...

Backing out patch 111879-01...

Patch 111874-02 has been backed out.

# showrev -p | grep 111879-01
#

The following example shows how to remove a Solaris 9 patch with the smpatch remove command.


# /usr/sadm/bin/smpatch remove -i 115028-01
Authenticating as user: root
.
.
.