Well, this was in the Solaris 2.x FAQ, as Caspar pointed out.
Original query attached.
Briefly, I was having problems executing "checkinstall", part of a pkgadd
procedure. The FAQ identifies this issue, noting that checkinstall
automatically runs as user "nobody". I had exported the file system on
which the DiskSuite package was located with the "root={box}" option ...
but not with the "anon=0" option. Doing this ... and verifying that the
exported file system had 555 privileges on the NFS server ... fixed the
issue.
The resulting /etc/dfs/dfstab entry looks as follows:
# Share Easy Access Server
share -F nfs -o sec=dh,ro=cns-boxes,anon=0 -d "df-compile Easy"
/opt/local/solaris_easy_access_srv_2_0
I also tested the other work-around, namely that of adding an "install"
user to the passwd file/table; this worked as advertised.
>From the FAQ:
The solaris FAQ says:
5.55) Patch installation often fails with "checkinstall" errors.
When installing a patch, the Solaris 2.5+ patch installation
procedure will execute the script "checkinstall" with uid nobody.
If any of the patch files or if any part of the path leading up to
the patch directory cannot be read by nobody, an error similar to
the following will appear:
patchadd . # or ./installpatch .
Generating list of files to be patched...
Verifying sufficient filesystem capacity (exhaustive method) ...
Installing patch packages...
pkgadd: ERROR: checkinstall script did not complete successfully
....
You can workaround this in two ways, one is to make sure that the
user "nobody" can read all patch files and execute a "pwd" in the
patch directory or add an account "install" to /etc/passwd:
install:x:0:1:installpatch braindamage:/:/bin/true
Installpatch and patchadd use "nobody" as a fallback if it cannot
find the "install" user.
--- end of excerpt from the FAQ
Thanks to the following for additional insights:
Birger Wathne <Birger.Wathne@getronics.no>
David Mitchell <davem@fdgroup.co.uk>
Casper Dik <Casper.Dik@holland.sun.com>
Erik Lembke <erik.lembke@force.de>
Matthew Stier <Matthew.Stier@fnc.fujitsu.com>
robsonk@ebrd.com
Michael Miller <Michael.Miller@oyster.co.uk>
David Mitchell <davem@fdgroup.co.uk>
Bruce R. Zimmer <bzimmer@all-phase.com>
Jeff Kennedy <jkennedy@amcc.com>
LINDSETH CHRISTOPHER <lindc1@supreme.com>
---------- Forwarded message ----------
Date: Wed, 1 Mar 2000 01:56:41 -0800 (PST)
From: Stuart Kendrick <sbk@fred.fhcrc.org>
To: sun-managers@sunmanagers.ececs.uc.edu
Subject: DiskSuite 4.2 install rewritten
This is a rewritten version of a previous posting. Yes, I am exporting
with root={box}.
I'm trying to automate the DiskSuite 4.2 software install by copying the
Solaris Easy Access Server CD to magnetic media and then NFS-exporting the
relevant directory, for easy access via scripts.
I cannot seem to install DiskSuite 4.2 from an NFS-mounted file system.
SUCCESS:
I can insert the Solaris Easy Access Server CD-ROM (ships with Solaris
2.7).
# cd /cdrom/solaris_easy_access_srvr_2_0/products/DiskSuite_4.2/sparc
# pkgad -d . -a /admin all
Works fine.
I can copy the contents of the CD-ROM to magnetic media, works fine.
# cd /cdrom/solaris_easy_access_srvr_2_0
# find . -depth -xdev | cpio -pdmv \
/opt/local/src/solaris_easy_access_srvr_2_0
# cd /opt/local/src/solaris_easy_access_srvr_2_0
# pkgad -d . -a /admin all
Works fine.
FAILURE:
However, if I then try to perform the install via NFS, the install fails.
I am exporting the file system as follows:
# Share src
share -F nfs -o \
sec=dh,rw=cns-boxes,root=box1:box2:box3:box4 "compile src" /opt/local/src
Where "cns-boxes" is a netgroup containg box1-n. I verify that the
members of cns-boxes have rw access as root by creating files on the
exported file system.
# pwd
/opt/local/solaris_easy_access_srvr_2_0/products/DiskSuite_4.2/sparc
# touch frog
# ls -l frog
-rw-r----- 1 root other 0 Mar 1 01:53 frog
# rm frog
# df -k
Filesystem kbytes used avail capacity Mounted on
/proc 0 0 0 0% /proc
/dev/md/dsk/d10 4123342 756927 3325182 19% /
fd 0 0 0 0% /dev/fd
swap 192128 8 192120 1% /tmp
df-home:/export/home/skendric
4123342 808396 3273713 20% /home/skendric
df-compile:/opt/local/src
4123342 2251515 1830594 56% /opt/local/src
# cd /opt/local/src/solaris_easy_access_srvr_2_0
# pkgadd -d . -a /admin all
Processing package instance <SUNWmd> from
</opt/local/src/solaris_easy_access_srvr_2_0/products/DiskSuite_4.2/sparc>
Solstice DiskSuite
(sparc) 4.2,REV=1998.02.09.12.47.28
Copyright 1998 Sun Microsystems, Inc. All rights reserved.
## Executing checkinstall script.
/opt/local/src/solaris_easy_access_srvr_2_0/products/DiskSuite_4.2/sparc/SUNWmd/
install/checkinstall:
/opt/local/src/solaris_easy_access_srvr_2_0/products/DiskSuite_4.2/sparc/SUNWmd/install/checkinstall: cannot open
pkgadd: ERROR: checkinstall script did not complete successfully
Installation of <SUNWmd> failed.
No changes were made to the system.
There are 2 more packages to be installed.
Do you want to continue with installation [y,n,?]
Does anyone have insights to offer?
--sk
Stuart Kendrick
FHCRC
This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:14:04 CDT