MoonPoint Support Logo

 

Shop Amazon Warehouse Deals - Deep Discounts on Open-box and Used ProductsAmazon Warehouse Deals



Advanced Search
December
Sun Mon Tue Wed Thu Fri Sat
22 23 24 25 26 27 28
29 30 31        
2024
Months
Dec


Tue, Dec 15, 2009 2:27 pm

Open Failed for libssl.so.0.9.8

When I tried restarting ELOG from a user account on a Solaris 7 system, I received the following error:
bash-2.03$ /usr/local/bin/elogd -c /home/elog/elogd.cfg -d /home/elog/logbooks -n localhost -D
ld.so.1: /usr/local/bin/elogd: fatal: libssl.so.0.9.8: open failed: No such file
 or directory

I had been running the program before without a problem, so I looked for libssl.so.0.9.8. It was present on the system.

bash-2.03$ find / -name libssl.so.0.9.8 -print 2>/dev/null
/usr/local/ssl/lib/libssl.so.0.9.8
# ls -l /usr/local/ssl/lib
total 8950
drwxr-xr-x   2 bin      bin          512 Jun 22 15:46 engines
-r--r--r--   1 bin      bin         5396 Mar 29  2009 fips_premain.c
-r--r--r--   1 bin      bin           68 Mar 29  2009 fips_premain.c.sha1
-rw-r--r--   1 bin      bin      2263212 Mar 29  2009 libcrypto.a
lrwxrwxrwx   1 root     other         18 Oct 16  2007 libcrypto.so -> libcrypto.
so.0.9.8
-r-xr-xr-x   1 bin      bin      1525564 Mar 29  2009 libcrypto.so.0.9.8
-rw-r--r--   1 bin      bin       416204 Mar 29  2009 libssl.a
lrwxrwxrwx   1 root     other         15 Oct 16  2007 libssl.so -> libssl.so.0.9
.8
-r-xr-xr-x   1 bin      bin       313176 Mar 29  2009 libssl.so.0.9.8
drwxr-xr-x   2 bin      bin          512 Jun 22 15:46 pkgconfig

So I checked to see what libraries elogd was using with the ldd command.

bash-2.03$ ldd /usr/local/bin/elogd
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libssl.so.0.9.8 =>       (file not found)
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1

So I then logged into the root account and checked the elogd file with the ldd command from that account.

bash-2.03$ su - root
Password:
Sun Microsystems Inc.   SunOS 5.7       Generic October 1998
# ldd /usr/local/bin/elogd
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libssl.so.0.9.8 =>       /usr/local/ssl/lib/libssl.so.0.9.8
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        libcrypto.so.0.9.8 =>    /usr/local/ssl/lib/libcrypto.so.0.9.8
        libgcc_s.so.1 =>         /usr/local/lib/libgcc_s.so.1
        /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1

From that account, I did not see "file not found" for libssl.so.0.9.8.

At an FAQ page on the Electrical and Computer Engineering Department website for the University of Toronto I found the following advice:

Q. When I try to run "svn" on Solaris, I get the error:
ld.so.1: svn: fatal: libssl.so.0.9.8: open failed: No such file or directory
Killed
How can I get svn to work on Solaris?

A. Add /local/openssl-0.9.8a/lib to the LD_LIBRARY_PATH env var before you \start:
i.e., setenv LD_LIBRARY_PATH /local/openssl-0.9.8a/lib

I checked the LD_LIBRARY_PATH setting for the root command.

# echo $LD_LIBRARY_PATH
/usr/lib:/usr/local/lib:/usr/local/ssl/lib

I then checked the value for the variable for the user account.

bash-2.03$ echo $LD_LIBRARY_PATH

bash-2.03$

On Solaris systems, you can use the -s option to show the full library search path.

bash-2.03$ ldd -s /usr/local/bin/elogd

   find object=libsocket.so.1; required by /usr/local/bin/elogd
    search path=/usr/lib  (default)
    trying path=/usr/lib/libsocket.so.1
        libsocket.so.1 =>        /usr/lib/libsocket.so.1

   find object=libnsl.so.1; required by /usr/local/bin/elogd
    search path=/usr/lib  (default)
    trying path=/usr/lib/libnsl.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1

   find object=libssl.so.0.9.8; required by /usr/local/bin/elogd
    search path=/usr/lib  (default)
    trying path=/usr/lib/libssl.so.0.9.8
        libssl.so.0.9.8 =>       (file not found)

   find object=libc.so.1; required by /usr/local/bin/elogd
    search path=/usr/lib  (default)
    trying path=/usr/lib/libc.so.1
        libc.so.1 =>     /usr/lib/libc.so.1

   find object=libnsl.so.1; required by /usr/lib/libsocket.so.1

   find object=libc.so.1; required by /usr/lib/libsocket.so.1

   find object=libdl.so.1; required by /usr/lib/libnsl.so.1
    search path=/usr/lib  (default)
    trying path=/usr/lib/libdl.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1

   find object=libc.so.1; required by /usr/lib/libnsl.so.1

   find object=libmp.so.2; required by /usr/lib/libnsl.so.1
    search path=/usr/lib  (default)
    trying path=/usr/lib/libmp.so.2
        libmp.so.2 =>    /usr/lib/libmp.so.2

   find object=libdl.so.1; required by /usr/lib/libc.so.1

   find object=libc.so.1; required by /usr/lib/libmp.so.2

   find object=/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1; required by /usr/lib/libc.so.1
        /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
bash-2.03$

So, when attempting to run elogd from the user account, the system was only checking /usr/lib for libssl.so.0.9.8. Since the file wasn't in that location, I got the "fatal: libssl.so.0.9.8: open failed: No such file or directory" message. So, though I thought I had been running the program from that user account, I must have always previously been running it from the root account, since I didn't ever see the error message before when running elogd.

So, while logged into the user account, I set LD_LIBRARY_PATH to /usr/local/ssl/lib. I was then able to run elogd from the user account without an error message appearing.

bash-2.03$ LD_LIBRARY_PATH=/usr/local/ssl/lib
bash-2.03$ export LD_LIBRARY_PATH
bash-2.03$ /usr/local/bin/elogd -c /home/elog/elogd.cfg -d /home/elog/logbooks -
n localhost -D
bash-2.03$ ps -ef | grep elogd | grep -v grep
jsmith  7961     1  0 14:13:05 ?        0:00 /usr/local/bin/elogd -c /home/elog/
elogd.cfg -d /home/elog/logbooks -n localhos

References:

  1. Blastwave Packages
    Date: January 25, 2008
    Joyent Wiki
  2. When I try to run "svn" on Solaris, I get the error: ld.so.1: svn: fatal: libssl.so.0.9.8: open failed: No such file or directory Killed
    Eugenia's Home Page
  3. Obtaining a List of the Libraries Required by a Program
    MoonPoint Support

[/os/unix/solaris] permanent link

Wed, Aug 12, 2009 4:26 pm

Clearing Space on /var

On a Solaris 7 system, I found there wasn't sufficient space in /var to allow me to install software.
# gunzip libidn-1.14-sol7-sparc-local.gz
# pkgadd -d ./libidn-1.14-sol7-sparc-local

The following packages are available:
  1  SMClibidn     libidn
                   (sparc) 1.14

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]:

Processing package instance <SMClibidn> from </tmp/libidn-1.14-sol7-sparc-local>

libidn
(sparc) 1.14
Simon Josefsson et al
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
   20 package pathnames are already properly installed.
## Verifying disk space requirements.
WARNING:
    The /var filesystem has 0 free blocks. The current installation requires 152
 blocks, which includes a required 150 block buffer for open deleted files. 152 
more blocks are needed.

Do you want to continue with the installation of <SMClibidn> [y,n,?] n

Installation of <SMClibidn> was terminated due to user request.
No changes were made to the system.

When I checked the contents of /var/log, I found the following:

# ls -l
total 139882
-rw-------   1 root     sys      26576205 Aug 12 15:11 authlog
-rw-------   1 root     other    14635403 Aug 12 15:41 maillog
-rw-r--r--   1 root     root     6605320 Aug 12 15:44 named_querylog
-rw-r--r--   1 root     root     5538180 Jul 11 06:23 named_querylog.0
-rw-r--r--   1 root     root        3651 Jun 15 16:58 named_querylog.1
-rw-r--r--   1 root     other     794523 Jun 15 15:39 named_querylog.2.gz
-rw-------   1 root     other    4106078 Jun 24 18:04 poplog
-rw-------   1 root     other    13249096 Aug 12 14:50 sshd.log
-rwxrwxrwx   1 root     other        240 Jul 27  2000 sysidconfig.log

I moved authlog, maillog, and sshd.log to a a directory under /home, recreated the files in /var/log with touch, set the permissions to 600, and changed the group to what it had been previously on authlog.

# touch authlog.log
# touch maillog.log
# touch sshd.log
# chmod 600 authlog
# chmod 600 maillog
# chmod 600 sshdlog
# chgrp sys authlog
# ls -l
total 33402
-rw-------   1 root     sys            0 Aug 12 15:52 authlog
-rw-------   1 root     other          0 Aug 12 15:49 maillog
-rw-r--r--   1 root     root     6610244 Aug 12 15:54 named_querylog
-rw-r--r--   1 root     root     5538180 Jul 11 06:23 named_querylog.0
-rw-r--r--   1 root     root        3651 Jun 15 16:58 named_querylog.1
-rw-r--r--   1 root     other     794523 Jun 15 15:39 named_querylog.2.gz
-rw-------   1 root     other    4106078 Jun 24 18:04 poplog
-rw-------   1 root     other          0 Aug 12 15:55 sshd.log
-rwxrwxrwx   1 root     other        240 Jul 27  2000 sysidconfig.log

I then restarted the syslog daemon so it would use the new files.

# /etc/init.d/syslog stop
# /etc/init.d/syslog start
syslog service starting.

When I then checked the free space for /var, 94% of the capacity was used, whereas it had been 100% previously.

# df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/proc                      0       0       0     0%    /proc
/dev/dsk/c0t0d0s0    2052750 1646775  344393    83%    /
fd                         0       0       0     0%    /dev/fd
/dev/dsk/c0t0d0s3    1015542  893738   60872    94%    /var
/dev/dsk/c0t0d0s4    5058110 4968663   38866   100%    /home
swap                  269872    6728  263144     3%    /tmp

References:

  1. Moving Sendmail's Maillog File
    Date: August 10, 2005
    MoonPoint Support

[/os/unix/solaris] permanent link

Mon, Jun 29, 2009 2:16 pm

Sendmail 8.14.3 Upgrade

I upgraded sendmail n a Solaris 7 server from version 8.13.6 to version 8.14.3.

[ More Info ]

[/os/unix/solaris/network] permanent link

Thu, Jun 25, 2009 6:18 pm

Determinining the Version of a Package

To determine the version number for an installed package on Solaris, the pkginfo command can be used. If I wanted to check the version number for the Apache Portable Runtime Libraries utilities package, apr-util, I could issue the pkginfo command with no options and grep for apr to determine the package name.
# pkginfo | grep apr
application SMCapr         apr
application SMCapru        aprutil

I can then check the version number using the command pkginfo -l SMCapru:

# pkginfo -l SMCapru
   PKGINST:  SMCapru
      NAME:  aprutil
  CATEGORY:  application
      ARCH:  sparc
   VERSION:  1.2.2
   BASEDIR:  /usr/local
    VENDOR:  Apache Software Foundation
    PSTAMP:  Steve Christensen
  INSTDATE:  Jun 25 2009 17:11
     EMAIL:  steve@smc.vnet.net
    STATUS:  completely installed
     FILES:     49 installed pathnames
                12 shared pathnames
                 8 directories
                 3 executables
              5750 blocks used (approx)

The version number listed is 1.2.2

[/os/unix/solaris/commands] permanent link

Tue, Jun 23, 2009 6:04 pm

Upgrading Apache to 2.2.6 on Solaris 7

I encountered some problems upgrading Apahce to version 2.2.6 on a Solaris system.

[ More Info ]

[/os/unix/solaris] permanent link

Sun, Apr 26, 2009 4:19 pm

NFS on Solaris

Solaris 9 and later comes with an NFS server. To use it, edit the /etc/dfs/dfstab file. Place a share command in it using the syntax share [-F FSType] [-o specific_options] [-d description] [pathname].

The following shows an entry made to that file. Folders are shared via NFS using the share command. The options used are explained below:

-F nfsSpecify the filesystem type for sharing to be NFS.
-o rw=PC1Allow read and write access from one one client system named PC1
-d "share"Use share as the description for the share
#       Place share(1M) commands here for automatic execution
#       on entering init state 3.
#
#       Issue the command 'svcadm enable network/nfs/server' to
#       run the NFS daemon processes and the share commands, after adding
#       the very first entry to this file.
#
#       share [-F fstype] [ -o options] [-d "<text>"] <pathname> [resource]
#       .e.g,
#       share  -F nfs  -o rw=engineering  -d "home dirs"  /export/home2

share -F nfs -o rw=PC1 -d "share" /export/home/jsmith/Documents/share

The options that can be specified with -o are as follows:

     -o specific_options

         The specific_options are used to control access  of  the
         shared resource. (See share_nfs(1M) for the NFS specific
         options.) They may be any of the following:

         rw

             pathname is shared read/write to all  clients.  This
             is also the default behavior.

         rw=client[:client]...

             pathname is shared read/write  only  to  the  listed
             clients. No other systems can access pathname.

         ro

             pathname is shared read-only to all clients.

Note: in the example above I used /export/home/jsmith/Documents/share as the directory to be shared. I had to use /export/home/jsmith/Documents/share rather than /home/Documents/jsmith/shared, because under Solaris the /home directory is a special directory. For sharing something under it with NFS, you need to use /export/home.

When I tried sharing the directory with the shareall command when I used /home/jsmith/Documents/share, I received an error message.

# shareall -F nfs
share_nfs: /home/jim/Documents/share: Operation not applicable

Once I used /export/home/jsmith/Documents/share in /etc/dfs/dfstab, I did not receive any error messages when running shareall.

# shareall -F nfs
#

Once the dfstab file has been edited, start the NFS server with svcadm enable network/nfs/server.

You can check the state of the NFS server with the svc command:

$ svcs network/nfs/server
STATE          STIME    FMRI
disabled       14:19:50 svc:/network/nfs/server:default

You can use the -v option with the svcadm to get more verbose information. You can use the -r option to enable other services on which it depends. Svcadm then enables each service instance and recursively enables its dependencies. If the -s option is specified, svcadm enables each service instance and then waits for each service instance to enter the online or degraded state. svcadm will return early if it determines that the service cannot reach these states without administrator intervention.

# svcadm -v enable -r network/nfs/server
svc:/network/nfs/server:default enabled.
svc:/milestone/network enabled.
svc:/network/loopback enabled.
svc:/network/physical enabled.
svc:/network/nfs/nlockmgr enabled.
svc:/network/rpc/bind enabled.
svc:/system/filesystem/minimal enabled.
svc:/system/filesystem/usr enabled.
svc:/system/boot-archive enabled.
svc:/system/filesystem/root enabled.
svc:/system/device/local enabled.
svc:/system/identity:node enabled.
svc:/system/sysidtool:net enabled.
svc:/milestone/single-user:default enabled.
svc:/milestone/devices enabled.
svc:/system/device/fc-fabric enabled.
svc:/system/sysevent enabled.
svc:/system/manifest-import enabled.
svc:/system/filesystem/local:default enabled.
svc:/milestone/single-user enabled.
svc:/system/filesystem/minimal:default enabled.
svc:/system/identity:domain enabled.
svc:/network/nfs/status enabled.
svc:/system/filesystem/local enabled.
# svcadm enable -s /network/nfs/server

If the service is still marked as disabled, you can use the -d option, which lists the services or service instances upon which the given service instances depend.

# svcs /network/nfs/server
STATE          STIME    FMRI
disabled       14:55:55 svc:/network/nfs/server:default
# svcs -d /network/nfs/server
STATE          STIME    FMRI
disabled       Jul_28   svc:/network/rpc/keyserv:default
disabled       Jul_28   svc:/network/nfs/mapid:default
online         Jul_28   svc:/milestone/network:default
online         Jul_28   svc:/system/filesystem/local:default
online         Jul_28   svc:/network/rpc/bind:default
online         Jul_28   svc:/network/nfs/nlockmgr:default
online         Jul_28   svc:/network/rpc/gss:default

When I tried starting the NFS server software on a Solaris 10 system, I didn't see error messages when I ran svdadm enable -s /network/nfs/server, but when I would check it afterwards with svcs /network/nfs/server, the service was listed as disabled. So I tried enabling the keyserv and mapid services, which were listed as disabled.

# svcs keyserv
STATE          STIME    FMRI
disabled       Jul_28   svc:/network/rpc/keyserv:default
# svcadm enable keyserv
# svcs keyserv
STATE          STIME    FMRI
maintenance    15:43:56 svc:/network/rpc/keyserv:default
# svcadm enable mapid
# svcs mapid
STATE          STIME    FMRI
online         15:44:58 svc:/network/nfs/mapid:default
# svcs /network/nfs/server
STATE          STIME    FMRI
disabled       14:55:55 svc:/network/nfs/server:default
# svcadm enable -s /network/nfs/server
svcadm: Instance "svc:/network/nfs/server:default" has been disabled by another 
entity.
# svcs -x  svc:/network/nfs/server
svc:/network/nfs/server:default (NFS server)
 State: disabled since Sun Apr 26 15:45:46 2009
Reason: Disabled by an administrator.
   See: http://sun.com/msg/SMF-8000-05
   See: nfsd(1M)
   See: /var/svc/log/network-nfs-server:default.log
Impact: This service is not running.

I finally realized that the NFS service won't start if there is no valid directory share. I had used /home/jsmith/Documents/share in /etc/dfs/dfstab instead of /export/home/jsmith/Documents/share. Once I corrected that problem, I was able to enable the /network/nfs/server service.

# svcs /network/nfs/server
STATE          STIME    FMRI
online         16:15:32 svc:/network/nfs/server:default
# svcadm enable -s /network/nfs/server
# svcs /network/nfs/server
STATE          STIME    FMRI
online         16:15:32 svc:/network/nfs/server:default

I had previously run svcadm enable -r /network/nfs/server to recursively enable any other services that the NFS service depended upon. Since the keyserv and mapid services had been listed as disabled after I ran that command, but I had subsequenty enabled them when I incorrectly concluded that the fact that they were disabled was keeping the NFS server service from running, I disabled them again.

# svcadm disable keyserv
# svcadm disable mapid
# svcadm restart /network/nfs/server
# svcs /network/nfs/server
STATE          STIME    FMRI
online         16:41:38 svc:/network/nfs/server:default

I then checked to verify the system was listening on the default port for NFS, port 2049.

# netstat -an | grep 2049
      *.2049                              Idle
      *.2049                              Idle
      *.2049                                                        Idle
      *.2049               *.*                0      0 49152      0 LISTEN
      *.2049               *.*                0      0 49152      0 LISTEN
      *.2049                            *.*                             0      0 49152      0 LISTEN
# netstat -a | grep nfs
      *.nfsd                              Idle
      *.nfsd                              Idle
      *.nfsd                                                        Idle

References:

  1. Sharing directories with NFS in Solaris 10
    Solaris Administration Secrets and Security
  2. Setting up an NFS Server on Solaris
    Date: December 21, 2003
    Network Administrator Tools
  3. Solaris 10: enable NFS server
    By: qmchenry
    Date: May 20, 2005
    Tech-Recipes - Your cookbook of tech tutorials
  4. [osol-help] unable to bring up nfs server on solaris 10
    Date: May 15, 2007
    The opensolaris-help Archives
  5. NFS: Operation not applicable
    Date: August 12, 2006
    Sun Forums
  6. svcadm fails to enable nfs/server
    Date: August 12, 2008
    SUN Solaris - The UNIX and Linux Forums

