Solaris

## Contents

* 1 Solaris pointers
* 2 Open source packages for Solaris
* 2.1 How to use the packaging system with for individual packages
* 2.2 Problems
* 3 Search pathes
* 4 Core dumps
* 5 HELP
* 5.1 Specialized topics

## Solaris pointers[edit | edit source]

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[edit | edit source]

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[edit | edit source]

1. Download the package
2. Gunzip the package file
3. Become root
4. 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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

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[edit | edit source]

* SunSolve The "official" knowledge destination for troubleshooting advice & best practices. It has the official handbooks.
* solaris 10 docs
* 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[edit | edit source]

(such stuff might be moved to a generic Unix page some day ...)

* The Unofficial Samba HOWTO by David Lechnyr.
* Window Managers for X
* imake-Related Software and Documentation
* Shell scripts