Solaris's sparseness

July 22, 2006

Coming from years of working primarily on Linux, one of the things that keeps getting me about working on Solaris 9 is just how sparse and bare a Solaris install is. I especially feel this with system diagnostic tools, where about 90% of the things I am used to considering as routine are either third-party packages or just not available.

(Solaris 10 holds out the promise to be much better, with things like DTrace, but I'm stuck working with Solaris 9 machines at the moment.)

Some of this is just different names for the same stuff (for which the Rosetta Stone for Unix is very handy), but for a lot of it you really need to start installing third-party software. (Even when semi-substitutes are part of Solaris; fuser is only a pale shadow of lsof, for example.)

And sometimes there doesn't seem to be anything at all. For example, my current desire is for something to dump system level file locking information, because I am trying to run down a peculiar Samba and NFS locking problem and I would sorely love to be able to see what processes have certain files locked, and how. On Linux I would use lslk; on Solaris, well, the core author of lslk dropped it in 2001 or so.

(Yes, I can find the source code. Last updated for Solaris 8. My quickly hacked attempt yielded no useful results.)

Sidebar: an inexplicable omission from Sun's Freeware stuff

Much to my surprise, Sun's Freeware software collection inexplicably does not include gdb, despite having the GNU compilers. Sure, Solaris has mdb, so you can at least do some state analysis of errant daemons with gcore and it (if the stars are right), but it's not quite the same.

Knowing about pstack would probably have saved me some time a few days ago, though. Moral: I should always check the Rosetta Stone before proceeding to brute force.

(Not that it would have helped; all of the Samba daemons confuse pstack as much as they confuse gdb and mdb. Oh well.)

Comments on this page:

From at 2006-07-22 12:21:57:

Check the Blastwave project for Solaris software:
It is similar to but it is better maintained, imho.

After you install blastwave's pkg-get and wget, all you need to do to install packages is, for example

pkg-get install gdb
pkg-get install lsof

It will download the packages and every dependence from blastwave's mirrors and install them in /opt/csw (add /opt/csw/bin to your PATH)

Before you start make sure you have enough space for /opt/csw, it can grow very large as you install more packages. The list of packages is at


Written on 22 July 2006.
« What Linux distributions we use (and sort of why)
Weekly spam summary on July 22nd, 2006 »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Sat Jul 22 01:42:25 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.