[/os/unix/solaris] permanent link

Thu, Mar 26, 2009 6:14 pm

SunOS 5.7: jsh, rsh, ksh, rksh, sh Patch

I installed the SunOS 5.7: jsh, rsh, ksh, rksh, sh Patch on a Solaris 2.7 system.

I first checked to see whether the patch was already installed with showrev -p. It was not installed.

# showrev -p | grep 108162
#

If a patch is installed, you would see something like the following:

# showrev -p | grep 106938-09
Patch: 106938-09 Obsoletes: 107018-04, 107332-04, 108412-01 Requires:  Incompati
bles:  Packages: SUNWcsu, SUNWcslx, SUNWcsl, SUNWarc, SUNWarcx, SUNWscpux, SUNWs
ra

I placed the .zip patch file I downloaded into /var/spool/patch, unzipped it and installed the patch with patchadd.

# unzip 108162-08.zip
Archive:  108162-08.zip
   creating: 108162-08/
  inflating: 108162-08/.diPatch
  inflating: 108162-08/patchinfo
   creating: 108162-08/SUNWcsr/
  inflating: 108162-08/SUNWcsr/pkgmap
  inflating: 108162-08/SUNWcsr/pkginfo
   creating: 108162-08/SUNWcsr/install/
  inflating: 108162-08/SUNWcsr/install/checkinstall
  inflating: 108162-08/SUNWcsr/install/copyright
  inflating: 108162-08/SUNWcsr/install/i.none
  inflating: 108162-08/SUNWcsr/install/patch_checkinstall
  inflating: 108162-08/SUNWcsr/install/patch_postinstall
  inflating: 108162-08/SUNWcsr/install/postinstall
  inflating: 108162-08/SUNWcsr/install/preinstall
   creating: 108162-08/SUNWcsr/reloc/
   creating: 108162-08/SUNWcsr/reloc/sbin/
  inflating: 108162-08/SUNWcsr/reloc/sbin/jsh
   creating: 108162-08/SUNWcsu/
  inflating: 108162-08/SUNWcsu/pkgmap
  inflating: 108162-08/SUNWcsu/pkginfo
   creating: 108162-08/SUNWcsu/install/
  inflating: 108162-08/SUNWcsu/install/checkinstall
  inflating: 108162-08/SUNWcsu/install/copyright
  inflating: 108162-08/SUNWcsu/install/i.none
  inflating: 108162-08/SUNWcsu/install/patch_checkinstall
  inflating: 108162-08/SUNWcsu/install/patch_postinstall
  inflating: 108162-08/SUNWcsu/install/postinstall
  inflating: 108162-08/SUNWcsu/install/preinstall
   creating: 108162-08/SUNWcsu/reloc/
   creating: 108162-08/SUNWcsu/reloc/usr/
   creating: 108162-08/SUNWcsu/reloc/usr/bin/
  inflating: 108162-08/SUNWcsu/reloc/usr/bin/jsh
  inflating: 108162-08/SUNWcsu/reloc/usr/bin/ksh
  inflating: 108162-08/README.108162-08
# patchadd 108162-08

Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch number 108162-08 has been successfully installed.
See /var/sadm/patch/108162-08/log for details

Patch packages installed:
  SUNWcsr
  SUNWcsu

I checked the installation log file in /var/sadm/108162-08 and saw the following.

# cat /var/sadm/patch/108162-08/log

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.

Dryrun complete.
No changes were made to the system.

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.

Dryrun complete.
No changes were made to the system.

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.


Installation of <SUNWcsr> was successful.

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.


Installation of <SUNWcsu> was successful.

I then checked on the patch with showrev -p.

# showrev -p | grep 108162-08
Patch: 108162-08 Obsoletes: 108416-02 Requires:  Incompatibles:  Packages: SUNWc
su, SUNWcsr

[/os/unix/solaris/5_7] permanent link

Thu, Mar 26, 2009 5:12 pm

SunOS 5.7: packaging utilities patch

When checking SunSolve for available patches for a Solaris 5.7 system, I found a SunOS 5.7: packaging utilities patch. I unzipped the file I downloaded in /var/spool/patch and then used patchadd to install it, but received a message that another patch was required to be installed prior to this one.
# unzip 107443-24.zip
Archive:  107443-24.zip
   creating: 107443-24/
  inflating: 107443-24/.diPatch
  inflating: 107443-24/patchinfo
   creating: 107443-24/SUNWarc/
  inflating: 107443-24/SUNWarc/pkgmap
  inflating: 107443-24/SUNWarc/pkginfo
   creating: 107443-24/SUNWarc/install/
  inflating: 107443-24/SUNWarc/install/checkinstall
  inflating: 107443-24/SUNWarc/install/copyright
  inflating: 107443-24/SUNWarc/install/i.none
  inflating: 107443-24/SUNWarc/install/patch_checkinstall
  inflating: 107443-24/SUNWarc/install/patch_postinstall
  inflating: 107443-24/SUNWarc/install/postinstall
  inflating: 107443-24/SUNWarc/install/preinstall
   creating: 107443-24/SUNWarc/reloc/
   creating: 107443-24/SUNWarc/reloc/usr/
   creating: 107443-24/SUNWarc/reloc/usr/lib/
  inflating: 107443-24/SUNWarc/reloc/usr/lib/libpkg.a
   creating: 107443-24/SUNWcsu/
  inflating: 107443-24/SUNWcsu/pkgmap
  inflating: 107443-24/SUNWcsu/pkginfo
   creating: 107443-24/SUNWcsu/install/
  inflating: 107443-24/SUNWcsu/install/checkinstall
  inflating: 107443-24/SUNWcsu/install/copyright
  inflating: 107443-24/SUNWcsu/install/i.none
  inflating: 107443-24/SUNWcsu/install/patch_checkinstall
  inflating: 107443-24/SUNWcsu/install/patch_postinstall
  inflating: 107443-24/SUNWcsu/install/postinstall
  inflating: 107443-24/SUNWcsu/install/preinstall
   creating: 107443-24/SUNWcsu/reloc/
   creating: 107443-24/SUNWcsu/reloc/usr/
   creating: 107443-24/SUNWcsu/reloc/usr/bin/
  inflating: 107443-24/SUNWcsu/reloc/usr/bin/pkginfo
  inflating: 107443-24/SUNWcsu/reloc/usr/bin/pkgmk
  inflating: 107443-24/SUNWcsu/reloc/usr/bin/pkgparam
  inflating: 107443-24/SUNWcsu/reloc/usr/bin/pkgproto
  inflating: 107443-24/SUNWcsu/reloc/usr/bin/pkgtrans
   creating: 107443-24/SUNWcsu/reloc/usr/sadm/
   creating: 107443-24/SUNWcsu/reloc/usr/sadm/install/
   creating: 107443-24/SUNWcsu/reloc/usr/sadm/install/bin/
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/bin/pkginstall
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/bin/pkgname
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/bin/pkgremove
   creating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/cmdexec
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/i.awk
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/i.build
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/i.sed
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/r.awk
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/r.build
  inflating: 107443-24/SUNWcsu/reloc/usr/sadm/install/scripts/r.sed
   creating: 107443-24/SUNWcsu/reloc/usr/sbin/
  inflating: 107443-24/SUNWcsu/reloc/usr/sbin/installf
  inflating: 107443-24/SUNWcsu/reloc/usr/sbin/pkgadd
  inflating: 107443-24/SUNWcsu/reloc/usr/sbin/pkgchk
  inflating: 107443-24/SUNWcsu/reloc/usr/sbin/pkgmv
  inflating: 107443-24/SUNWcsu/reloc/usr/sbin/pkgrm
  inflating: 107443-24/README.107443-24
  inflating: 107443-24/LEGAL_LICENSE.TXT
