1patchadd(1M) System Administration Commands patchadd(1M)
2
3
4
6 patchadd - apply a patch package to a system running the Solaris oper‐
7 ating system
8
10 patchadd [-dun] [-G] [-B backout_dir] [-k keystore]
11 [-P passwd] [-t] [-x proxy] {patch} |
12 {-M patch_location [patch_list]} [-C net_install_image |
13 -R client_root_path | -S service]
14
15
16 patchadd -p
17 [-C net_install_image | -R client_root_path | -S service]
18
19
21 patchadd applies a patch package to a system running the Solaris 2.x
22 operating environment or later Solaris environments (such as Solaris
23 10) that are compatible with Solaris 2.x. This patch installation util‐
24 ity cannot be used to apply Solaris 1 patches. patchadd must be run as
25 root.
26
27
28 The patchadd command has the following forms:
29
30 o The first form of patchadd installs one or more patches to a
31 system, client, service, or to the miniroot of a Net Install
32 Image.
33
34 o The second form of patchadd displays installed patches on
35 the client, service, or to the miniroot of a Net Install
36 Image.
37
38
39 Starting with version 10 of the Solaris operating system, patchadd per‐
40 forms validity and dependency checking among a collection of patches
41 that you specify with the -M source specifier. See the description of
42 -M under OPERANDS, below.
43
44
45 With respect to zones(5), when invoked in the global zone, by default,
46 patchadd patches all appropriate packages in all zones. Patching behav‐
47 ior on system with zones installed varies according to the following
48 factors:
49
50 o use of the -G option (described below)
51
52 o setting of the SUNW_PKG_ALLZONES variable in the pkginfo
53 file (see pkginfo(4))
54
55 o type of zone, global or local (non-global) in patchadd which
56 is invoked
57
58
59 The interaction of the factors above is specified in "Interaction of -G
60 and pkginfo Variable in Zones," below.
61
62
63 When you add patches to packages on a Solaris system with zones
64 installed, you will see numerous zones-related messages, the frequency
65 and content of which depend on whether you invoke patchadd in a global
66 or local zone, the setting of SUNW_PKG_ALLZONES, and the use of the -G
67 option.
68
69
70 The patch, -M, -C, -R, and -S arguments shown in the SYNOPSIS are
71 described under OPERANDS, following OPTIONS.
72
74 The following options are supported:
75
76 -B backout_dir
77
78 Saves backout data to a directory other than the package database.
79 Specify backout_dir as an absolute path name.
80
81
82 -d
83
84 Does not back up the files to be patched. The patch cannot be
85 removed.
86
87
88 -G
89
90 Add patch(es) to packages in the current zone only. When used in
91 the global zone, the patch is added to packages in the global zone
92 only and is not propagated to packages in any existing or yet-to-
93 be-created non-global zone. When used in a non-global zone, the
94 patch is added to packages in the non-global zone only. See "Inter‐
95 action of -G and pkginfo Variable in Zones,", below.
96
97
98 -k keystore
99
100 Use keystore as the location to get trusted certificate authority
101 certificates when verifying digital signatures found in each patch.
102 If no keystore is specified, then the default keystore locations
103 are searched for valid trusted certificates. See KEY STORE LOCA‐
104 TIONS in pkgadd(1M) for more information.
105
106
107 -n
108
109 Tells patchadd to ignore the signature and not to validate it. This
110 should be used only when the content of the patch is known and
111 trusted, and is primarily included to allow patchadd to apply a
112 patch on systems without the ability to verify the patch signature,
113 such as Solaris 8.
114
115
116 -p
117
118 In the second form, displays a list of the patches currently
119 applied.
120
121
122 -P passwd
123
124 Password to use to decrypt the keystore specified with -k, if
125 required. See PASS PHRASE ARGUMENTS in pkgadd(1M) for more informa‐
126 tion about the format of this option's argument.
127
128
129 -t
130
131 Maintains the patchadd return codes from the Solaris release prior
132 to Solaris 10. On a system with zones(5) installed, a return code
133 of 0 indicates success. Any other return code indicates failure.
134
135
136 -u
137
138 Turns off validation against other required or incompatible
139 patches. Use extreme caution when using this option. Its use can
140 precipitate unanticipated bad consequences.
141
142
143 -x proxy
144
145 Specify a HTTP[S] proxy to use when downloading packages The format
146 of proxy is host:port, where host is the hostname of the HTTP[S]
147 proxy, and port is the port number associated with the proxy. This
148 switch overrides all other methods of specifying a proxy. See ENVI‐
149 RONMENT VARIABLES in pkgadd(1M) for more information on alternate
150 methods of specifying a default proxy.
151
152
154 The following operands are supported:
155
156 Sources
157 patchadd must be supplied a source for retrieving the patch. Specify
158 sources using the syntax shown below.
159
160 patch
161
162 The absolute path name to patch_id or a URI pointing to a signed
163 patch. /var/sadm/spool/patch/104945-02 is an example of a patch.
164 https://syrinx.eng:8887/patches/104945-02 is an example of a URI
165 pointing to a signed patch.
166
167
168 -M patch_location [patch_list]
169
170 Specifies the patches to be installed by directory location or URL
171 and, optionally, the name of a file containing a patch list.
172
173 When using a directory as the patch_location, specify that direc‐
174 tory as an absolute path name. Specify a URL as the server and path
175 name that contains the spooled patches. The optional patch_list is
176 the name of the file at a specified location containing the patches
177 to be installed.
178
179
180 -M patch_location patch_id [patch_id...]
181
182 Specifies the patches to be installed by directory location or URL,
183 and patch number.
184
185 To use the directory location or URL and the patch number, specify
186 patch_location as the absolute path name of the directory that con‐
187 tains spooled patches. Specify a URL as the server and path name
188 that contains the spooled patches. Specify patch_id as the patch
189 number of a given patch. 104945-02 is an example of a patch_id.
190 104945-02 is also an example of a patchid in 104945-02.jar.
191
192
193
194 Note that patchadd does not require a list of patches. Among a collec‐
195 tion of patches—residing in a directory, specified in a list, or
196 entered on a command line—patchadd performs validity and dependency
197 checking. Specifically, the command does the following:
198
199 o Determines whether a patch is applicable for a system. For
200 example, if the package to be patched is not installed,
201 patchadd does not attempt to add the patch.
202
203 o Establishes dependencies among valid patches and orders the
204 installation of patches accordingly.
205
206
207 Most users will find the easiest way to specify a source for patchadd
208 is to specify only a patch_location containing a set of patches.
209
210 Destinations
211 By default, patchadd applies a patch to the specified destination. If
212 no destination is specified, then the current system (the one with its
213 root filesystem mounted at /) is assumed to be the destination for the
214 patch. You can specify a destination in the following ways:
215
216 -C net_install_image
217
218 Patches the files located on the miniroot on a Net Install Image
219 created by setup_install_server. Specify net_install_image as the
220 absolute path name to a Solaris 8 or compatible version boot direc‐
221 tory. See EXAMPLES.
222
223 You should use the -C option only to install patches that are rec‐
224 ommended for installation to the miniroot. Patches that are recom‐
225 mended for installation to the miniroot usually include install-
226 related patches such as package commands, and Sun install and patch
227 installation tools. If you apply too many patches to the miniroot
228 it can grow too large to fit into memory during a net installation
229 of Solaris. Use the -B option and the -C option together so the
230 miniroot does not get too large. See -B, above.
231
232 Note that in the current release and in certain versions of Solaris
233 10, the miniroot is compressed. To determine whether the miniroot
234 is compressed on your system, look for a file called sparc.miniroot
235 or x86.miniroot under /boot, on the boot medium. Before you can
236 patch a compressed miniroot, you must perform certains steps. See
237 "Patching a Compressed Miniroot" below.
238
239
240 -R client_root_path
241
242 Locates all patch files generated by patchadd under the directory
243 client_root_path. client_root_path is the directory that contains
244 the bootable root of a client from the server's perspective. Spec‐
245 ify client_root_path as the absolute path name to the beginning of
246 the directory tree under which all patch files generated by
247 patchadd are to be located. -R cannot be specified with the -S
248 option. See NOTES.
249
250 Note -
251
252 The root file system of any non-global zones must not be refer‐
253 enced with the -R option. Doing so might damage the global zone's
254 file system, might compromise the security of the global zone,
255 and might damage the non-global zone's file system. See zones(5).
256
257
258 -S service
259
260 Specifies an alternate service (for example, Solaris_8). This ser‐
261 vice is part of the server and client model, and can only be used
262 from the server's console. Servers can contain shared /usr file
263 systems that are created by smosservice(1M). These service areas
264 can then be made available to the clients they serve. -S cannot be
265 specified with the -R option. See NOTES.
266
267
268 Patching a Compressed Miniroot
269 The Solaris operating system uses a compressed miniroot. The compressed
270 miniroot was adopted first in Solaris for x86 and then in Solaris for
271 SPARC over the course of Solaris 10 update releases. See below for an
272 easy way to determine whether your Solaris system uses a compressed
273 miniroot.
274
275
276 To patch a system with a compressed miniroot (full or partial), you
277 must unpack and then repack the miniroot before and after running
278 patchadd with the -C destination specifier. Use the procedure shown
279 below and accompanying example commands.
280
281 1. Unpack the compressed miniroot:
282
283 # /boot/solaris/bin/root_archive unpackmedia \
284 /export/home/altuser/testdir /export/home/altuser/mr
285
286
287
288 2. Run patchadd with -C to patch the miniroot:
289
290 # patchadd -C /export/home/altuser/mr \
291 /var/sadm/spool/104945-02
292
293
294
295 3. Repack the miniroot:
296
297 # /boot/solaris/bin/root_archive packmedia \
298 /export/home/altuser/testdir /export/home/altuser/mr
299
300
301
302
303 At this point, you can use setup_install_server(1M) to install the
304 patched miniroot on an install server. See root_archive(1M) for a
305 description of that command.
306
307
308 To determine whether a Solaris image uses a compressed miniroot, check
309 for the presence of either an x86.miniroot or sparc.miniroot file under
310 /boot on the boot medium.
311
312 Interaction of -G and pkginfo Variable in Zones
313 The following list specifies the interaction between the -G option and
314 the SUNW_PKG_ALLZONES variable (see pkginfo(4)) when adding a patch in
315 global and local (non-global) zones.
316
317 global zone, -G specified
318
319 If any packages have SUNW_PKG_ALLZONES set to true: Error; nothing
320 changes.
321
322 If no packages have SUNW_PKG_ALLZONES set to true: Apply patch to
323 package(s) in global zone only.
324
325
326 global zone, -G not specified
327
328 If any packages have SUNW_PKG_ALLZONES set to true: Apply patch to
329 appropriate package(s) in all zones.
330
331 If no packages have SUNW_PKG_ALLZONES set to true: Apply patch to
332 appropriate package(s) in all zones.
333
334
335 local zone, -G specified or not specified
336
337 If any packages have SUNW_PKG_ALLZONES set to true: Error; nothing
338 changes.
339
340 If no packages have SUNW_PKG_ALLZONES set to true: Apply patch
341 package(s) in local zone only.
342
343
345 See the section KEYSTORE LOCATIONS in the pkgadd(1M) man page for
346 details.
347
349 See the section KEYSTORE AND CERTIFICATE FORMATS in the pkgadd(1M) man
350 page for details.
351
353 The examples in this section are all relative to the /usr/sbin direc‐
354 tory.
355
356 Example 1 Installing a Patch to a Standalone Machine
357
358
359 The following example installs a patch to a standalone machine:
360
361
362 example# patchadd /var/sadm/spool/104945-02
363
364
365
366 Example 2 Installing a Patch to a Client From the Server's Console
367
368
369 The following example installs a patch to a client from the server's
370 console:
371
372
373 example# patchadd -R /export/root/client1 /var/sadm/spool/104945-02
374
375
376
377 Example 3 Installing a Patch to a Service From the Server's Console
378
379
380 The following example installs a patch to a service from the server's
381 console:
382
383
384 example# patchadd -S Solaris_8 /var/sadm/spool/104945-02
385
386
387
388 Example 4 Installing Multiple Patches in a Single Invocation
389
390
391 The following example installs multiple patches in a single patchadd
392 invocation:
393
394
395 example# patchadd -M /var/sadm/spool 104945-02 104946-02 102345-02
396
397
398
399 Example 5 Installing Multiple Patches Specifying List of Patches to
400 Install
401
402
403 The following example installs multiple patches specifying a file with
404 the list of patches to install:
405
406
407 example# patchadd -M /var/sadm/spool patchlist
408
409
410
411 Example 6 Installing Multiple Patches to a Client and Saving the Back‐
412 out Data
413
414
415 The following example installs multiple patches to a client and saves
416 the backout data to a directory other than the default:
417
418
419 example# patchadd -M /var/sadm/spool -R /export/root/client1 \
420 -B /export/backoutrepository 104945-02 104946-02 102345-02
421
422
423
424 Example 7 Installing a Patch to a Solaris 8 or Compatible Version Net
425 Install Image
426
427
428 The following example installs a patch to a Solaris 8 or compatible
429 version Net Install Image:
430
431
432 example# patchadd -C /export/Solaris_8/Tools/Boot \
433 /var/sadm/spool/104945-02
434
435
436
437 Example 8 Installing a Patch to a Compressed Miniroot
438
439
440 The following example installs a patch to a compressed miniroot, such
441 as one finds on a Solaris x86 machine that supports GRUB-style booting.
442 This example assumes that /export/Solaris_11/Tools/Boot contains the
443 unpacked miniroot. After applying the patch, the miniroot needs to be
444 repacked
445
446
447 example# patchadd -C /export/Solaris_11/Tools/Boot \
448 /var/sadm/spool/104945-02
449
450
451
452
453 See "Patching a Compressed Miniroot," above, for information on Solaris
454 versions that use a compressed miniroot.
455
456
457 Example 9 Installing a Patch to an Uncompressed Miniroot
458
459
460 The following example installs a patch to a miniroot on a Solaris
461 machine that does not have a compressed miniroot.
462
463
464 example# patchadd -C /export/Solaris_9/Tools/Boot \
465 /var/sadm/spool/104945-02
466
467
468
469
470 See "Patching a Compressed Miniroot," above, for information on Solaris
471 versions that use a compressed miniroot.
472
473
474 Example 10 Displaying the Patches Installed on a Client
475
476
477 The following example displays the patches installed on a client:
478
479
480 example# patchadd -R /export/root/client1 -p
481
482
483
484
485 Note the caveat on the use of the -R option in the description of that
486 option, above.
487
488
489 Example 11 Installing a Digitally Signed Set of Patches
490
491
492 The following example installs multiple patches, some of which have
493 been signed, using the supplied keystore, password, and HTTP proxy.
494
495
496 example# patchadd -k /etc/mycerts -P pass:abcd -x webcache.eng:8080 \
497 -M http://www.sun.com/solaris/patches/latest 101223-02 102323-02
498
499
500
502 The following exit values are returned:
503
504 0
505
506 Successful completion.
507
508
509 >0
510
511 An error occurred.
512
513
515 See attributes(5) for descriptions of the following attributes:
516
517
518
519
520 ┌─────────────────────────────┬─────────────────────────────┐
521 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
522 ├─────────────────────────────┼─────────────────────────────┤
523 │Availability │SUNWswmt, SUNWcsu │
524 ├─────────────────────────────┼─────────────────────────────┤
525 │Interface Stability │Evolving │
526 └─────────────────────────────┴─────────────────────────────┘
527
529 cpio(1), pkginfo(1), patchrm(1M), pkgadd(1M), pkgadm(1M), pkgchk(1M),
530 pkgrm(1M), setup_install_server(1M), smpatch(1M), showrev(1M),
531 pkginfo(4), attributes(5), grub(5), zones(5)
532
534 The following messages might help in determining some of the most com‐
535 mon problems associated with installing a patch.
536
537 Patch Installation errors
538 Message
539
540
541 The prepatch script exited with return code retcode.
542 patchadd is terminating.
543
544
545
546 Explanation and Recommended Action
547
548 The prepatch script supplied with the patch exited with a
549 return code other than 0. Run a script trace of the prepatch
550 script and find out why the prepatch had a bad return code. Add
551 the -x option to the first line of the prepatch script to fix
552 the problem and run patchadd again.
553
554
555
556 Message
557
558
559 The signature on patch patch_id was unable to be verified.
560 patchadd is terminating.
561
562
563
564 Explanation and Recommended Action
565
566 The digital signature on a patch was unable to be verified
567 given the keystore in use and the signature on the patch. Check
568 the keystore to make sure it has the requisite trust anchor(s)
569 required to validate the signature on the package and that the
570 package has not been tampered with.
571
572
573
574 Message
575
576
577 The postpatch script exited with return code retcode.
578 Backing out patch.
579
580
581
582 Explanation and Recommended Action
583
584 The postpatch script provided with the patch exited with an
585 error code other than 0. This script is mostly used to cleanup
586 files (that is, when a package is known to have ownership or
587 permission problems) attributes that do not correspond to the
588 patch package's objects. After the user has noted all valida‐
589 tion errors and taken the appropriate action for each one, the
590 user should re-run patchadd using the -u (unconditional)
591 option. This time, the patch installation will ignore valida‐
592 tion errors and install the patch anyway.
593
594
595
596 Message
597
598
599 Insufficient space in /var/sadm/patch to save old files.
600 (For 2.4 systems and previous)
601
602
603
604 Explanation and Recommended Action
605
606 There is insufficient space in the /var/sadm/patch directory to
607 save old files. The user has three options for handling this
608 problem: Use the -B option while invoking patchadd. This option
609 will direct patchadd to: save the backout data to the user
610 specified file system, generate additional disk space by delet‐
611 ing unneeded files, or override the saving of the old files by
612 using the -d (do not save) option when running patchadd.
613
614 If the user elects not to save the old versions of the files to
615 be patched, patchrm cannot be used. One way to regain space on
616 a system is to remove the save area for previously applied
617 patches. Once the user has decided that it is unlikely that a
618 patch will be backed out, the user can remove the files that
619 were saved by patchadd. The following commands should be exe‐
620 cuted to remove the saved files for patchpatch_id:
621
622 cd /var/sadm/patch/patch_id
623 rm -r save/*
624 rm .oldfilessaved
625
626
627 After these commands have been executed, patch patch_id can no
628 longer be backed out.
629
630
631
632 Message
633
634
635 Insufficient space in /var/sadm/pkg/PKG/save to save old files.
636 (For 2.5 systems and later)
637
638
639
640
641 Explanation and Recommended Action
642
643 There is insufficient space in the /var/sadm/pkg/PKG/save
644 directory to save old files. The user has three options for
645 handling this problem: (1) Use the -B option while invoking
646 patchadd. This option will direct patchadd to save the backout
647 data to the user specified file system. (See synopsis above.)
648 (2) Generate additional disk space by deleting unneeded files,
649 or (3) override the saving of the old files by using the -d (do
650 not save) option when running patchadd. However, if the user
651 elects not to save the old versions of the files to be patched,
652 patchrm cannot be used. One way to regain space on a system is
653 to remove the save area for previously applied patches. Once
654 the user has decided that it is unlikely that a patch will be
655 backed out, the user can remove the files that were saved by
656 patchadd. The following commands should be executed to remove
657 the saved files for patch patch_id:
658
659 cd /var/sadm/pkg/pkgabbrev/save
660 rm -r patch_id
661
662
663 After these commands have been executed, patch patch_id can no
664 longer be backed out.
665
666
667
668 Message
669
670
671 Save of old files failed.
672 (For 2.4 systems and previous)
673
674
675
676 Explanation and Recommended Action
677
678 Before applying the patch, the patch installation script uses
679 cpio to save the old versions of the files to be patched. This
680 error message means that the cpio failed. The output of the
681 cpio would have been preceded this message. The user should
682 take the appropriate action to correct the cpio failure. A com‐
683 mon reason for failure will be insufficient disk space to save
684 the old versions of the files. The user has two options for
685 handling insufficient disk space: (1) generate additional disk
686 space by deleting unneeded files, or (2) override the saving of
687 the old files by using the -d option when running patchadd.
688 However if the user elects not to save the old versions of the
689 files to be patched, the patch cannot be backed out.
690
691
692
693 Message
694
695
696 Pkgadd of pkgname package failed with error code code.
697 See /tmp/log.patch_id for reason for failure.
698
699
700
701
702 Explanation and Recommended Action
703
704 The installation of one of the patch packages failed. patchadd
705 will backout the patch to leave the system in its pre-patched
706 state. See the log file for the reason for failure. Correct the
707 problem and reapply the patch.
708
709
710
711 Message
712
713
714 Pkgadd of pkgname package failed with error code code.
715 Will not backout patch...patch re-installation.
716 Warning: The system may be in an unstable state!
717 See /tmp/log.patch_id for reason for failure.
718
719
720
721 Explanation and Recommended Action
722
723 The installation of one of the patch packages failed. patchadd
724 will not backout the patch. You may manually backout the patch
725 using patchrm, then re-apply the entire patch. Look in the log
726 file for the reason pkgadd failed. Correct the problem and re-
727 apply the patch.
728
729
730
731 Message
732
733
734 patchadd is unable to find the INST_RELEASE file. This file
735 must be present for patchadd to function correctly.
736
737
738
739 Explanation and Recommended Action
740
741 The INST_RELEASE file is missing from the system. This file is
742 created during either initial installation or during an update.
743
744
745
746 Message
747
748
749 A previous installation of patch patch_id was invoked
750 that saved files that were to be patched. Since files
751 were saved, you must run this instance of patchadd
752 without the -d option.
753
754
755
756 Explanation and Recommended Action
757
758 If a patch was previously installed without using the -d
759 option, then the re-installation attempt must also be invoked
760 without the -d option. Execute patchadd without the -d option.
761
762
763
764 Message
765
766
767 A previous installation of patch patch_id was invoked
768 with the -d option. (i.e. Do not save files that would
769 be patched) Therefore, this invocation of patchadd
770 must also be run with the -d option.
771
772
773
774 Explanation and Recommended Action
775
776 If a patch was previously installed using the -d option, then
777 the re-installation attempt must also be invoked with the-d
778 option. Execute patchadd with the -d' option.
779
780
781
782 Diagnostic Reference
783 The patch installation messages listed below are not necessarily con‐
784 sidered errors, as indicated in the explanations given. These messages
785 are, however, recorded in the patch installation log for diagnostic
786 reference.
787
788 Message
789
790
791 Package not patched:
792 PKG=SUNxxxx
793 Original package not installed
794
795
796
797 Explanation and Recommended Action
798
799 One of the components of the patch would have patched a package
800 that is not installed on your system. This is not necessarily
801 an error. A patch may fix a related bug for several packages.
802
803 For example, suppose a patch fixes a bug in both the online-
804 backup and fddi packages. If you had online-backup installed
805 but didn't have fddi installed, you would get the message :
806
807 Package not patched:
808 PKG=SUNWbf
809 Original package not installed
810
811
812 This message only indicates an error if you thought the package
813 was installed on your system. If this is the case, take the
814 necessary action to install the package, backout the patch (if
815 it installed other packages) and re-install the patch.
816
817
818
819 Message
820
821
822 Package not patched:
823 PKG=SUNxxx
824 ARCH=xxxxxxx
825 VERSION=xxxxxxx
826 Architecture mismatch
827
828
829
830 Explanation and Recommended Action
831
832 One of the components of the patch would have patched a package
833 for an architecture different from your system. This is not
834 necessarily an error. Any patch to one of the architecture-spe‐
835 cific packages might contain one element for each of the possi‐
836 ble architectures. For example, assume you are running on a
837 sun4u. If you were to install a patch to package SUNWcar, you
838 would see the following (or similar) messages:
839
840 Package not patched:
841 PKG=SUNWcar
842 ARCH=sparc.sun4c
843 VERSION=11.5.0,REV=2.0.18
844 Architecture mismatch
845
846 Package not patched:
847 PKG=SUNWcar
848 ARCH=sparc.sun4u
849 VERSION=11.5.0,REV=2.0.18
850 Architecture mismatch
851
852 Package not patched:
853 PKG=SUNWcar
854 ARCH=sparc.sun4e
855 VERSION=11.5.0,REV=2.0.18
856
857 Package not patched:
858 PKG=SUNWcar
859 ARCH=sparc.sun4
860 VERSION=11.5.0,REV=2.0.18
861 Architecture mismatch
862
863
864 These messages indicate an error condition only if patchadd
865 does not correctly recognize your architecture.
866
867
868
869 Message
870
871
872 Package not patched:
873 PKG=SUNxxxx
874 ARCH=xxxx
875 VERSION=xxxxxxx
876 Version mismatch
877
878
879
880 Explanation and Recommended Action
881
882 The version of software to which the patch is applied is not
883 installed on your system. For example, if you were running
884 Solaris 8, and you tried to install a patch against Solaris 9,
885 you would see the following (or similar) message:
886
887 Package not patched:
888 PKG=SUNWcsu
889 ARCH=sparc
890 VERSION=10.0.2
891 Version mismatch
892
893
894 This message does not necessarily indicate an error. If the
895 version mismatch was for a package you needed patched, either
896 get the correct patch version or install the correct package
897 version. Then backout the patch (if necessary) and reapply.
898
899
900
901 Message
902
903
904 Re-installing Patch.
905
906
907
908 Explanation and Recommended Action
909
910 The patch has already been applied, but there is at least one
911 package in the patch that could be added. For example, if you
912 applied a patch that had both Openwindows and Answerbook compo‐
913 nents, but your system did not have Answerbook installed, the
914 Answerbook parts of the patch would not have been applied. If,
915 at a later time, you pkgadd Answerbook, you could re-apply the
916 patch, and the Answerbook components of the patch would be
917 applied to the system.
918
919
920
921 Message
922
923
924 patchadd Interrupted.
925 patchadd is terminating.
926
927
928
929 Explanation and Recommended Action
930
931 patchadd was interrupted during execution (usually through
932 pressing CTRL-c). patchadd will clean up its working files and
933 exit.
934
935
936
937 Message
938
939
940 patchadd Interrupted.
941 Backing out Patch...
942
943
944
945 Explanation and Recommended Action
946
947 patchadd was interrupted during execution (usually through
948 pressing CTRL-c). patchadd will clean up its working files,
949 backout the patch, and exit.
950
951
952
954 To successfully install a patch to a client or server, patchadd must be
955 issued twice, once with the -R option and once with the -S option. This
956 guarantees that the patch is installed to both the /usr and root parti‐
957 tions. This is necessary if there are both /usr and root packages in
958 the patch.
959
960
961 pkgadd is invoked by patchadd and executes the installation scripts in
962 the pkg/install directory. The checkinstall script is executed with its
963 ownership set to user install, if there is no user install then pkgadd
964 executes the checkinstall script as noaccess. The SVR4 ABI states that
965 the checkinstall shall only be used as an information gathering script.
966 If the permissions for the checkinstall script are changed to something
967 other than the initial settings, pkgadd may not be able to open the
968 file for reading, thus causing the patch installation to abort with the
969 following error:
970
971 pkgadd: ERROR: checkinstall script did not complete successfully.
972
973
974
975
976 The permission for the checkinstall script should not be changed. Con‐
977 tents of log file for a successfull installation: patchadd redirects
978 pkgadd's output to the patch installation log file. For a successfull
979 installation, pkgadd will produce the following message that gets
980 inserted into the log file:
981
982 This appears to be an attempt to install the same architecture
983 and version of a package which is already installed. This
984 installation will attempt to overwrite this package.
985 This message does not indicate a failure, it represents the
986 correct behavior by pkgadd when a patch installs correctly.
987
988
989
990
991 This message does not indicate a failure, it represents the correct
992 behavior by pkgadd when a patch installs correctly.
993
994
995 On client server machines the patch package is not applied to existing
996 clients or to the client root template space. Therefore, when appropri‐
997 ate, all client machines will need the patch applied directly using
998 this same patchadd method on the client. See instructions above for
999 applying patches to a client. A bug affecting a package utility (for
1000 example, pkgadd, pkgrm, pkgchk) could affect the reliability of
1001 patchadd or patchrm, which use package utilities to install and backout
1002 the patch package. It is recommended that any patch that fixes package
1003 utility problems be reviewed and, if necessary, applied before other
1004 patches are applied. Existing patches are:
1005
1006 Solaris 2.5.1 Sparc Platform Edition:
1007
1008 104578
1009
1010
1011 Solaris 2.5.1 Intel Platform Edition:
1012
1013 104579
1014
1015
1016 Solaris 2.6 Sparc Platform Edition:
1017
1018 106292
1019
1020
1021 Solaris 2.6 Intel Platform Edition:
1022
1023 106293
1024
1025
1027 Certain patches are classified as "deferred activation" patches (some‐
1028 times with initial capitals, as "Deferred Activation" patches). Under
1029 conditions indicated below, such patches require special treatment. A
1030 patch's README file specifies whether that patch is of the deferred
1031 activation variety. (Search on "Deferred Activation" in the README
1032 file.)
1033
1034
1035 If you are installing or removing a patch that uses deferred activation
1036 patching, you must check on the following:
1037
1038 o On a system running zones, all non-global zones must be in a
1039 halted state for adding or removing a patch.
1040
1041 o Deferred activation patching requires the loopback file sys‐
1042 tem (lofs) in order to complete safely. Systems running Sun
1043 Cluster 3.1 or Sun Cluster 3.2 are likely to have lofs
1044 turned off because of restrictions on HA-NFS functionality
1045 when lofs is enabled. Therefore, before a deferred activa‐
1046 tion patch is installed or removed, you must re-enable the
1047 loopback file system by commenting out the following line in
1048 the /etc/system file:
1049
1050 exclude:lofs
1051
1052
1053 Then, reboot your system and install or remove the patch.
1054 After you have completed the patch operation, uncomment the
1055 line cited above, then reboot to resume normal operation.
1056
1057
1058
1059SunOS 5.11 11 Dec 2007 patchadd(1M)