Performing a patchrm may fail when there is insufficient space under "/tmp/" or "/var/" (Doc ID 1019137.1)

Last updated on AUGUST 19, 2016

Applies to:

Solaris Operating System - Version 8 6/00 U1 and later
All Platforms

Symptoms

When there is insufficient space under the /tmp or /var directories, the patchrm command may silently fail. Since the back-out packages will either be corrupt or deleted during operation, subsequent invocations of /usr/sbin/patchrm against the same patch will also fail.

If there also exist non-global zones (e.g. on Solaris 10), this problem can cause inconsistencies in terms of patching levels between all zones (the global and non-global zones).

An example of this problem is given below:

# df -k /var Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t3d0s3 480943 430026 50917 90% /var # # patchrm 120272-01 Validating patches... ... Checking installed patches... Backing out patch 120272-01... Pkgadd failed. See /var/tmp/120272-01.log.7375 for details Patchrm is terminating. WARNING: patchrm returned <7> for global zone Done! Removing patches from non-global zones Removing patches from zone myzone Removing patch 120272-01... Done! Checking installed patches... Backing out patch 120272-01... Patch 120272-01 has been backed out. # # echo $? 1 # # cat /var/tmp/120272-01.log.7375 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. cpio: Cannot write "reloc/usr/sfw/lib/sparcv9/libnetsnmpmibs.a", errno 28, No space left on device cpio: Cannot write "reloc/usr/sfw/lib/sparcv9/libnetsnmpmibs.so.5.0.9", errno 28, No space left on device cpio: Cannot write "reloc/usr/sfw/lib/sparcv9/libseaExtensions.so", errno 28, No space left on device cpio: Cannot write "reloc/usr/sfw/lib/sparcv9/libseaProxy.so", errno 28, No space left on device cpio: Cannot write "reloc/usr/sfw/sbin/snmpd", errno 28, No space left on device cpio: Cannot write "reloc/usr/sfw/sbin/snmptrapd", errno 28, No space left on device 47901 blocks 6 error(s) pkgadd: ERROR: attempt to process datastream failed - process failed, exit code 6 pkgadd: ERROR: unable to unpack datastream Installation of failed (internal error). No changes were made to the system.

If one checks the patch level afterwards, you will find:

- 120272-01 is removed in the non-global zones

- 120272-01 is not removed in the global zone. Furthermore, running /usr/sbin/patchrm again with the "-G" option also fails even when there is sufficient space under "/tmp/" or "/var/". This is because the back-out packages no longer exist.

# df -k /var Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0t3d0s3 480943 349340 131603 73% /var patchrm -G 120272-01 Validating patches... Loading patches installed on the system... Done! Checking patches that you specified for removal. Done! Approved patches will be removed in this order. 120272-01 Checking installed patches... Cannot find the backout packages for 120272-01 at none.120272-01 cannot be backed out. Patchrm is terminating. WARNING: patchrm returned <4>

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms