NOTE: click here if you get an empty page.



System Administration Commands                       patchadd(1M)

NAME

patchadd - apply a patch package to a system running the Solaris operating system

SYNOPSIS

patchadd [-dun] [-G] [-B backout_dir] [-k keystore] [-P passwd] [-t] [-x proxy] {patch} | {-M patch_location [patch_list]} [-C net_install_image | -R client_root_path | -S service] patchadd -p [-C net_install_image | -R client_root_path | -S service]

DESCRIPTION

patchadd applies a patch package to a system running the Solaris 2.x operating environment or later Solaris environ- ments (such as Solaris 10) that are compatible with Solaris 2.x. This patch installation utility cannot be used to apply Solaris 1 patches. patchadd must be run as root. The patchadd command has the following forms: o The first form of patchadd installs one or more patches to a system, client, service, or to the miniroot of a Net Install Image. o The second form of patchadd displays installed patches on the client, service, or to the miniroot of a Net Install Image. Starting with version 10 of the Solaris operating system, patchadd performs validity and dependency checking among a collection of patches that you specify with the -M source specifier. See the description of -M under OPERANDS, below. With respect to zones(5), when invoked in the global zone, by default, patchadd patches all appropriate packages in all zones. Patching behavior on system with zones installed varies according to the following factors: o use of the -G option (described below) o setting of the SUNW_PKG_ALLZONES variable in the pkginfo file (see pkginfo(4)) o type of zone, global or local (non-global) in patchadd which is invoked SunOS 5.10 Last change: 9 Jul 2009 1 System Administration Commands patchadd(1M) The interaction of the factors above is specified in "Interaction of -G and pkginfo Variable in Zones," below. When you add patches to packages on a Solaris system with zones installed, you will see numerous zones-related mes- sages, the frequency and content of which depend on whether you invoke patchadd in a global or local zone, the setting of SUNW_PKG_ALLZONES, and the use of the -G option. Note that if you apply a patch that modifies objects in the boot archive, you will need to run the bootadm command shown below. This is true whether the patch is installed individu- ally or as part of a cluster, using install_cluster and specifying an alternate root. # bootadm update_archive -R /altroot If you do not enter the preceding command, you will need to boot twice to build a clean boot archive. The patch, -M, -C, -R, and -S arguments shown in the SYNOPSIS are described under OPERANDS, following OPTIONS.

OPTIONS

The following options are supported: -B backout_dir Saves backout data to a directory other than the package database. Specify backout_dir as an absolute path name. -d Does not back up the files to be patched. The patch can- not be removed. -G Add patch(es) to packages in the current zone only. When used in the global zone, the patch is added to packages in the global zone only and is not propagated to pack- ages in any existing or yet-to-be-created non-global zone. When used in a non-global zone, the patch is added to packages in the non-global zone only. See SunOS 5.10 Last change: 9 Jul 2009 2 System Administration Commands patchadd(1M) "Interaction of -G and pkginfo Variable in Zones,", below. -k keystore Use keystore as the location to get trusted certificate authority certificates when verifying digital signatures found in each patch. If no keystore is specified, then the default keystore locations are searched for valid trusted certificates. See KEY STORE LOCATIONS in pkgadd(1M) for more information. -n Tells patchadd to ignore the signature and not to vali- date it. This should be used only when the content of the patch is known and trusted, and is primarily included to allow patchadd to apply a patch on systems without the ability to verify the patch signature, such as Solaris 8. -p In the second form, displays a list of the patches currently applied. -P passwd Password to use to decrypt the keystore specified with -k, if required. See PASS PHRASE ARGUMENTS in pkgadd(1M) for more information about the format of this option's argument. -t Maintains the patchadd return codes from the Solaris release prior to Solaris 10. On a system with zones(5) installed, a return code of 0 indicates success. Any other return code indicates failure. -u Turns off validation against other required or incompa- tible patches. Use extreme caution when using this option. Its use can precipitate unanticipated bad conse- quences. SunOS 5.10 Last change: 9 Jul 2009 3 System Administration Commands patchadd(1M) -x proxy Specify a HTTP[S] proxy to use when downloading packages The format of proxy is host:port, where host is the hostname of the HTTP[S] proxy, and port is the port number associated with the proxy. This switch overrides all other methods of specifying a proxy. See ENVIRONMENT VARIABLES in pkgadd(1M) for more information on alter- nate methods of specifying a default proxy.

