Solaris
<pageby nominor="false" comments="false"/>
Solaris pointers
This page includes a a few pointers for the Solaris operating system. Solaris has the advantage of being rock solid (including the hardware), but life is not as easy as with debian-based Linux systems like Ubuntu for example...
Disclaimer: Daniel K. Schneider is not a sys admin expert, but usually mangages to things. This server runs on a Solaris machine that is configured by our friendly central sysadmin persons. We just add on top, e.g. AMP software and (of course) all the portalware.
Open source packages for Solaris
Packages do not always install in the same way. It's probably best to work with only one of these friendly providers ...
- Sunfreeware.com. Read the Download and Installation Instructions first. This archive is the one we are using at TECFA mostly.
- Solaris Freeware (FTP at the Swiss Switch mirror).
- HTTP at the Swiss Switch mirror
- Packages install mostly in /usr/local and /usr/local/bin should be in the path.
- Solaris Package Archive. Read the Readme file for more information.
- Mirror at Switch (Switzerland)
- Open Source Software for Solaris (Blastwave). See the HowTo file
How to use the packaging system with for individual packages
- Download the package
- Gunzip the package file
- Become root
- Type:
pkgadd -d <filename>
E.g.
pkgadd libpng-1.2.32-sol10-sparc-local
If you want to install it in some other place, type:
pkgadd -d <filename> -a none
There can only be one version of a package. This means that you may have to remove old ones:
- Find it first. pkadd will tell you the name.
The following packages are available: 1 SMClibpng libpng (sparc) 1.2.32
- Else, you can find a package that is installed by typing:
pkginfo | grep <part_of_the_package_name>
- Then think hard if you could damage something by removing it. E.g. look at details first:
pkginfo -l SMClibpng PKGINST: SMClibpng NAME: libpng CATEGORY: application ARCH: sparc VERSION: 1.2.12 .....
- Then remove it
pkgrm <packagename>
E.g.
pkgrm SMClibpng
Problems
Often a package depends libararies that don't work and they then won't work either...
You have to make sure that libaries don't have any undefined symbols or missing dependencies (other libraries). Type:
ldd -r <library_name>
E.g.
ldd -r /usr/local/libpng.so
Or do it recursively (all dependent libraries too):
ldd -rv ....
If you find missing symbols or libraries, it simply may be the case that it can't find the libraries in question. Fix that by definin/extending the LD_LIBRARY_PATH. Either in the script that launches software that is using a library or at system level.
Otherwise, install new versions. I just put most of them in /usr/local/.
Also, some package archives support automatic package updating. E.g. read the BlastWave instructions.
HELP
- SunSolve The "official" knowledge destination for troubleshooting advice & best practices. It has the official handbooks.
- Bolthole.com is a mix of Solaris info, Java programming, and other techie tips
- sunhelp.org Independent news, reviews, and reference information for users of Sun Microsystems' hardware and software products
- Unix System Administration Independent Learning (last updated 2006)
Specialized topics
(such stuff might be moved to a generic Unix page some day ...)