# ls 107443-24
LEGAL_LICENSE.TXT  SUNWarc            patchinfo
README.107443-24   SUNWcsu
# patchadd /var/spool/patch/107443-24

Checking installed patches...
ERROR: This patch requires patch  107332-03
which has not been applied to the system.

Patchadd is terminating.

The 107332 patch was available from the SunSolve site, but its status was listed as "obsolete". That patch was obsoleted by patch 106938-07, which was in turn obsoleted by patch 106938-08, which was itself obsoleted by patch 106938-09, which has a title of "SunOS 5.7: libresolv, in.named, libadm, & nslookup patch".

I downloaded the SunOS 5.7: libresolv, in.named, libadm, & nslookup patch into /var/spool/patch and uncompressed it.

# unzip 106938-09.zip
Archive:  106938-09.zip
   creating: 106938-09/
  inflating: 106938-09/.diPatch
  inflating: 106938-09/patchinfo
   creating: 106938-09/SUNWarc/
  inflating: 106938-09/SUNWarc/pkgmap
  inflating: 106938-09/SUNWarc/pkginfo
   creating: 106938-09/SUNWarc/install/
  inflating: 106938-09/SUNWarc/install/checkinstall
  inflating: 106938-09/SUNWarc/install/copyright
  inflating: 106938-09/SUNWarc/install/i.none
  inflating: 106938-09/SUNWarc/install/patch_checkinstall
  inflating: 106938-09/SUNWarc/install/patch_postinstall
  inflating: 106938-09/SUNWarc/install/postinstall
  inflating: 106938-09/SUNWarc/install/preinstall
   creating: 106938-09/SUNWarc/reloc/
   creating: 106938-09/SUNWarc/reloc/usr/
   creating: 106938-09/SUNWarc/reloc/usr/lib/
  inflating: 106938-09/SUNWarc/reloc/usr/lib/libadm.a
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-l300.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-l300s.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-l4014.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-l450.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lTL.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-ladm
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-ladm.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-laio.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lauth.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lbsm.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lc.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lc2stubs.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lcmd.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lcurses.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-ldevice.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-ldoor.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lkstat.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lkvm.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lmtmalloc.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lnls.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lnsl
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lnsl.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lpam.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lplot.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lrac.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lresolv
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lresolv.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lsec.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lthread.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lvolmgt.ln
  inflating: 106938-09/SUNWarc/reloc/usr/lib/llib-lvt0.ln
   creating: 106938-09/SUNWarc/reloc/usr/xpg4/
   creating: 106938-09/SUNWarc/reloc/usr/xpg4/lib/
  inflating: 106938-09/SUNWarc/reloc/usr/xpg4/lib/llib-lcurses.ln
   creating: 106938-09/SUNWarcx/
  inflating: 106938-09/SUNWarcx/pkgmap
  inflating: 106938-09/SUNWarcx/pkginfo
   creating: 106938-09/SUNWarcx/install/
  inflating: 106938-09/SUNWarcx/install/checkinstall
  inflating: 106938-09/SUNWarcx/install/copyright
  inflating: 106938-09/SUNWarcx/install/i.none
  inflating: 106938-09/SUNWarcx/install/patch_checkinstall
  inflating: 106938-09/SUNWarcx/install/patch_postinstall
  inflating: 106938-09/SUNWarcx/install/postinstall
  inflating: 106938-09/SUNWarcx/install/preinstall
   creating: 106938-09/SUNWarcx/reloc/
   creating: 106938-09/SUNWarcx/reloc/usr/
   creating: 106938-09/SUNWarcx/reloc/usr/lib/
   creating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-l300.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-l300s.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-l4014.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-l450.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-ladm.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-laio.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lbsm.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lc.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lcmd.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lcurses.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-ldevice.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-ldoor.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lkstat.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lkvm.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lmtmalloc.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lnls.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lnsl.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lpam.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lplot.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lrac.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lresolv.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lsec.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lthread.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lvolmgt.ln
  inflating: 106938-09/SUNWarcx/reloc/usr/lib/sparcv9/llib-lvt0.ln
   creating: 106938-09/SUNWarcx/reloc/usr/xpg4/
   creating: 106938-09/SUNWarcx/reloc/usr/xpg4/lib/
   creating: 106938-09/SUNWarcx/reloc/usr/xpg4/lib/sparcv9/
  inflating: 106938-09/SUNWarcx/reloc/usr/xpg4/lib/sparcv9/llib-lcurses.ln
   creating: 106938-09/SUNWcsl/
  inflating: 106938-09/SUNWcsl/pkgmap
  inflating: 106938-09/SUNWcsl/pkginfo
   creating: 106938-09/SUNWcsl/install/
  inflating: 106938-09/SUNWcsl/install/checkinstall
  inflating: 106938-09/SUNWcsl/install/copyright
  inflating: 106938-09/SUNWcsl/install/i.none
  inflating: 106938-09/SUNWcsl/install/patch_checkinstall
  inflating: 106938-09/SUNWcsl/install/patch_postinstall
  inflating: 106938-09/SUNWcsl/install/postinstall
  inflating: 106938-09/SUNWcsl/install/preinstall
   creating: 106938-09/SUNWcsl/reloc/
   creating: 106938-09/SUNWcsl/reloc/usr/
   creating: 106938-09/SUNWcsl/reloc/usr/lib/
  inflating: 106938-09/SUNWcsl/reloc/usr/lib/libadm.so.1
  inflating: 106938-09/SUNWcsl/reloc/usr/lib/libresolv.so.1
  inflating: 106938-09/SUNWcsl/reloc/usr/lib/libresolv.so.2
   creating: 106938-09/SUNWcslx/
  inflating: 106938-09/SUNWcslx/pkgmap
  inflating: 106938-09/SUNWcslx/pkginfo
   creating: 106938-09/SUNWcslx/install/
  inflating: 106938-09/SUNWcslx/install/checkinstall
  inflating: 106938-09/SUNWcslx/install/copyright
  inflating: 106938-09/SUNWcslx/install/i.none
  inflating: 106938-09/SUNWcslx/install/patch_checkinstall
  inflating: 106938-09/SUNWcslx/install/patch_postinstall
  inflating: 106938-09/SUNWcslx/install/postinstall
  inflating: 106938-09/SUNWcslx/install/preinstall
   creating: 106938-09/SUNWcslx/reloc/
   creating: 106938-09/SUNWcslx/reloc/usr/
   creating: 106938-09/SUNWcslx/reloc/usr/lib/
   creating: 106938-09/SUNWcslx/reloc/usr/lib/sparcv9/
  inflating: 106938-09/SUNWcslx/reloc/usr/lib/sparcv9/libadm.so.1
  inflating: 106938-09/SUNWcslx/reloc/usr/lib/sparcv9/libresolv.so.2
   creating: 106938-09/SUNWcsu/
  inflating: 106938-09/SUNWcsu/pkgmap
  inflating: 106938-09/SUNWcsu/pkginfo
   creating: 106938-09/SUNWcsu/install/
  inflating: 106938-09/SUNWcsu/install/checkinstall
  inflating: 106938-09/SUNWcsu/install/copyright
  inflating: 106938-09/SUNWcsu/install/i.none
  inflating: 106938-09/SUNWcsu/install/patch_checkinstall
  inflating: 106938-09/SUNWcsu/install/patch_postinstall
  inflating: 106938-09/SUNWcsu/install/postinstall
  inflating: 106938-09/SUNWcsu/install/preinstall
   creating: 106938-09/SUNWcsu/reloc/
   creating: 106938-09/SUNWcsu/reloc/usr/
   creating: 106938-09/SUNWcsu/reloc/usr/sbin/
  inflating: 106938-09/SUNWcsu/reloc/usr/sbin/in.named
  inflating: 106938-09/SUNWcsu/reloc/usr/sbin/nslookup
   creating: 106938-09/SUNWscpux/
  inflating: 106938-09/SUNWscpux/pkgmap
  inflating: 106938-09/SUNWscpux/pkginfo
   creating: 106938-09/SUNWscpux/install/
  inflating: 106938-09/SUNWscpux/install/checkinstall
  inflating: 106938-09/SUNWscpux/install/copyright
  inflating: 106938-09/SUNWscpux/install/i.none
  inflating: 106938-09/SUNWscpux/install/patch_checkinstall
  inflating: 106938-09/SUNWscpux/install/patch_postinstall
  inflating: 106938-09/SUNWscpux/install/postinstall
  inflating: 106938-09/SUNWscpux/install/preinstall
   creating: 106938-09/SUNWscpux/reloc/
   creating: 106938-09/SUNWscpux/reloc/usr/
   creating: 106938-09/SUNWscpux/reloc/usr/ucblib/
   creating: 106938-09/SUNWscpux/reloc/usr/ucblib/sparcv9/
  inflating: 106938-09/SUNWscpux/reloc/usr/ucblib/sparcv9/llib-lucb.ln
   creating: 106938-09/SUNWsra/
  inflating: 106938-09/SUNWsra/pkgmap
  inflating: 106938-09/SUNWsra/pkginfo
   creating: 106938-09/SUNWsra/install/
  inflating: 106938-09/SUNWsra/install/checkinstall
  inflating: 106938-09/SUNWsra/install/copyright
  inflating: 106938-09/SUNWsra/install/i.none
  inflating: 106938-09/SUNWsra/install/patch_checkinstall
  inflating: 106938-09/SUNWsra/install/patch_postinstall
  inflating: 106938-09/SUNWsra/install/postinstall
  inflating: 106938-09/SUNWsra/install/preinstall
   creating: 106938-09/SUNWsra/reloc/
   creating: 106938-09/SUNWsra/reloc/usr/
   creating: 106938-09/SUNWsra/reloc/usr/ucblib/
  inflating: 106938-09/SUNWsra/reloc/usr/ucblib/llib-lucb.ln
  inflating: 106938-09/README.106938-09