OPERANDS

The following operands are supported: Sources patchadd must be supplied a source for retrieving the patch. Specify sources using the syntax shown below. patch The absolute path name to patch_id or a URI pointing to a signed patch. /var/sadm/spool/patch/104945-02 is an example of a patch. https://syrinx.eng:8887/patches/104945-02 is an example of a URI pointing to a signed patch. -M patch_location [patch_list] Specifies the patches to be installed by directory loca- tion or URL and, optionally, the name of a file contain- ing a patch list. When using a directory as the patch_location, specify that directory as an absolute path name. Specify a URL as the server and path name that contains the spooled patches. The optional patch_list is the name of the file at a specified location containing the patches to be installed. -M patch_location patch_id [patch_id...] Specifies the patches to be installed by directory loca- tion or URL, and patch number. To use the directory location or URL and the patch number, specify patch_location as the absolute path name of the directory that contains spooled patches. Specify a URL as the server and path name that contains the spooled patches. Specify patch_id as the patch number of a given patch. 104945-02 is an example of a patch_id. SunOS 5.10 Last change: 9 Jul 2009 4 System Administration Commands patchadd(1M) 104945-02 is also an example of a patchid in 104945- 02.jar. Note that patchadd does not require a list of patches. Among a collection of patches-residing in a directory, specified in a list, or entered on a command line-patchadd performs validity and dependency checking. Specifically, the command does the following: o Determines whether a patch is applicable for a sys- tem. For example, if the package to be patched is not installed, patchadd does not attempt to add the patch. o Establishes dependencies among valid patches and orders the installation of patches accordingly. With the "Zones Parallel Patching" feature, patches can be applied to zones in parallel. After a patch is installed successfully in the global zone, the patch installation software will start a number of processes whose task is to apply patches to zones. The number of processes to be started would be determined by the num_proc parameter in the configuration file /etc/patch/pdo.conf. The number of processes to be started is determined in the following order: 1. The value of the num_proc parameter. Setting this to 1 retains the current behavior of the patch sys- tem. 2. The number of online CPUs in the system. The upper bound is the number of configured Solaris zones. Most users will find the easiest way to specify a source for patchadd is to specify only a patch_location containing a set of patches. Destinations By default, patchadd applies a patch to the specified desti- nation. If no destination is specified, then the current system (the one with its root filesystem mounted at /) is assumed to be the destination for the patch. You can specify a destination in the following ways: SunOS 5.10 Last change: 9 Jul 2009 5 System Administration Commands patchadd(1M) -C net_install_image Patches the files located on the miniroot on a Net Install Image created by setup_install_server. Specify net_install_image as the absolute path name to a Solaris 8 or compatible version boot directory. See EXAMPLES. You should use the -C option only to install patches that are recommended for installation to the miniroot. Patches that are recommended for installation to the miniroot usually include install-related patches such as package commands, and Sun install and patch installation tools. If you apply too many patches to the miniroot it can grow too large to fit into memory during a net ins- tallation of Solaris. Use the -B option and the -C option together so the miniroot does not get too large. See -B, above. Note that in the current release and in certain versions of Solaris 10, the miniroot is compressed. To determine whether the miniroot is compressed on your system, look for a file called sparc.miniroot or x86.miniroot under /boot, on the boot medium. Before you can patch a compressed miniroot, you must perform certains steps. See "Patching a Compressed Miniroot" below. -R client_root_path Locates all patch files generated by patchadd 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 direc- tory tree under which all patch files generated by patchadd are to be located. -R cannot be specified with the -S option. See NOTES. Note - The root file system of any non-global zones must not be referenced with the -R option. Doing so might dam- age the global zone's file system, might compromise the security of the global zone, and might damage the non-global zone's file system. See zones(5). -S service Specifies an alternate service (for example, Solaris_8). This service is part of the server and client model, and can only be used from the server's console. Servers can SunOS 5.10 Last change: 9 Jul 2009 6 System Administration Commands patchadd(1M) contain shared /usr file systems that are created by smosservice(1M). These service areas can then be made available to the clients they serve. -S cannot be speci- fied with the -R option. See NOTES. Patching a Compressed Miniroot The Solaris operating system uses a compressed miniroot. The compressed miniroot was adopted first in Solaris for x86 and then in Solaris for SPARC over the course of Solaris 10 update releases. See below for an easy way to determine whether your Solaris system uses a compressed miniroot. To patch a system with a compressed miniroot (full or par- tial), you must unpack and then repack the miniroot before and after running patchadd with the -C destination specif- ier. Use the procedure shown below and accompanying example commands. 1. Unpack the compressed miniroot: # /boot/solaris/bin/root_archive unpackmedia \ /export/home/altuser/testdir /export/home/altuser/mr 2. Run patchadd with -C to patch the miniroot: # patchadd -C /export/home/altuser/mr \ /var/sadm/spool/104945-02 3. Repack the miniroot: # /boot/solaris/bin/root_archive packmedia \ /export/home/altuser/testdir /export/home/altuser/mr At this point, you can use setup_install_server(1M) to install the patched miniroot on an install server. See root_archive(1M) for a description of that command. To determine whether a Solaris image uses a compressed miniroot, check for the presence of either an x86.miniroot or sparc.miniroot file under /boot on the boot medium. SunOS 5.10 Last change: 9 Jul 2009 7 System Administration Commands patchadd(1M) Interaction of -G and pkginfo Variable in Zones The following list specifies the interaction between the -G option and the SUNW_PKG_ALLZONES variable (see pkginfo(4)) when adding a patch in global and local (non-global) zones. global zone, -G specified If any packages have SUNW_PKG_ALLZONES set to true: Error; nothing changes. If no packages have SUNW_PKG_ALLZONES set to true: Apply patch to package(s) in global zone only. global zone, -G not specified If any packages have SUNW_PKG_ALLZONES set to true: Apply patch to appropriate package(s) in all zones. If no packages have SUNW_PKG_ALLZONES set to true: Apply patch to appropriate package(s) in all zones. local zone, -G specified or not specified If any packages have SUNW_PKG_ALLZONES set to true: Error; nothing changes. If no packages have SUNW_PKG_ALLZONES set to true: Apply patch package(s) in local zone only.

