Solaris is a unix just like any other unix. It's differences from Linux and from BSDs (FreeBSD, NetBSD and Darwin) is relatively minimal: you have everything in there that you would have in Linux and BSDs with some minor variations. There are somethings that we do as "best practices" that we do regardless, simply somethings 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: 1) Solaris's tar is a bit different, but the gnu tar is there. It's the binary "gtar". In particular you'll notice that "tar xvzf" will fail with an "z" being unknown. The flag "z" is what gunzip's a file. So you either first gunzip and than tar xvf or you use "gtar xzvf". 2) Solaris's "ps" is different, but 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". 2) Startup scripts can live in /etc/init.d/ and 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". 3) We're currently using the blastwave build process for packages. That means that binaries like mysql and apache live in /opt/csw rather than the typical /usr/local. 4) There isn't a "cc" that ships with Solaris (it's a separate compiler download), but all the gcc's are there in /opt/csw. This is most notably when you're say trying to compile a gem that goes out and looks for "cc" and doesn't find it. The solution for this particular case is to have the rbconfig.rb point to gcc. You can replace it with svn export http://svn.joyent.com/public/accelerators/rbconfig.rb /opt/csw/lib/ruby/1.8/i386-solaris2.8/rbconfig.rb 5) 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. 6) You can ssh in as the "admin" user, then you "sudo su -" and use that password. 7) If you want to install something that's in blastwave (like I'm going to use "nano" in these), then install it like the following: pkg-get -i nano Honestly there's not much more than that. Now what we'd also like you to do is pkg-get -i ggrep svn export http://svn.joyent.com/public/accelerators/scripts/myprivateip /opt/csw/bin/myprivateip svn export http://svn.joyent.com/public/accelerators/scripts/mypublicip /opt/csw/bin/mypublicip chmod 755 /opt/csw/bin/myprivateip chmod 755 /opt/csw/bin/mypublicip