I then installed both patches with patchadd.

# patchadd -M /var/spool/patch 106938-09 107443-24

Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch number 106938-09 has been successfully installed.
See /var/sadm/patch/106938-09/log for details

Patch packages installed:
  SUNWarc
  SUNWarcx
  SUNWcsl
  SUNWcslx
  SUNWcsu
  SUNWscpux
  SUNWsra

Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch number 107443-24 has been successfully installed.
See /var/sadm/patch/107443-24/log for details

Patch packages installed:
  SUNWarc
  SUNWcsu

When patchadd installs patches, it creates a directory of the form /var/sadm/patch/patch_id, where patch_id is the id for the patch, e.g 107443-24. It copies the README file there and creates a log file for the patch installation in that directory.

# ls /var/sadm/patch/107443-24
README.107443-24  log
# ls /var/sadm/patch/106938-09
README.106938-09  log

Files Included in the 107443-24 Patch:

/usr/bin/pkginfo
/usr/bin/pkgmk
/usr/bin/pkgparam
/usr/bin/pkgproto
/usr/bin/pkgtrans
/usr/lib/libpkg.a
/usr/sadm/install/bin/pkginstall
/usr/sadm/install/bin/pkgname
/usr/sadm/install/bin/pkgremove
/usr/sadm/install/scripts/cmdexec
/usr/sadm/install/scripts/i.awk
/usr/sadm/install/scripts/i.build
/usr/sadm/install/scripts/i.sed
/usr/sadm/install/scripts/r.awk
/usr/sadm/install/scripts/r.build
/usr/sadm/install/scripts/r.sed
/usr/sbin/installf
/usr/sbin/pkgadd
/usr/sbin/pkgask
/usr/sbin/pkgchk
/usr/sbin/pkgmv
/usr/sbin/pkgrm
/usr/sbin/removef

ReadMe for Patch 107443-24