KEYSTORE LOCATIONS

See the section KEYSTORE LOCATIONS in the pkgadd(1M) man page for details.

KEYSTORE AND CERTIFICATE FORMATS

See the section KEYSTORE AND CERTIFICATE FORMATS in the pkgadd(1M) man page for details.

EXAMPLES

The examples in this section are all relative to the /usr/sbin directory. Example 1 Installing a Patch to a Standalone Machine The following example installs a patch to a standalone machine: example# patchadd /var/sadm/spool/104945-02 SunOS 5.10 Last change: 9 Jul 2009 8 System Administration Commands patchadd(1M) Example 2 Installing a Patch to a Client From the Server's Console The following example installs a patch to a client from the server's console: example# patchadd -R /export/root/client1 /var/sadm/spool/104945-02 Example 3 Installing a Patch to a Service From the Server's Console The following example installs a patch to a service from the server's console: example# patchadd -S Solaris_8 /var/sadm/spool/104945-02 Example 4 Installing Multiple Patches in a Single Invocation The following example installs multiple patches in a single patchadd invocation: example# patchadd -M /var/sadm/spool 104945-02 104946-02 102345-02 Example 5 Installing Multiple Patches Specifying List of Patches to Install The following example installs multiple patches specifying a file with the list of patches to install: example# patchadd -M /var/sadm/spool patchlist Example 6 Installing Multiple Patches to a Client and Saving the Backout Data SunOS 5.10 Last change: 9 Jul 2009 9 System Administration Commands patchadd(1M) The following example installs multiple patches to a client and saves the backout data to a directory other than the default: example# patchadd -M /var/sadm/spool -R /export/root/client1 \ -B /export/backoutrepository 104945-02 104946-02 102345-02 Example 7 Installing a Patch to a Solaris 8 or Compatible Version Net Install Image The following example installs a patch to a Solaris 8 or compatible version Net Install Image: example# patchadd -C /export/Solaris_8/Tools/Boot \ /var/sadm/spool/104945-02 Example 8 Installing a Patch to a Compressed Miniroot The following example installs a patch to a compressed miniroot, such as one finds on a Solaris x86 machine that supports GRUB-style booting. This example assumes that /export/Solaris_11/Tools/Boot contains the unpacked miniroot. After applying the patch, the miniroot needs to be repacked example# patchadd -C /export/Solaris_11/Tools/Boot \ /var/sadm/spool/104945-02 See "Patching a Compressed Miniroot," above, for information on Solaris versions that use a compressed miniroot. Example 9 Installing a Patch to an Uncompressed Miniroot The following example installs a patch to a miniroot on a Solaris machine that does not have a compressed miniroot. example# patchadd -C /export/Solaris_9/Tools/Boot \ SunOS 5.10 Last change: 9 Jul 2009 10 System Administration Commands patchadd(1M) /var/sadm/spool/104945-02 See "Patching a Compressed Miniroot," above, for information on Solaris versions that use a compressed miniroot. Example 10 Displaying the Patches Installed on a Client The following example displays the patches installed on a client: example# patchadd -R /export/root/client1 -p Note the caveat on the use of the -R option in the descrip- tion of that option, above. Example 11 Installing a Digitally Signed Set of Patches The following example installs multiple patches, some of which have been signed, using the supplied keystore, pass- word, and HTTP proxy. example# patchadd -k /etc/mycerts -P pass:abcd -x webcache.eng:8080 \ -M http://www.sun.com/solaris/patches/latest 101223-02 102323-02

FILES

One configuration file of note: /etc/patch/pdo.conf Patch configuration file. Can be used to configure "Zones Parallel Patch- ing" feature.

EXIT STATUS

The following exit values are returned: 0 Successful completion. SunOS 5.10 Last change: 9 Jul 2009 11 System Administration Commands patchadd(1M) >0 An error occurred.

ATTRIBUTES

See attributes(5) for descriptions of the following attri- butes: ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Availability | SUNWswmt, SUNWcsu | |_____________________________|_____________________________| | Interface Stability | Evolving | |_____________________________|_____________________________|

SEE ALSO

cpio(1), pkginfo(1), patchrm(1M), pkgadd(1M), pkgadm(1M), pkgchk(1M), pkgrm(1M), setup_install_server(1M), smpatch(1M), showrev(1M), pdo.conf(4), pkginfo(4), attributes(5) , grub(5), zones(5)

DIAGNOSTICS

The following messages might help in determining some of the most common problems associated with installing a patch. Patch Installation errors Message The prepatch script exited with return code retcode. patchadd is terminating. Explanation and Recommended Action The prepatch script supplied with the patch exited with a return code other than 0. Run a script trace of the prepatch script and find out why the prepatch had a bad return code. Add the -x option to the first line of the prepatch script to fix the problem and run patchadd again. Message SunOS 5.10 Last change: 9 Jul 2009 12 System Administration Commands patchadd(1M) The signature on patch patch_id was unable to be verified. patchadd is terminating. Explanation and Recommended Action The digital signature on a patch was unable to be verified given the keystore in use and the signature on the patch. Check the keystore to make sure it has the requisite trust anchor(s) required to validate the signature on the package and that the package has not been tampered with. Message The postpatch script exited with return code retcode. Backing out patch. Explanation and Recommended Action The postpatch script provided with the patch exited with an error code other than 0. This script is mostly used to cleanup files (that is, when a pack- age is known to have ownership or permission prob- lems) attributes that do not correspond to the patch package's objects. After the user has noted all validation errors and taken the appropriate action for each one, the user should re-run patchadd using the -u (unconditional) option. This time, the patch installation will ignore validation errors and install the patch anyway. Message Insufficient space in /var/sadm/patch to save old files. (For 2.4 systems and previous) Explanation and Recommended Action There is insufficient space in the /var/sadm/patch directory to save old files. The user has three SunOS 5.10 Last change: 9 Jul 2009 13 System Administration Commands patchadd(1M) options for handling this problem: Use the -B option while invoking patchadd. This option will direct patchadd to: save the backout data to the user specified file system, generate additional disk space by deleting unneeded files, or override the saving of the old files by using the -d (do not save) option when running patchadd. If the user elects not to save the old versions of the files to be patched, patchrm cannot be used. One way to regain space on a system is to remove the save area for previously applied patches. Once the user has decided that it is unlikely that a patch will be backed out, the user can remove the files that were saved by patchadd. The following commands should be executed to remove the saved files for patchpatch_id: cd /var/sadm/patch/patch_id rm -r save/* rm .oldfilessaved After these commands have been executed, patch patch_id can no longer be backed out. Message Insufficient space in /var/sadm/pkg/PKG/save to save old files. (For 2.5 systems and later) Explanation and Recommended Action There is insufficient space in the /var/sadm/pkg/PKG/save directory to save old files. The user has three options for handling this prob- lem: (1) Use the -B option while invoking patchadd. This option will direct patchadd to save the backout data to the user specified file system. (See synopsis above.) (2) Generate additional disk space by deleting unneeded files, or (3) override the sav- ing of the old files by using the -d (do not save) option when running patchadd. However, if the user elects not to save the old versions of the files to be patched, patchrm cannot be used. One way to regain space on a system is to remove the save area SunOS 5.10 Last change: 9 Jul 2009 14 System Administration Commands patchadd(1M) for previously applied patches. Once the user has decided that it is unlikely that a patch will be backed out, the user can remove the files that were saved by patchadd. The following commands should be executed to remove the saved files for patch patch_id: cd /var/sadm/pkg/pkgabbrev/save rm -r patch_id After these commands have been executed, patch patch_id can no longer be backed out. Message Save of old files failed. (For 2.4 systems and previous) Explanation and Recommended Action Before applying the patch, the patch installation script uses cpio to save the old versions of the files to be patched. This error message means that the cpio failed. The output of the cpio would have been preceded this message. The user should take the appropriate action to correct the cpio failure. A common reason for failure will be insufficient disk space to save the old versions of the files. The user has two options for handling insufficient disk space: (1) generate additional disk space by delet- ing unneeded files, or (2) override the saving of the old files by using the -d option when running patchadd. However if the user elects not to save the old versions of the files to be patched, the patch cannot be backed out. Message Pkgadd of pkgname package failed with error code code. See /tmp/log.patch_id for reason for failure. SunOS 5.10 Last change: 9 Jul 2009 15 System Administration Commands patchadd(1M) Explanation and Recommended Action The installation of one of the patch packages failed. patchadd will backout the patch to leave the system in its pre-patched state. See the log file for the reason for failure. Correct the problem and reapply the patch. Message Pkgadd of pkgname package failed with error code code. Will not backout patch...patch re-installation. Warning: The system may be in an unstable state! See /tmp/log.patch_id for reason for failure. Explanation and Recommended Action The installation of one of the patch packages failed. patchadd will not backout the patch. You may manually backout the patch using patchrm, then re- apply the entire patch. Look in the log file for the reason pkgadd failed. Correct the problem and re- apply the patch. Message patchadd is unable to find the INST_RELEASE file. This file must be present for patchadd to function correctly. Explanation and Recommended Action The INST_RELEASE file is missing from the system. This file is created during either initial installa- tion or during an update. Message A previous installation of patch patch_id was invoked that saved files that were to be patched. Since files SunOS 5.10 Last change: 9 Jul 2009 16 System Administration Commands patchadd(1M) were saved, you must run this instance of patchadd without the -d option. Explanation and Recommended Action If a patch was previously installed without using the -d option, then the re-installation attempt must also be invoked without the -d option. Execute patchadd without the -d option. Message A previous installation of patch patch_id was invoked with the -d option. (i.e. Do not save files that would be patched) Therefore, this invocation of patchadd must also be run with the -d option. Explanation and Recommended Action If a patch was previously installed using the -d option, then the re-installation attempt must also be invoked with the-d option. Execute patchadd with the -d' option. Message Illegal character found during parsing. Read the man page for pdo config file. Explanation and Recommended Action The /etc/patch/pdo.conf follows a specific layout. Each entry in this file should conform to this lay- out. See pdo.conf(4). Diagnostic Reference The patch installation messages listed below are not neces- sarily considered errors, as indicated in the explanations SunOS 5.10 Last change: 9 Jul 2009 17 System Administration Commands patchadd(1M) given. These messages are, however, recorded in the patch installation log for diagnostic reference. Message Package not patched: PKG=SUNxxxx Original package not installed Explanation and Recommended Action One of the components of the patch would have patched a package that is not installed on your sys- tem. This is not necessarily an error. A patch may fix a related bug for several packages. For example, suppose a patch fixes a bug in both the online-backup and fddi packages. If you had online- backup installed but didn't have fddi installed, you would get the message : Package not patched: PKG=SUNWbf Original package not installed This message only indicates an error if you thought the package was installed on your system. If this is the case, take the necessary action to install the package, backout the patch (if it installed other packages) and re-install the patch. Message Package not patched: PKG=SUNxxx ARCH=xxxxxxx VERSION=xxxxxxx Architecture mismatch Explanation and Recommended Action One of the components of the patch would have patched a package for an architecture different from SunOS 5.10 Last change: 9 Jul 2009 18 System Administration Commands patchadd(1M) your system. This is not necessarily an error. Any patch to one of the architecture-specific packages might contain one element for each of the possible architectures. For example, assume you are running on a sun4u. If you were to install a patch to pack- age SUNWcar, you would see the following (or simi- lar) messages: Package not patched: PKG=SUNWcar ARCH=sparc.sun4c VERSION=11.5.0,REV=2.0.18 Architecture mismatch Package not patched: PKG=SUNWcar ARCH=sparc.sun4u VERSION=11.5.0,REV=2.0.18 Architecture mismatch Package not patched: PKG=SUNWcar ARCH=sparc.sun4e VERSION=11.5.0,REV=2.0.18 Package not patched: PKG=SUNWcar ARCH=sparc.sun4 VERSION=11.5.0,REV=2.0.18 Architecture mismatch These messages indicate an error condition only if patchadd does not correctly recognize your architec- ture. Message Package not patched: PKG=SUNxxxx ARCH=xxxx VERSION=xxxxxxx Version mismatch Explanation and Recommended Action The version of software to which the patch is SunOS 5.10 Last change: 9 Jul 2009 19 System Administration Commands patchadd(1M) applied is not installed on your system. For exam- ple, if you were running Solaris 8, and you tried to install a patch against Solaris 9, you would see the following (or similar) message: Package not patched: PKG=SUNWcsu ARCH=sparc VERSION=10.0.2 Version mismatch This message does not necessarily indicate an error. If the version mismatch was for a package you needed patched, either get the correct patch version or install the correct package version. Then backout the patch (if necessary) and reapply. Message Re-installing Patch. Explanation and Recommended Action The patch has already been applied, but there is at least one package in the patch that could be added. For example, if you applied a patch that had both Openwindows and Answerbook components, but your sys- tem did not have Answerbook installed, the Answer- book parts of the patch would not have been applied. If, at a later time, you pkgadd Answerbook, you could re-apply the patch, and the Answerbook com- ponents of the patch would be applied to the system. Message patchadd Interrupted. patchadd is terminating. Explanation and Recommended Action patchadd was interrupted during execution (usually SunOS 5.10 Last change: 9 Jul 2009 20 System Administration Commands patchadd(1M) through pressing CTRL-c). patchadd will clean up its working files and exit. Message patchadd Interrupted. Backing out Patch... Explanation and Recommended Action patchadd was interrupted during execution (usually through pressing CTRL-c). patchadd will clean up its working files, backout the patch, and exit. Message Warning: Cannot open configuration file %s for reading. Using default serial patching behavior Explanation and Recommended Action The /etc/patch/pdo.conf file is missing from the system. This file is typically created during an initial install or update or by applying the patch for the "Zones Parallel Patching" feature. If the file is not present, the default, one-at-time behavior of adding or removing patches from a zoned system would ensue.

