8

One of the recent questions asked about potential reasons to use Solaris on a server. I would like to ask about the opposite:

What would be reasons to stay away from Solaris on a server?

Package and patch management comes to mind, but I'm sure there's more to it. You can also point out advantages of other server operating systems over Solaris.

7

I am (was) a Solaris admin through to about nine years ago, from v2.5 through v8. I've had a little exposure to Solaris 9, and almost none to 10.

My reasons for avoiding Solaris:

Hardware support is not nearly as good as many Linux or Windows operating systems. It is improving.

You can run Solaris for free, but you can't get updates for free. Not even security updates. Not even 0-day exploits. You have to buy a support plan, per system, which can be expensive. This means that the way to get updates is to wait for the next "U" release, and upgrade at that point.

OpenSolaris is too bleeding edge for me. It changes too often, and the releases wander too close to unstable or unreliable for my needs.

Between Solaris and OpenSolaris, Sun has managed to totally miss the happy medium between "welcome to 2004" and "I'm so new and shiny I don't really work 100%!"

I used to be willing to use Solaris more before the Blastwave project imploded. Through there I could get newer tools that fit more with the Linux way of doing things (which is where I spend 95% of my professional time) with a relatively easy online way of managing the tools and updates. Once Blastwave and CSW settle down, I'll look at both remnants and decide if it is worth putting time and effort into either of them again. Really, the loss of Blastwave as a trustworthy source of tools was a huge blow to Solaris' viability in my circles.

But the number one reason for me is that right now I don't need to do anything that requires Solaris.

| improve this answer | |
  • Eh? Security patches have long been available w/o a support contract, see sunsolve.sun.com/search/document.do?assetkey=1-9-203648-1 – Toto Jun 12 '09 at 13:13
  • Blastwave works just fine, with opensolaris's pkg system as well, check out this post: blogs.sun.com/observatory/entry/blastwave – matt Jun 30 '09 at 7:45
  • 3
    OK, BigAdmin had a thread on the patch issue. The consensus appears to be: you CAN get the patches for free. However you CAN NOT get the patch clusters (ie Recommended) for free, you have to download each patch (and any dependencies, and theirs, and theirs...) yourself. Or you can wait until the next "U" release for free. However anyone who's tried to do patch dependencies knows how tedious/ugly it is to do manually. – David Mackintosh Nov 23 '09 at 18:17
  • How about the process of applying patches? Do people believe that they are as easy as on, say, Linux? Also, why are patches needed at all - why not upgrade software by upgrading packages? – automatthias Nov 16 '10 at 9:53
  • 1
    Solaris patching is super easy, there are just no good Sun or Oracle tools for it. The best tool is Martin Paul's Patch Check Advanced, from [par.univie.ac.at/solaris/pca/] – Tim Kennedy Nov 4 '11 at 4:05
4

My biggest worry, as a large Oracle customer, is that they'll eventually do away with either Solaris or 'Oracle Enterprise Linux' (their rebadge of RHEL).

Obviously both have their benefits and their downsides but I do know that they're selling a lot more OEL support agreements than Sun were selling for Solaris and of course they own the development costs of Solaris, OEL dev costs then very little at all.

We all love Solaris but if it's not selling well enough and costing too much to develop then I'm sure Oracle will simply 'asset strip' it (keep ZFS etc.) and sell it on to someone else. That would be my main concern.

| improve this answer | |
  • 2
    I'd argue the chance of Oracle dropping Solaris in favor of a rebadge brand are close to nil. Regardless of the development costs, it would make Oracle beholden to RedHat for updates to an OS they are onselling to their customers. Oracle didn't spend a large wad of its cash reserves to buy Sun, to put itself back in the reseller position again. – Dave Cheney Jun 12 '09 at 11:55
4

For 10-15 years, biggest worry has been about the future of Sun and the future of SPARC. I was about ready to give up when they came out with Solaris 10 which leaped ahead in terms of technology (although took ~1 year to be production worthy). The recent Oracle purchase adds a lot of short-term uncertainty but that could go away pretty quickly (regardless of the outcome). SPARC still seems a lost cause, even though there's been a lot of buzz around their "new" CoolThreads processors, but these are too specialized to gain wide acceptance.

It'll be interesting to watch industry trends... Years ago, I observed a lot of Wall Street firms flocking to Linux (from Solaris/sparc) not for Linux, but for x86. When Solaris 10 came out, there was definitely a partial reversal to Solaris, again on x86.

Package and patch management shouldn't be a worry, it's a matter of knowledge/skill. To offer you a different perspective, my new job is in a Linux environment and both package and patch management worry me. These are old generic concerns for which there are answers.

I will miss Solaris sorely, some things in it just can't be found elsewhere.

| improve this answer | |
3

The only reason I can come up with is the "lack" of support/info out on the web if you're not an expert with Solaris (compared to Linux or FreeBSD).

| improve this answer | |
  • Suns own documentation can help you out a great deal in this regard however. For the most part (not everywhere of course), it has good explanations and examples for pretty much any task you would want to do for the things that are 'different' from other unix OSes. – Mark Jun 12 '09 at 12:58
  • That is true, and also why i typed "lack". Many sysadmin brains stop working if they should loose connectivity to google :) – pauska Jun 12 '09 at 14:06
2

Comparing Solaris 10 to Linux is Apples to Oranges. Primarily the difference is in the build environment as anyone who has moved Linux apps to Solaris can attest to. I would expect Oracle to focus on building out the Linux source/application compatibility model vs. trying to position Solaris as a replacement for Linux. Linux is also not a replacement for Solaris!

