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.
Packages do not always install in the same way. It's probably best to work with only one of these friendly providers ...
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:
The following packages are available: 1 SMClibpng libpng (sparc) 1.2.32
pkginfo | grep <part_of_the_package_name>
pkginfo -l SMClibpng PKGINST: SMClibpng NAME: libpng CATEGORY: application ARCH: sparc VERSION: 1.2.12 .....
pkgrm <packagename>
E.g.
pkgrm SMClibpng
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 for finding binaires depend on the shell used:
/etc/profile
/etc/csh.login
$HOME/.profile
To change it, insert/change
$PATH = $HOME/bin:/usr/local/bla/bin:$PATH $export PATH To use it: $HOME/.profile
$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 (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).
ulimit -a
limit coredumpsize NN limit -h coredumpsize NN
(such stuff might be moved to a generic Unix page some day ...)