Solaris
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 install 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.
Search pathes
Search pathes for finding binaires depend on the shell used:
- Bourne for the system
/etc/profile
- CSH for the system
/etc/csh.login
- Bourne and Korn for users
$HOME/.profile
To change it, insert/change
$PATH = $HOME/bin:/usr/local/bla/bin:$PATH $export PATH To use it: $HOME/.profile
- CSH for users
$HOME/.cshrc or $HOME/.login
To change it, insert/change:
setenv PATH /usr/local/bla/bin:$PATH
To use it:
source $HOME/.cshrc
Also, type rehash after adding binaries somewhere in the path directories.
Core dumps
Core dumps (when a program crashes) can take up a lot of space and fill up a disk.
Best solution: Redirect core dumps (see coreadm and dumpadmin)
A simpler solutions is to limit the size of coredumps (but don't forget to disable if you have real problems, e.g. with the OS).
- Check all limits under CSH and SH
ulimit -a
- Set limits under CSH
limit coredumpsize NN limit -h coredumpsize NN
- NN = 512 byte blocks
- -h will set hard limits
- for SH/KSH see: ulimit
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 ...)