OpenSolaris is a unix just like any other unix, and it has minor differences from Linux and BSDs (FreeBSD, NetBSD and Darwin). You have everything in there that you would have in Linux and BSDs with some minor variations. There are some things that we do as “best practices” that we do regardless, simply some things that are “improvements” and various things that don't exist in other unixes (like SMF or preap).
We just want to touch on a few common ones:
In particular you’ll notice that “tar xvzf” will fail with a “z” being unknown. The flag “z” is what gunzip’s a file. We also provide gnu tar “gtar”. So you either first gunzip and then run “tar xvf” or use “gtar xzvf”.
Solaris's ps and the BSD ps (which is the same for some Linux, others are Solaris-ish) is in /usr/ucb/ps. The command that is equivalent to /usr/usb/ps -axu is “ps -aef”.
Startup scripts can live in /etc/init.d/ and preferably in “SMF”. You can also use standard startup scripts in /etc/init.d/ or you can use SMF. Some key things are already SMF'ed. You can see which ones have SMF manifests in the system by typing “svcs -v”. For example, notice that SSH is there; this means that if you change the configuration file in /etc/ssh/sshd_config, then you “refresh” it with “svcadm refresh ssh”.
We use our BSD userland in OpenSolaris, and this is provided by our own large bootstrap and build of NetBSD's pkgsrc for OpenSolaris. That means that binaries like mysql, apache live in /opt/local (like MacPorts) rather than the typical /usr/local.
There isn't a “cc” that ships with Solaris (it's a separate compiler download), but all the gcc's are there in /opt/local. This can occur particularly when you are, for instance,trying to compile a gem that goes out and looks for “cc” and doesn't find it. In those cases let us know to provide a binary package for the software.
In /home/admin there is a .bash_profile that pulls in .bashrc. You'll want to use those for the bash shell files when creating other shell users.
You can ssh in as the “xxxxxxxx” user, then you use
su -
and use the root password; ssh as root is not allowed.
Use
prstat -Z
as opposed to top.