Task |
Description |
For Instructions |
---|---|---|
1. (Optional) Display information about unsigned patches |
Display information about unsigned patches already installed on your system. | |
2. Download an unsigned patch |
Download an unsigned patch to your system. | |
3. Add an unsigned patch |
Add an unsigned patch to your system. | |
4. (Optional) Remove an unsigned patch |
If necessary, remove an unsigned patch from your system. |
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. |
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 |
You can use the following tools to add unsigned patches to servers or standalone systems:
patchadd
smpatch
Solaris Management Console's Patch Manager
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:
Determine the Solaris version number of the managing host and the target host
Update the patch package's pkginfo file with information about patches obsoleted by the patch being installed, other patches required by this patch, and patches incompatible with this patch
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:
The package is not fully installed on the host.
The patch packages architecture differs from the system's architecture.
The patch packages version does not match the installed package's version.
A patch with the same base code and a higher version number is already installed.
The patch is incompatible with another, already installed patch. Each installed patch keeps this information in its pkginfo file.
The patch being installed requires another patch that is not installed.
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. |
(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.
Open a web browser and go to the SunSolve Online web site:
http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access |
Determine if you are going to download a specific patch or patch cluster. Then, select one of the following:
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.
Click on a recommended patch cluster based on the Solaris release running on the system to be patched.
Click the Download Patch (n bytes) HTTP or FTP button.
After the patch or patches are downloaded successfully, close the web browser.
Change to the directory that contains the downloaded patch package, if necessary.
Unzip the patch package.
% unzip patch-ID-revision |
This procedure assumes that the patch has already been downloaded and unzipped.
Become superuser.
Add the patch or patches.
# patchadd patch-ID-revision |
Verify that the patch was added successfully.
# patchadd -p | grep patch-ID-revision |
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 |
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.
Become superuser.
Add the patch or patches.
# /usr/sadm/bin/smpatch add patch-ID-revision |
# /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 |
Check smpatch messages for instructions to reboot the system.
Reboot the system if you are instructed to reboot.
# init 6 |
Verify that the patch was added successfully.
# patchadd -p | grep patch-ID-revision |
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 was installed with the patchadd -d option, which instructs patchadd to not save copies of files being updated or replaced.
The patch has been obsoleted by a later patch.
The patch is required by another patch.
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.
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.
Become superuser.
Remove the patch.
# patchrm patch-ID-revision |
Or,
# /usr/sadm/bin/smpatch remove patch-ID-revision |
Verify that the patch was removed.
# patchadd -p | grep patch-ID-revision |
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 . . . |