I currently use CentOS for on my server, and I've been trying to figure out the practical differences between Linux and OpernSolaris. I'm not a linux master, I merely know my way around the system and can generally install things if I need to (though I won't lie, I get tripped up on that sometimes).

If I switch to OpenSolaris, are there going to be major things that I am unable to do now or that at least won't work the same way? My stacks mainly just consist of PHP/MySQL or Node.js/MongoDB.


OpenSolaris is being forked to OpenIndiana, and I would highly recommend using the later, as Oracle has a tendency to close up previously-open projects. Otherwise,

OpenIndiana/Solaris Pros:


  • Slower on most commodity hardware
  • Supports much narrower set of hardware
  • Fewer applications are ported/maintained for OpenSolaris

Other differences include file system structure, command naming and syntax, etc. There are a few good articles on the difference if you google "linux v opensolaris;" eg: http://linuxhelp.blogspot.com/2009/09/open-solaris-vs-linux-comparison.html, http://tuxradar.com/content/opensolaris-vs-linux

SAMP (solaris, apache, mysql, php) stacks should run just fine, assuming your hardware is all supported.

  • 1
    You forgot dtrace – Mircea Vutcovici Sep 22 '11 at 18:47
  • Although Dtrace is native to Solaris, it has actually been ported to most of the *nixes now; not sure about CentOS specifically, but its available for most – Bryan Agee Sep 22 '11 at 19:15
  • DTrace has been ported to FreeBSD, Mac OS/X and partially to QNX. I wouldn't call that most of the *nixes. There is no working Linux port, just pre-alpha code. – jlliagre Sep 22 '11 at 21:47
  • Good point--I'll add it to the list. Thanks jiliagre and Micrea – Bryan Agee Sep 22 '11 at 21:55
  • You can add to your list, transactional boot environments, i.e. after upgrading the OS, you have the possibility to rollback to the previous one(s), service management facility (svcs/svcadm/svcprop), rbac (pfexec,least privileges,roles), crossbow (network virtualization, etherstubs/vnics), modular debugger (mdb), kernel statistics (kstat), ... – jlliagre Sep 22 '11 at 23:35

We've recently moved our system from CentOS to a managed Solaris environment. As well as the typical differences @Bryan mentioned, we came across a very strange problem.

Some of our legacy code used bitmaps to essentially "join" database records. We had some queries that calculated the IDs present in the bitmap and join the included rows. This worked fine on CentOS (albeit rather slow) but Solaris was a different matter. Cutting an even longer story short, we found the problem on Solaris was floating point precision - Linux can work with very large integers with a slightly higher precision than Solaris.

I'm not a system admin, so I can't really go into more depth than that, but I can link you to this paper on Floating Point Arithmetic which will likely explain the possible problems better than I have.

  • This has not that much to do with Solaris or Linux but is really about FPUs. Identical results are expected from identical hardware, regardless of their OS. – jlliagre Sep 22 '11 at 23:18
  • Floating points or integers? It's either one or the other. – John Gardeniers Sep 23 '11 at 0:19
  • Integers can be represented in floating point notation. The issue is about the accuracy of floating point computation that should lead to precise integers but do not. – jlliagre Sep 23 '11 at 7:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.