NOTES

To successfully install a patch to a client or server, patchadd must be issued twice, once with the -R option and once with the -S option. This guarantees that the patch is installed to both the /usr and root partitions. This is necessary if there are both /usr and root packages in the patch. pkgadd is invoked by patchadd and executes the installation scripts in the pkg/install directory. The checkinstall SunOS 5.10 Last change: 9 Jul 2009 21 System Administration Commands patchadd(1M) script is executed with its ownership set to user install, if there is no user install then pkgadd executes the chec- kinstall script as noaccess. The SVR4 ABI states that the checkinstall shall only be used as an information gathering script. If the permissions for the checkinstall script are changed to something other than the initial settings, pkgadd may not be able to open the file for reading, thus causing the patch installation to abort with the following error: pkgadd: ERROR: checkinstall script did not complete successfully. The permission for the checkinstall script should not be changed. Contents of log file for a successfull installa- tion: patchadd redirects pkgadd's output to the patch ins- tallation log file. For a successfull installation, pkgadd will produce the following message that gets inserted into the log file: This appears to be an attempt to install the same architecture and version of a package which is already installed. This installation will attempt to overwrite this package. This message does not indicate a failure, it represents the correct behavior by pkgadd when a patch installs correctly. This message does not indicate a failure, it represents the correct behavior by pkgadd when a patch installs correctly. On client server machines the patch package is not applied to existing clients or to the client root template space. Therefore, when appropriate, all client machines will need the patch applied directly using this same patchadd method on the client. See instructions above for applying patches to a 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: Solaris 2.5.1 Sparc Platform Edition: 104578 SunOS 5.10 Last change: 9 Jul 2009 22 System Administration Commands patchadd(1M) Solaris 2.5.1 Intel Platform Edition: 104579 Solaris 2.6 Sparc Platform Edition: 106292 Solaris 2.6 Intel Platform Edition: 106293

WARNINGS

Certain patches are classified as "deferred activation" patches (sometimes with initial capitals, as "Deferred Activation" patches). Under conditions indicated below, such patches require special treatment. A patch's README file specifies whether that patch is of the deferred activation variety. (Search on "Deferred Activation" in the README file.) If you are installing or removing a patch that uses deferred activation patching, you must check on the following: o On a system running zones, all non-global zones must be in a halted state for adding or removing a patch. o Deferred activation patching requires the loopback file system (lofs) in order to complete safely. Systems running Sun Cluster 3.1 or Sun Cluster 3.2 are likely to have lofs turned off because of res- trictions on HA-NFS functionality when lofs is enabled. Therefore, before a deferred activation patch is installed or removed, you must re-enable the loopback file system by commenting out the fol- lowing line in the /etc/system file: exclude:lofs Then, reboot your system and install or remove the patch. After you have completed the patch opera- tion, uncomment the line cited above, then reboot to resume normal operation. SunOS 5.10 Last change: 9 Jul 2009 23

1994 Man-cgi 1.15, Panagiotis Christias <christia@theseas.ntua.gr>