1 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.
2 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.
2.1 How to use the packaging system with for individual packages
- Download the package
- Gunzip the package file
- Become root
pkgadd -d <filename>
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
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>
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.
3 Search pathes
Search pathes for finding binaires depend on the shell used:
- Bourne for the system
- CSH for the system
- Bourne and Korn for users
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:
Also, type rehash after adding binaries somewhere in the path directories.
4 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
- 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
- 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)
5.1 Specialized topics
(such stuff might be moved to a generic Unix page some day ...)