Files Included in the 106938-09 Patch: 
/usr/lib/libadm.a
/usr/lib/libadm.so.1
/usr/lib/libresolv.so.1
/usr/lib/libresolv.so.2
/usr/lib/llib-l300.ln
/usr/lib/llib-l300s.ln
/usr/lib/llib-l4014.ln
/usr/lib/llib-l450.ln
/usr/lib/llib-lTL.ln
/usr/lib/llib-ladm
/usr/lib/llib-ladm.ln
/usr/lib/llib-laio.ln
/usr/lib/llib-lauth.ln
/usr/lib/llib-lbsm.ln
/usr/lib/llib-lc.ln
/usr/lib/llib-lc2stubs.ln
/usr/lib/llib-lcmd.ln
/usr/lib/llib-lcurses.ln
/usr/lib/llib-ldevice.ln
/usr/lib/llib-ldoor.ln
/usr/lib/llib-lkstat.ln
/usr/lib/llib-lkvm.ln
/usr/lib/llib-lmtmalloc.ln
/usr/lib/llib-lnls.ln
/usr/lib/llib-lnsl
/usr/lib/llib-lnsl.ln
/usr/lib/llib-lpam.ln
/usr/lib/llib-lplot.ln
/usr/lib/llib-lrac.ln
/usr/lib/llib-lresolv
/usr/lib/llib-lresolv.ln
/usr/lib/llib-lsec.ln
/usr/lib/llib-lthread.ln
/usr/lib/llib-lvolmgt.ln
/usr/lib/llib-lvt0.ln
/usr/lib/sparcv9/libadm.so.1
/usr/lib/sparcv9/libresolv.so.2
/usr/lib/sparcv9/llib-l300.ln
/usr/lib/sparcv9/llib-l300s.ln
/usr/lib/sparcv9/llib-l4014.ln
/usr/lib/sparcv9/llib-l450.ln
/usr/lib/sparcv9/llib-ladm.ln
/usr/lib/sparcv9/llib-laio.ln
/usr/lib/sparcv9/llib-lbsm.ln
/usr/lib/sparcv9/llib-lc.ln
/usr/lib/sparcv9/llib-lcmd.ln
/usr/lib/sparcv9/llib-lcurses.ln
/usr/lib/sparcv9/llib-ldevice.ln
/usr/lib/sparcv9/llib-ldoor.ln
/usr/lib/sparcv9/llib-lkstat.ln
/usr/lib/sparcv9/llib-lkvm.ln
/usr/lib/sparcv9/llib-lmtmalloc.ln
/usr/lib/sparcv9/llib-lnls.ln
/usr/lib/sparcv9/llib-lnsl.ln
/usr/lib/sparcv9/llib-lpam.ln
/usr/lib/sparcv9/llib-lplot.ln
/usr/lib/sparcv9/llib-lrac.ln
/usr/lib/sparcv9/llib-lresolv.ln
/usr/lib/sparcv9/llib-lsec.ln
/usr/lib/sparcv9/llib-lthread.ln
/usr/lib/sparcv9/llib-lvolmgt.ln
/usr/lib/sparcv9/llib-lvt0.ln
/usr/sbin/in.named
/usr/sbin/nslookup
/usr/ucblib/llib-lucb.ln
/usr/ucblib/sparcv9/llib-lucb.ln
/usr/xpg4/lib/llib-lcurses.ln
/usr/xpg4/lib/sparcv9/llib-lcurses.ln

ReadMe for Patch 106938-09

References:
  1. patchadd(1M) - apply a patch package to a system running the Solaris operating environment
    Sun Microsystems Documentation
  2. Solaris Patch Installation
    Developer Resources for Java Technology

[/os/unix/solaris/5_7] permanent link

Thu, Mar 26, 2009 4:42 pm

SunOS 5.7: nawk Patch

I checked SunSolve for available patches for a Solaris 5.7 system. I installed the SunOS 5.7: nawk Patch on the system. I unzipped the file I downloaded in /var/spool/patch and then used patchadd to install it.
# unzip 111113-02.zip
Archive:  111113-02.zip
   creating: 111113-02/
  inflating: 111113-02/.diPatch
   creating: 111113-02/SUNWesu/
  inflating: 111113-02/SUNWesu/pkgmap
  inflating: 111113-02/SUNWesu/pkginfo
   creating: 111113-02/SUNWesu/install/
  inflating: 111113-02/SUNWesu/install/checkinstall
  inflating: 111113-02/SUNWesu/install/copyright
  inflating: 111113-02/SUNWesu/install/i.none
  inflating: 111113-02/SUNWesu/install/patch_checkinstall
  inflating: 111113-02/SUNWesu/install/patch_postinstall
  inflating: 111113-02/SUNWesu/install/postinstall
  inflating: 111113-02/SUNWesu/install/preinstall
   creating: 111113-02/SUNWesu/reloc/
   creating: 111113-02/SUNWesu/reloc/usr/
   creating: 111113-02/SUNWesu/reloc/usr/bin/
  inflating: 111113-02/SUNWesu/reloc/usr/bin/nawk
  inflating: 111113-02/README.111113-02
# cd 111113-02
# ls
README.111113-02  SUNWesu
# patchadd /var/spool/patch/111113-02

Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

Patch number 111113-02 has been successfully installed.
See /var/sadm/patch/111113-02/log for details

Patch packages installed:
  SUNWesu

Files Included in this Patch:
/usr/bin/nawk
Problem Description:
4451613 *nawk* record limit corrupts patch checking when installing patch

ReadMe for Patch 111113-02

[/os/unix/solaris/5_7] permanent link

Mon, Mar 23, 2009 11:37 am

OpenSSL 0.9.8j and OpenSSH 5.2p1 Upgrades on Solaris 2.7 System

When I checked the version of OpenSSL on a Sun SPARC system running Solaris 2.7, I found it was out-of-date.
# ssh -V
OpenSSH_4.7p1, OpenSSL 0.9.8f 11 Oct 2007
# /usr/local/ssl/bin/openssl version
OpenSSL 0.9.8f 11 Oct 2007

Version 0.9.8j is currently available, so I downloaded it from sunfreeware.com. The sunfreeware.com site provides the following information for OpenSSL 0.98j for the SPARC platform:

openssl-0.9.8j-sol7-sparc-local.gz openssl is an open source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library - installs in /usr/local/ssl. Note to users with sun4m machines. The openssl package here was built on a sun4u system and will not work on your machines. The one built for Solaris 2.5 was built on a sun4m machine and has been tested and does work. If you do uname -a and you get sun4m in the result, install the Solaris 2.5 openssl package instead. The configure option used for making openssl was solaris-sparcv9-gcc shared. You may also need to install either gcc-3.4.6 or libgcc-3.4.6 to obtain the libgcc_s.so.1 library. openssl is often used to make machines more secure. Make sure you know what you are doing. Any security problems are your responsiblitiy. See our Disclaimer.

