patchrm
Maintenance Commands patchrm(1M)NAME
patchrm - remove a Solaris 2 or Solaris 7 patch package and restore previously saved filesSYNOPSIS
patchrm [ -f ] [ -B backout_dir ] [ -C net_install_image | -R client_root_path | -S service ] patch_idDESCRIPTION
patchrm removes a patch package and restores previously saved files to a Solaris 2 or Solaris 7 system. patchrm can- not be used with Solaris 1 patches. patchrm must be run as root.OPTIONS
The following options are supported: -f Forces the patch removal regardless of whether the patch was superseded by another patch. -B backout_dir Removes a patch whose backout data has been saved to a directory other than the package database. This option is only needed if the original backout directory, sup- plied to the patchadd command at installation time, has been moved. Specify backout_dir as an absolute path name. -C net_install_image Removes the patched files located on the mini root on a Net Install Image created by setup_install_server. Specify net_install_image as the absolute path name to a Solaris 2.6 or compatible version boot directory. See EXAMPLES. -R client_root_path Locates all patch files generated by patchrm under the directory client_root_path. client_root_path is the directory that contains the bootable root of a client from the server's perspective. Specify client_root_path as the absolute path name to the beginning of the directory tree under which all patch files generated from patchrm will be located. -R can- not be specified with the -S option. -S service Specifies an alternate service (for example, Solaris_2.3). This service is part of the server and client model, and can only be used from the server's console. Servers can contain shared /usr file systems that are created by Host Manager. These service areas can then be made available to the clients they serve. SunOS 5.8 Last change: 11 Dec 1998 1 Maintenance Commands patchrm(1M) -S cannot be specified with the -R option..OPERANDS
The following operands are supported: patch_id The patch number of a given patch. 104945-02 is an example of a patch_id. EXAMPLES Example 1: Removing a patch from a standalone system. The examples in this section assume that patch 104945-02 has been installed to the system prior to removal. All of the examples are relative to the /usr/sbin directory. The following example removes a patch from a standalone sys- tem: example# patchrm 104945-02 Example 2: Removing a patch from a client's system from the server's console. The following example removes a patch from a client's system from the server's console: example# patchrm -R /export/root/client1 104945-02 Example 3: Removing a patch from a server's service area. The following example removes a patch from a server's ser- vice area: example# patchrm -S Solaris_2.3 104945-02 Example 4: Removing a patch from a Net Install Image. The following example removes a patch from a Net Install Image: example# patchrm -C /export/Solaris_2.6/Tools/Boot 104945-02 EXIT STATUS The following exit values are returned: 0 Successful completion. >0 An error occurred.ATTRIBUTES
SunOS 5.8 Last change: 11 Dec 1998 2 Maintenance Commands patchrm(1M) See attributes(5) for descriptions of the following attri- butes: ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Availability | SUNWswmt, SUNWcsu | |_____________________________|_____________________________|DIAGNOSTICS
The following messages may help in determining some of the most common problems associated with backing out a patch. Message prebackout patch exited with return code code. patchrm exiting. Explanation and Recommended Action The prebackout script supplied with the patch exited with a return code other than 0. Generate a script trace of the prebackout script to determine why the prebackout script failed. Add the -x option to the first line of the prepatch script to fix the problem and run patchadd again. Message postbackout patch exited with return code code. patchrm exiting. Explanation and Recommended Action The postbackout script supplied with the patch exited with a return code other than 0. Look at the postbackout script to determine why it failed. Add the -x option to the first line of the prepatch script to fix the problem, and, if necessary, re-exececute the postbackout script only. Message SunOS 5.8 Last change: 11 Dec 1998 3 Maintenance Commands patchrm(1M) Only one service may be defined. Explanation and Recommended Action You have attempted to specify more than one ser- vice from which to backout a patch. Different services must have their patches backed out with different invocations of patchrm. Message The -S and -R arguments are mutually exclusive. Explanation and Recommended Action You have specified both a non-native service and a client_root_path from which to backout a patch. These two arguments are mutually exclusive. If backing out a patch from a non- native usr partition, the -S option should be used. If backing out a patch from a client's root partition (either native or non-native), the -R option should be used. Message The service service cannot be found on this system Explanation and Recommended Action You have specified a non-native service from which to backout a patch, but the specified ser- vice is not installed on your system. Correctly specify the service when backing out the patch. Message Only one client_root_path may be defined. Explanation and Recommended Action SunOS 5.8 Last change: 11 Dec 1998 4 Maintenance Commands patchrm(1M) You have specified more than one client_root_path using the -R option. The -R option may be used only once per invocation of patchrm. Message The dir directory cannot be found on this system. Explanation and Recommended Action You have specified a directory using the -R option which is either not mounted, or does not exist on your system. Verify the directory name and re-backout the patch. Message Patch patch_id has not been successfully installed to this system. Explanation and Recommended Action You have attempted to backout a patch that is not installed on this system. If you must restore previous versions of patched files, you may have to restore the original files from the initial installation CD. Message Patch patch_id has not been successfully applied to this system. Will remove directory dir. Explanation and Recommended Action You have attempted to back out a patch that is not applied to this system. While the patch has not been applied, a residual /var/sadm/patch/patch_id (perhaps from an unsuc- cessful patchadd) directory still exists. The patch cannot be backed out. If restore old versions of the patched files, you may have SunOS 5.8 Last change: 11 Dec 1998 5 Maintenance Commands patchrm(1M) to restore them from the initial installation CD. Message This patch was obsoleted by patch patch_id. Patches must be backed out in the reverse order in which they were installed. Patch backout aborted. Explanation and Recommended Action You are attempting to backout patches out of order. Patches should never be backed-out out of sequence. This could undermine the integrity of the more current patch. Message Patch patch_id is required to be installed by an already installed patch_id. It cannot be backed out until the required patch is backed out first. Explanation and Recommended Action Backout the patch that is required to be installed then backout the desired patch. Message The installation of patch patch_id was interrupted. Explanation and Recommended Action A previous installation was interrupted. The interrupted patch needs to be installed before backing out the desired patch. Message Patch patch_id was installed without backing up the original files. It cannot be backed out. Explanation and Recommended Action Either the -d option of patchadd was set when SunOS 5.8 Last change: 11 Dec 1998 6 Maintenance Commands patchrm(1M) the patch was applied, or the save area of the patch was deleted to regain space. As a result, the original files are not saved and patchrm cannot be used. The original files can only be recovered from the original installation CD. Message pkgadd of pkgname package failed return code code. See /var/sadm/patch/patch_id/log for reason for failure. Explanation and Recommended Action The installation of one of patch packages failed. See the log file for the reason for failure. Correct the problem and run the backout script again. Message Restore of old files failed. Explanation and Recommended Action The backout script uses the cpio command to restore the previous versions of the files that were patched. The output of the cpio command should have preceded this message. The user should take the appropriate action to correct the cpio failure. This is for Solaris 2.4 or previous versions.SEE ALSO
cpio(1), pkginfo(1), patchadd(1M), pkgadd(1M), pkgchk(1M), pkgrm(1M), showrev(1M), attributes(5)NOTES
On client server machines the patch package is not removed from existing clients or from client root template space. Therefore, when appropriate, all client machines will need the patch removed directly using this same patchrm method on the client. A bug affecting a package utility (for example, pkgadd, pkgrm, pkgchk) could affect the reliability of patchadd or patchrm which use package utilities to install and backout the patch package. It is recommended that any patch that fixes package utility problems be reviewed and, if necessary, applied before other patches are applied. Existing patches are: SunOS 5.8 Last change: 11 Dec 1998 7 Maintenance Commands patchrm(1M) Solaris 2.1: patch 100901 Solaris 2.2: 101122 Solaris 2.3: 10133 Solaris 2.4 Sparc Platform Edition: 102039 Solaris 2.4 Intel Platform Edition: 102041 Solaris 2.5.1 Sparc Platform Edition: 104578 Solaris 2.51 Intel Platform Edition: 104579 Solaris 2.6 Sparc Platform Edition: 106292 Solaris 2.6 Intel Platform Edition: 106293 SunOS 5.8 Last change: 11 Dec 1998 8