Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
What is the motivation for changing? Curiosity, or some other consideration? – Bryan Agee Sep 22 '11 at 18:35
Why don't you fool around with a Joyent SmartMachine: . Their SmartOS is a fork of OpenSolaris. They list some differences here:… – HTTP500 Sep 22 '11 at 23:03
up vote 7 down vote accepted

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:,

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

share|improve this answer
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.

share|improve this answer
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 posting your answer, you agree to the privacy policy and terms of service.

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