openssl-0.9.8j.tar.gz Source Code. [Details]

I unzipped the file I downloaded and installed the package.

# gunzip openssl-0.9.8j-sol7-sparc-local.gz
# pkgadd -d ./openssl-0.9.8j-sol7-sparc-local

The following packages are available:
  1  SMCossl     openssl
                 (sparc) 0.9.8j

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1

Processing package instance <SMCossl> from </tmp/openssl-0.9.8j-sol7-sparc-local>

openssl
(sparc) 0.9.8j
The OpenSSL Group
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
   771 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing openssl as <SMCossl>

## Installing part 1 of 1.
/usr/local/doc/openssl/CHANGES
/usr/local/doc/openssl/CHANGES.SSLeay
/usr/local/doc/openssl/FAQ
/usr/local/doc/openssl/INSTALL
/usr/local/doc/openssl/INSTALL.DJGPP
/usr/local/doc/openssl/INSTALL.MacOS
/usr/local/doc/openssl/INSTALL.NW
/usr/local/doc/openssl/INSTALL.OS2
/usr/local/doc/openssl/INSTALL.VMS
/usr/local/doc/openssl/INSTALL.W32
/usr/local/doc/openssl/INSTALL.W64
/usr/local/doc/openssl/INSTALL.WCE
/usr/local/doc/openssl/NEWS
/usr/local/doc/openssl/README
<text snipped>
/usr/local/ssl/man/man7/des_modes.7
/usr/local/ssl/misc/CA.pl
/usr/local/ssl/misc/CA.sh
/usr/local/ssl/misc/c_hash
/usr/local/ssl/misc/c_info
/usr/local/ssl/misc/c_issuer
/usr/local/ssl/misc/c_name
/usr/local/ssl/openssl.cnf
[ verifying class <none> ]

Installation of <SMCossl> was successful.

I then verified the new version was installed.

# /usr/local/ssl/bin/openssl version
OpenSSL 0.9.8j 07 Jan 2009

When I then ran the ssh command, I realized I needed to upgrade ssh as well.

# ssh -V
OpenSSL version mismatch. Built against 908070, you have 9080af

Sunfreeware.com listed the current OpenSSH version as 5.2p1.

openssh-5.2p1-sol7-sparc-local.gz Openssh is an open source version of the SSH secure shell system - installs in /usr/local. PAM support is included and requires its own configuration. Openssh also requires the installation of the packages openssl-0.9.8j (do not use the older openssl packages), zlib, gcc-3.4.6 or libgcc-3.4.6, prngd and optionally, but highly recommended, the perl, egd and tcp_wrappers packages. You MUST read the OpenSSH installation page for installation details and helpful web sites. For example, the /usr/local/etc/sshd_config file may need to be edited. openssh is often used to make machines more secure. Make sure you know what you are doing. Any security problems are your responsiblitiy. The main ssh web site is at the [Details] link below. It is also important that you read our Disclaimer.

openssh-5.2p1.tar.gz Source Code. [Details]

So I downloaded and installed the latest OpenSSH package from sunfreeware.com as well.

# wget -q ftp://ftp.sunfreeware.com/pub/freeware/sparc/7/openssh-5.2p1-sol7-sparc-local.gz
# gunzip openssh-5.2p1-sol7-sparc-local.gz
# pkgadd -d ./openssh-5.2p1-sol7-sparc-local

The following packages are available:
  1  SMCosh521     openssh
                   (sparc) 5.2p1

Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1

Processing package instance <SMCosh521> from </tmp/openssh-5.2p1-sol7-sparc-local>

openssh
(sparc) 5.2p1
The OpenSSH Group
Using </usr/local> as the package base directory.
## Processing package information.
## Processing system information.
   16 package pathnames are already properly installed.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.

The following files are already installed on the system and are being
used by another package:
  /usr/local/bin/scp
  /usr/local/bin/sftp
  /usr/local/bin/ssh
  /usr/local/bin/ssh-add
  /usr/local/bin/ssh-agent
  /usr/local/bin/ssh-keygen
  /usr/local/bin/ssh-keyscan
  /usr/local/doc/openssh/CREDITS
  /usr/local/doc/openssh/ChangeLog
  /usr/local/doc/openssh/INSTALL
  /usr/local/doc/openssh/LICENCE
  /usr/local/doc/openssh/OVERVIEW
  /usr/local/doc/openssh/README
  /usr/local/doc/openssh/README.dns
  /usr/local/doc/openssh/README.platform
  /usr/local/doc/openssh/README.privsep
  /usr/local/doc/openssh/README.smartcard
  /usr/local/doc/openssh/README.tun
  /usr/local/doc/openssh/TODO
<text snipped>
  /usr/local/etc/ssh_config
  /usr/local/etc/sshd_config
  /usr/local/libexec/sftp-server
  /usr/local/libexec/ssh-keysign
  /usr/local/libexec/ssh-rand-helper
  /usr/local/sbin/sshd
  /usr/local/share/Ssh.bin

Do you want to install these conflicting files [y,n,?,q] y
## Checking for setuid/setgid programs.

Installing openssh as <SMCosh521>

## Installing part 1 of 1.
/usr/local/bin/scp
/usr/local/bin/sftp
/usr/local/bin/ssh
/usr/local/bin/ssh-add
/usr/local/bin/ssh-agent
/usr/local/bin/ssh-keygen
/usr/local/bin/ssh-keyscan
/usr/local/doc/openssh/CREDITS
/usr/local/doc/openssh/ChangeLog
/usr/local/doc/openssh/INSTALL
/usr/local/doc/openssh/LICENCE
/usr/local/doc/openssh/OVERVIEW
/usr/local/doc/openssh/README
<text snipped>
/usr/local/share/man/man1/ssh.1
/usr/local/share/man/man5/ssh_config.5
/usr/local/share/man/man5/sshd_config.5
/usr/local/share/man/man8/sftp-server.8
/usr/local/share/man/man8/ssh-keysign.8
/usr/local/share/man/man8/ssh-rand-helper.8
/usr/local/share/man/man8/sshd.8
[ verifying class <none> ]

Installation of <SMCosh521> was successful.

I then rechecked the version of ssh on the system. The version was now up-to-date.

# ssh -V
OpenSSH_5.2p1, OpenSSL 0.9.8j 07 Jan 2009

The OpenSSH installation page stated "It has been noted that on some Solaris systems, scp and sftp may not work unless /usr/local/bin in in your PATH before /usr/bin. The older scp that comes with Solaris may conflict with the new openssl packages." So I tested sftp and scp to ensure they worked by transferring a file to another system.

[/os/unix/solaris] permanent link

Valid HTML 4.01 Transitional

Privacy Policy   Contact

Blosxom logo