The brute-force way to install missing Solaris 9 packages
Every so often I wind up having to fix up a Solaris 9 machine that
doesn't have Sun's
wget or the like installed. Presumably there is
an official way of dealing with this, but so far I have just used my
unofficial brute force approach.
Solaris packages in their native form are just subdirectories (with
piles of stuff), with the directory name being the package name; on the
Solaris 9 CDs, they're found in the subdirectory
One of the formats
pkgadd -d will deal with is just this, a directory
full of package subdirectories.
So all you need to do is get the subdirectories for the packages you
want into some scratch directory on the target system and point
-d at it. What I usually do is mount the Solaris CD-ROMs on some handy
Linux system, bundle up the directories I need with
tarball to the target, unpack it into a new subdirectory in
pkgadd -d /tmp/pkgs.
(If I think I may need the result on several systems, I save the tarball, so I don't have to go fishing around on the CD-ROMs again. For example, I have a carefully salted away one with SUNWfns.)
The one thing to watch out for is unexpected dependencies;
will prompt you about whether you want to go on even though they're
missing, and you want to say 'no' (and then go find them and bundle
them up too).
(You can see the full package dependency list for any package by
install/depend file, which is usefully in plain
wget needs both SUNWwgetu and SUNWwgetr. In our set of CD-ROMs,
they are on the 'Solaris 9 Software 2 of 2' CD-ROM. SUNWfns is on
the first Software CD-ROM, along with SUNWfnsx.