From: Andreas Klemm (andreas@apsfilter.org)
Date: Wed Jun 11 2003 - 17:03:42 EDT
Hi,
here my summary (verbose ;-)
============================================================================
Credits corner:
============================================================================
An "out of the box" working solution came from the first reply
from Derek Olsen <derek.olsen@qsent.com> special credits for him !!!
But thanks to all who responded, credits go additionally to:
- Jason.Santos@pinnaclewest.com
his dont-ask file contains an additional field:
mail=root
and one difference:
instance=overwrite
additionally his pkgadd command looks a little bit different:
/usr/sbin/pkgadd -n -v -a ./Files/dontask -R /a -d \
./Packages/5.8/lsof-4.49-sol8-sparc-64-local SMClsof
- Darren Dunham <ddunham@taos.com>
Points out: "You almost never want to use pkgask"
(my personal note: seems to be a cute utility :->)
He refers to:
http://docs.sun.com/db/doc/806-0957/6ja9c6gbu?a=view
- Alan Pae <paedalbu@yahoo.com>
"the trick is not to use a response script since they don't
ask any questions. Instead you need to supply an alternate
"admin" file. Then you would use the -a admin file option
of pkgadd"
He points to:
http://www.hgmp.mrc.ac.uk/cgi-bin/man.cgi?section=4&topic=admin
- Gerard Henry <Gerard.Henry@cmi.univ-mrs.fr>
He uses finishscript according to sun docs:
cat > ${ADMIN_FILE} << DONT_ASK
mail=root
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
rdepend=nocheck
space=ask
setuid=nocheck
conflict=nocheck
action=nocheck
basedir=default
DONT_ASK
[ personal comment: I would use "<<-", since then whitespace
would be nuked in every line in the here script ]
echo "installation de BOLTpget"
/usr/sbin/pkgadd -a ${ADMIN_FILE} \
-d ${MNT}/solaris/BOLTpget.pkg
-R ${BASE} BOLTpget
cp ${SI_CONFIG_DIR}/config/Etc/pkg-get.conf /a/etc/
- Jeffrey P. Elliott <jpelliot@umd.umich.edu>
suggested to use pkgtrans to translate the package into
directory format. Maybe this is an alternative but I didn't have
the time to test it. I only want to mention this.
- Matthew R. Clausen <mclausen@csit.fsu.edu>
Also suggest to transform the package:
pkgadd -s /jump_common/5.8 sunfreewarepackage.local
and then in finish script:
pkgadd -R /a -n -a /a/mnt/packages/admin -d /a/mnt/packages/5.8 SMCgawk
His dont-ask file looks different, also couldn't try this:
mail=
instance=overwrite
partial=nocheck
runlevel=quit
idepend=quit
rdepend=quit
space=quit
setuid=nocheck
conflict=nocheck
action=nocheck
basedir=default
============================================================================
SUMMARY
============================================================================
Here the working solution from Derek Olsen <derek.olsen@qsent.com>
and after that my implementation:
He uses the following command in his scripts:
/usr/sbin/pkgadd -n \
-a /var/sadm/admin_noask \
-d /usr/local/src/pkg/8_Packages/$pkg \
-r /usr/local/src/pkg/8_Packages/responses \
< /var/sadm/all.txt \
> /dev/null 2>&1
where $pkg is the name of the package which is to be installed.
The extra files and their contents:
- /var/sadm/all.txt:
all
- /var/sadm/admin_noask:
instance=nocheck
partial=nocheck
runlevel=nocheck
idepend=nocheck
rdepend=nocheck
space=nocheck
setuid=nocheck
conflict=nocheck
action=nocheck
basedir=default
- /usr/local/src/pkg/8_Packages/responses
This response file is just a 0 byte placeholder file
============================================================================
My implementation
============================================================================
I introduced now a new directory "Admin" in the toplevel
of my jumpstart hierarchy (/export/jumpstart/Admin)
and placed all those needed files into there:
- all (get rid of window'ish .txt ;-)
- admin_noask
- responses
All of my "staging scripts" mount
jumpstart:/export/jumpstart to /mnt
So /mnt/Addon/all/5.8 contains now 3rd party packages for
all jumpstart clients who install Solaris 5.8.
And /mnt/Admin contains the above mentioned files.
All I have to do now in my JS clients staging scripts is
kind of (from memory):
#---------- snip -----------------------------------------
mount jumpstart:/export/jumpstart
if [ $? -ne 0 ]; then
# try it again sam after reboot
# watch out for reboot loops
# echo some meaningfull failure ...
init 6
fi
OS_REL=`uname -r`
if [ -d /mnt/Addon/all/$OS_REL ]; then
cd /mnt/Addon/all/$OS_REL
for pkg in *
do
/usr/sbin/pkgadd -n \
-a /mnt/Admin/admin_noask \
-d /mnt/Addon/all/$OS_REL/$pkg \
-r /mnt/Admin/responses \
< /mnt/Admin/all \
> /dev/null 2>&1
done
fi
# copy the next stage from js server
cp /mnt/Stages/stage-06-make-another-cool-thing /etc/rc3.d/S99-stage06
# umount
cd /
umount /mnt
# remove this script
rm $0
# reboot to execute the next stage on startup
init 6
exit 0
#---------- snip -----------------------------------------
On Tue, Jun 10, 2003 at 09:19:23PM +0200, Andreas Klemm wrote:
> Hi,
>
> need to get some scripts done for a mass installation and
> I don't have much time ....
>
> How do I get the packages from http://www.sunfreeware.com
> installed in a Jumpstart environment (here Startup scripts
> without a control tty) without having to create answer files
> using pkgask ...
>
> I made good experience using "here" scripts in jumpstart to
> install interactive packages. If I additional redirect stdout
> to /dev/null then I don't get trouble because of the missing
> control terminal, since I start a bunch of scripts within
> rc2.d start scripts (staging, using several reboots) ...
>
> But now I'm really in trouble, since the solaris 8 packages
> from www.sunfreeware.com refuse to install
>
> %----------- snip
> #! /bin/sh
>
> # stage-06-script
> # /etc/rc2.d/S99-stage-06
>
> [...]
> mount jumpstart:/export/jumpstart /mnt
> cd /mnt/Addon/5.8
> pkgadd -d zlib-1.1.4-sol8-sparc-local > /dev/null <<- EOM
> all
> y
> EOM
> [...]
> exit 0
> %----------- snip
>
> yields in:
> [...]
> Installation of <SMCzlib> failed.
> No changes were made to the system.
>
> Well, this fails installing the package without any other failure
> message than that ...
>
> I installed for example SDS without any trouble using a similar syntax.
> The only difference is "-d .", since the SDS packages are in directory
> format, not this "one file format".
>
> Any clue ??
>
> Andreas ///
-- Andreas Klemm Apsfilter Homepage http://www.apsfilter.org Support over mailing-lists (only!) http://www.apsfilter.org/support Mailing-list archive http://www.apsfilter.org/Lists-Archives _______________________________________________ sunmanagers mailing list sunmanagers@sunmanagers.org http://www.sunmanagers.org/mailman/listinfo/sunmanagers
This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:26:34 EDT