For small applications Linux is fine, for embedded applications its probably better. For big Iron applications Solaris is in a different class than any Linux distro. Look into Solaris' TCP/IP stack, real-time scheduling, service management, bullet-proof virtualization (zones), and you have a super-set of functionality vs. Linux. Add in ZFS, DTRACE, and MULTI-THREAD SCHEDULING and you're in an entirely different class of OS.

Linux is great, I love it. Solaris is great, I love it too. Each has its advantages and disadvantages. Oracle certainly is not going to build its big-iron products such as EXEDATA2 on LINUX when it has a superior product for big iron environments in Solaris.

| improve this answer | |
1

When my shared-server host switched from BSD to Open Solaris, FTP jailing went away. I don't know whether FTP jailing could be made available on Open Solaris by using a different FTP server, or perhaps by reconfiguring the default FTP server.

The authors of the Joyent wiki page about the issue attribute the problem to getcwd.

| improve this answer | |
0

i have been working on Solaris since 2002 (so 15 years now) and all i can say is that it was my "favourite" OS for all this time, in particular for its stability and its stability with known commercial applications such as networker, oracle (when it was still Sun), netbackup & so on.

but it's more of a "passion" for Solaris than anything else.

after 15 years, for me the "main issues" (if we can call them issues) were :

  • the lack of online documentation compared to other Operating Systems (in particular when trying to debug system performance), but it was better when Solaris 10 arrived. in particular for infrastructure services such as LDAP, kerberos, NIS2LDAP etc. every system was documented separately but you could never find good documentation with people implementing everything at once.

  • patching / upgrades (my company had to develop its own patching system for Solaris)

  • the lack of compatible tools/binairies online (we often had to compile our own and rarely find precompiled binairies)

  • the difficulties to understand performance issues sometimes due to the lack of good tools (solaris is not for beginners trying to understand how the system works) and its specific memory management (in particular when used in conjunction with oracle databases and everything using shared memory)

on the other hand, Solaris is still my favourite OS so far for multiple reasons, some of them are :

  • ZFS (ported on other OS now)
  • Zones
  • SMF
  • disk management (i don't understand why but i always found it easier than linux)
  • that feeling of being on a "pro OS" that nobody knows perfectly
  • stability (very rarely had to reboot hosts, and crashes were usually due to bad Java programs crashing and consuming all CPU or Memory making the system unstable and you couldn't even login to the system because it couldn't even fork a shell)

i never tried Solaris 11, but it looks great, and i would have nothing against it. i'm used to Solaris 10 (we still heavily use it where i work) and RHEL now (which is great too, but completely different) RHEL is the easy way to go..... if you don't want to struggle and you want to find solutions on page 1 of google when you have issues..

| improve this answer | |
  • Solaris 11 (which appropriately debuted in 2011) has pretty much solved your issue #2 and #3 for us. Patching/upgrading is now a breeze thanks to IPS. Oracle's standard IPS repo really has 90% of the additional binaries that we previously had to get from SunFreeware, OpenCSW or build ourselves. I actually feel that IPS is superior to Linux equivalents which was not what I expected (I just hoped it would be better than the situation up until then which was kinda horrible). The advantage IPS has is in large part due to the tight integration with ZFS, not possible in Linux. – peterh Aug 19 '17 at 15:34
-3

Solaris is quite unstable. Playing around with POSIX message queues, causes lots of undocumented behavior.. On the other hand Linux works like a charm, no problems at all.

EDIT (after 1.5 years of research and hard testing): OK, guys, maybe Solaris is not so bad. Problem is that errno.h by default is NOT THREAD SAFE. Thus I get random errors from other threads. So we need _REENTRANT, _TS_ERRNO or _POSIX_C_SOURCE - 0 >= 199506L to be defined in order to get errno thread safe. Note that on other OSes errno by default is thread safe. Thus it causes confusion.

| improve this answer | |
  • 2
    Solaris is quite unstable.?!?!? On what planet? "Unstable" is just about the last word anyone would ever use to describe Solaris. – Andrew Henle Jul 11 '17 at 19:29
  • 1
    agree with Andrew, Solaris is far from unstable, even in a poorly configured environment like the one I have to babysit. Solaris 10 that hasn't been patched in over 7 years, running on Sunfire T1000, with over 3K users, and I never have to reboot it or do anything other than occasionally retart Apache or Mysql due to poor coding leaving threads and junk open. – ShawnW. Jul 11 '17 at 20:17
  • 1
    i've been working with solaris for 10+ years and i never saw anything more stable than Solaris... – olivierg Jul 11 '17 at 20:24
  • endurox.org/issues/128 Why it did return "Device busy" on mq_receive() system call? There is no such error code in the standard and oracle documentation. I have reported this to Oracle too, still no response: community.oracle.com/thread/4038962 – Madars Vi Jul 12 '17 at 11:36
  • Enduro/X? Fix your code. mq_receive() returns ssize_t, NOT int. They are NOT the same. Second, per 7.1.3 Reserved identifiers of the C Standard: "All identifiers that begin with an underscore and either an uppercase letter or another underscore are always reserved for any use." Enduro/X code is rife with reserved identifiers. If you're going to be a pedantic jerk just because an OS happens to return an undocumented errno, you probably should not write code that fails to meet standards. – Andrew Henle Jul 13 '17 at 20:29

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.