“So, you’re tired of Windows and thinking of trying Linux. There are lots of good distros, RedHat or Novell have all the enterprise cred you might need. And there’s a support community too, it’s a no brainer… Well, that’s all true enough – but why not try Solaris – in its OpenSolaris form – too? It’s just as available, at Open Solaris.org, where there’s a pretty active community going.”
Is Solaris Really a Bright Choice for Developers?
30 Comments
-
2007-01-23 1:24 amebasconp
There is available a port of Gentoo’s portage into Solaris… Package management is not an issue comparing with the other nice features built-in Solaris (dtrace, ZFS, Solaris zones, extreme scalability, etc.).
If you want to try out Solaris on the desktop, I’d suggest you use the current Solaris Express Community Release builds from opensolaris.org. They offer a much improved desktop experience compared to earlier versions. The latest version has a nice Gnome 2.16.1 desktop with Firefox 2.0, Thunderbird 1.5.0.8, and StarOffice 8 (based on OOo 2.x) preinstalled. I won’t claim the desktop experience quite equals the latest desktop-oriented Linux distros, but it’s not that bad.
The hardware support is also pretty decent. When I installed it on my laptop, it correctly autoconfigured my video and audio hardware. The only significant issues were that it ran the processor (Athlon 64) at half speed until I installed the PowerNow driver from frkit [1], and that it doesn’t natively support my Broadcom wireless. The latter is primarily Broadcom’s fault for not releasing specs, though, and I could likely get it working using the Solaris NDIS Wrapper Toolkit [2].
As for package management, blastwave.org has most of the stuff I’m interested in, and there are several other packaging systems available for Solaris as well. Most of these have up-to-date GNU userland utilities and other programs you might want.
The latest build also comes with JDK 6, NetBeans 5.5, and Sun Studio 11 (C/C++/Fortran compilers), if you want to do development. It also has a copy of GCC 3.4.3, and you can also get an up-to-date GNU toolchain from one of the packaging projects, if you want.
[1] http://opensolaris.org/os/community/laptop/frkit/
[2] http://opensolaris.org/os/community/laptop/wireless/ndis/
That would be my dream OS too. Add FreeBSD-like ports and Linux’s hardware compatibility and we’re readt to roll.
> I think the answer to “Why not?” for many linux users are poor package management. What happened to the Nexenta project which was supposed to solve this? They seem to be indefinitely delayed.
The Nexenta project is quite active. They recently released alpha6. See http://www.gnusolaris.org
I’m using this on my home server. For alpha software, it works amazingly well. They’ve done a good job leveraging Debian’s and Ubuntu’s existing tools.
Edited 2007-01-23 11:38
“I think the answer to “Why not?” for many linux users are poor package management.”
Spot on.
“IMO Nexenta’s problem was trying to make Solaris too much like Linux.”
Indeed.
“My personal wish is a project with Solaris kernel + BSD userland + Ubuntu package management.”
Make that _our_ wish. I’d love to see something like that.
-
2007-01-23 5:24 pmOliver
Crap! First Ubuntu package management is Debian package management.
Belenix (=OpenSolaris) + Pkgsrc is something like Solaris + BSD Userland. Secondly Pkgsrc is far better then apt-get/aptitude.
Last not least Linux is a kernel + GNU userland. *BSD, Solaris are complete operating systems, kernel+base system. You cannot take the kernel of these systems away and build something new, that’s crap. The strength of these systems is the completeness of the operating system.
So Solaris kernel + BSD userland is something like “Frankenstein OS”. Similar to this Debian/FreeBSD or Gentoo/FreeBSD crap.
If you want something like tooltime, take a Linux distro, if you want reliability take *BSD or (Open)Solaris. If you mix them, first try to understand every single os. Btw. Solaris is a mixture from BSD, AT&T Unix and SunOS (BSD Fork in the 80s).
A very compelling reason to use OpenSolaris for development is DTrace.
http://en.wikipedia.org/wiki/DTrace
http://www.sun.com/bigadmin/content/dtrace/
For those who don’t know DTrace allows you to observe accurately and precisely what is going on at the kernel and userspace. This means you can see what library calls applications are doing, or what sort of IO the kernel is doing. Becuase it is scripted it is flexible. The reach of “dtrace” instrumentation “triggers or providers” is still being extended. You don’t need to recompile an application, nor do you necessarily need the source code to it either for DTrace to give you interesting insights.
With DTrace you can hunt down bugs, optimise or simply gain a deeper understanding of software, even if that software was originally developed some other Unix. Much software that was developed on Linux and which is primarily used on Linux has been improved simply because of the insights that DTrace provides.
Dtrace is being ported to FreeBSD and MacOS X may soon have it too.
Aside from DTrace, the OpenSolaris system makes it easier to observe your system. An excellent example is listing the files opened by a running application. On linux you may use “lsof” but this isn’t always part of the base system. Solaris has “pfiles” as a core tool.
Another important example is the ubiquitous “top”. On Linux and others, running top has too much of an impact on the state of the system you want to observe (you may even see top as the top process!)… look at prstat on Solaris and its an accurate and less obtrusive tool.
For an excellent guide to the strong set of observability tools see Solaris Internals: Solaris Performance and Tools:
http://www.sun.com/books/catalog/solaris_perf_tools.xml
Edited 2007-01-23 00:48
-
2007-01-23 2:00 amjango
the linux equivalent is called system trap
so there really is no compelling reason to use “slowaris” JUST because of DTrace
-
2007-01-23 2:06 amebasconp
your affirmation sounds like:
“Toyota RAV4 Deluxe version is equivalent to Volkswagen 1967 beetle”.
-
2007-01-23 2:37 amtpenta
Actually it’s called System Tap (not trap), and does not currently do anything in user space, where a large number of developers do their work.
Your comment about Slowaris is simply showing your ignorance, you do know that the term was coined when Sun released Solaris 2.0 and things were substantially slower than on Solaris 1 (SunOS 4), don’t you?
Were you also aware that Solaris has come an awful long way since then, for example have a look at http://blogs.sun.com/bmseer/entry/update_solaris_beating_linux_perf…
Alan.
-
2007-01-23 3:13 amdrdoug
the linux equivalent is called system trap
Sorry there is NO current DTrace equivalent in Linux. There is nothing yet with the same feature set of DTrace for Linux.
As far as SystemTap V DTrace goes. I know which one I would use on a running production server.
so there really is no compelling reason to use “slowaris” JUST because of DTrace
If you think Solaris=slowaris, then what do you call other OS’s – “Dead Stop”?
-
2007-01-23 3:40 am
I’ve been a die hard gentoo linux user for a few years now. And back in the solaris 2.6-8 days I was less than impressed with the sun hardware and OS (back then slowlaris was an appropriate name).
Big question is: Would a windows entrenched processing shop be more inclined to run opensolaris or some linux distro? To get real network and IO throughput, I mean.
Will be the best OS when arrive.
I have tested v 5.11.55b and found it shocking; they actually changed alot of the things: during installation, after installation and during runtime.
Now, It is as stable as linux, and when finished it will be more stable than Redhat (the last being the most stable linux distro).
I encountered though 7 gnome crashes and 10 gnome-terminal crashes while working on it.
I was able to compile gxine and install all the plugins of windows @ /usr/lib/codecs and now I can watch 12 video formats: .asf, .divx, .xvid, .mpeg, .mpg, .rm, .rrm, mov, wmv, wmvhd, .vob, and .dat.
It was solid without any crash in playback.
xine-ui-0.x was difficult to install and failed even compiling it with gmake, dmake, make, and finally sun development studio 11.
Applications are more than before, preferences are more too. I would safely call it as advanced as RHEL 4.4; but when redhat release RHEL 5 (in 3 moths) it will beat it in features I guess, but not stability.
On my machine boot up was second to OSX 10.4.7 booting up in just 50 seconds (not including the bios time), which mean that it is the 2nd fastest bootup OS till now on x86 system (if beos and its derivatives to be execluded, they boot in 15 seconds only).
Hardware recognition was very good, not excellent, my 3COM 940 gigabit LOM card was not recognized, while every linux recognized it; but hey it included nvidia drivers pre-installed out of the box, while most linuxes do not have this luxury).
Solaris is an extremely promising OS if you still want Unix power and hardware super strong support.
Good Luck Sun!
hardware: Asus P4C800 Deluxe, P4 3 GHz, HT on, 1 GB Dual channel DDR RAM PC 3200, WD Raptor 10,000rpm 74GB disk. Burned DVD was checked for sha1sum for integrity.
Installation Time: 55 minutes when developer edition selected
Edited 2007-01-23 04:44
-
2007-01-23 10:37 amjimveta
I encountered though 7 gnome crashes and 10 gnome-terminal crashes while working on it.
I was able to compile gxine and install all the plugins of windows @ /usr/lib/codecs and now I can watch 12 video formats: .asf, .divx, .xvid, .mpeg, .mpg, .rm, .rrm, mov, wmv, wmvhd, .vob, and .dat.
Cool that you got all that working! I’ve got to try compiling that then..
WRT the GNOME crashes, do you have LD_LIBRARY_PATH setup or exported in your environment? I’ve found that having an exported LD_LIBRARY_PATH set to anything in your environment for some reason tends to crash Sun’s gnome and gnome apps randomly (i.e. evince crashing or gnome-volume-manager crashing on login) Without it set, I don’t encounter them.
Edited 2007-01-23 10:37
-
2007-01-23 2:44 pmre_re
>On my machine boot up was second to OSX 10.4.7 booting up in just 50 seconds (not including the bios time), which mean that it is the 2nd fastest bootup OS till now on x86 system (if beos and its derivatives to be execluded, they boot in 15 seconds only).<
funny how my gentoo box boots in about 30 seconds all the way into kde and osx boots in about that as well on my macbook pro.
I have used opensolaris a few times and honestly found it to be one of the slower booting os’s i have used. Now that being said, i don’t really care about the boot speed. I have found solaris to be rock solid as a server, but that is all i would use it for.
Edited 2007-01-23 14:47
-
2007-01-23 4:22 pmjimveta
How did you get your gentoo to boot all the way into kde so fast? And what services are you running? KDE takes at least that long by itself to start up on my machine–without any kind of preloading (the long startup times were acknowledged by KDE folks themselves when they were benchmarking warm vs cold startup). Did you also disable all startup applets for KDE?
WRT solaris booting, I’ve found it quite depends on network config too. Seems like some things like dtlogin, and gnome, definitely seem to wait on network response. Using either a static IP + fast dns/nis server OR “no network” config, the latest solaris express build (55b) boots very fast, with no tweaking of services. I mean 15-20 secs to the “login” prompt on most modern machines, plus about an additonal 5 secs to launch the Xserver and dtlogin screen.
Unfortunately sun’s gnome definitely takes a few more seconds to log in than say FC6’s gnome.
-
2007-01-24 2:59 amBringbackanonposting
“How did you get your gentoo to boot all the way into kde so fast?”
Fast bootup times and application loads is one of the advantages of Gentoo that outweighs the slower installation and compiling. My dual Opt 244 (old now) still boot to KDE in around 30 seconds – PATA drives. No “server” daemons however, it’s my primary desktop still.
I am trying to install Opensolaris and will try the “Alba Experiment” on it (Portage on solaris). Hope it works
If it goes GPLv3, and if someone makes a GNU distro with it as the kernel, I’ll likely give it a good try. Otherwise, I’d been planning on making gNewSense my next distro.
Solaris is an attractive development platform for a number of reasons and someone or a company trying to leave the locked-in, proprietary software market may have a point in going the Solaris route. But a company that has already made the break has little reason to switch to Solaris from GNU/Linux or a BSD now. On the development side Solaris is offering not enough incentive to leave those platforms.
If Solaris indeed becomes double-licensed under the GPL3 and we can port to and fro this may change, but i’m not holding my breath.
Personally, i certainly can imagine using a GPL3 Solaris, whatever the userland or the package management system. BTW, i know that you, atici, probably didn’t meant it as a slight, but the Ubuntu Package Manager is the Debian advanced packaging tool, a.k.a. apt, just call it that way.
-
2007-01-23 5:15 pmMatt Giacomini
We have decided to switch from Linux to Solaris in the server room. Why? DTrace and ZFS
My patience for the article ran out when the author started bashing the GPL erroneously whilst using terms like “IP”. OpenSolaris itself, on the other hand, could find a lot of favour if Sun decide to license it under the GPLv3. Stick that in your FUDpipe and smoke it, Mr Norfolk!
I personally would never use Solaris as a *AMP server. FreeBSD and Linux own that market. OTOH, if I was an enterprise, I would always use Solaris for any type of J2EE deployment, Oracle Deployment, or ERP deployment.
-
2007-01-24 1:20 amormandj
Why would you not use it? You gave no reason other than “FreeBSD and Linux own that market.” which isn’t much of a reason at all.
I use Solaris for my Apache/MySQL/PHP stuff. I’ve never had any problem. Heck, I even have some zones running LightTPD/PHP/PgSQL, some with Sun Java Webserver+PHP, etc.
I can deploy *AMP “servers” in minutes, with a large variety of configurations. Can you do that on your linux/freebsd box? I can even transfer entire *AMP “servers” around to different servers as the need arises (using various zones functionality). Using shared ZFS storage I can seemlessly swap them out, the only “downtime” being a minute or two. (“servers” being quoted, because I really mean zones.)
One of these days I’ll get around to doing performance analysis, but the above reasons are more than enough for me to use it in my deployments, and I’m sure anybody who’s doing any kind of large scale hosting would feel the same.
What’s even nicer – it’s easy. Really easy. The “new” Solaris is grand!
Just a few usability issues, and a fairly steep learning curve (if coming from *BSD/Linux – I came from FreeBSD myself…) – but once you get past those, it’s a blessing.
Edited 2007-01-24 01:21
I think the answer to “Why not?” for many linux users are poor package management. What happened to the Nexenta project which was supposed to solve this? They seem to be indefinitely delayed.
IMO Nexenta’s problem was trying to make Solaris too much like Linux. Solaris could provide good package management without enforcing GNU userland. My personal wish is a project with Solaris kernel + BSD userland + Ubuntu package management.
Also the lack of ZFS bootability makes things less desirable as one would need to repartition and install in the future when ZFS bootability arrives.
For a dev, reinstalls generally aren’t that big of a deal, but I do agree – would be nice if ZFS as boot drive was available now. It’s doable already, just takes some trickery. Hopefully it’ll be in one of the next two Solaris releases (PLEASE???) :p
As to your package management comments, I do agree. I’m not sure I’m with debs as the choice, but anything is better than what they’ve got going now.
My big issue lately has been userland, as you said. If they grabbed the BSD userland I’d be in heaven. It’s a real PITA compiling on Solaris now, since it has an old/partially missing GNU toolchain. I like some of the Solaris tools, I just think they should have a more complete solution.
Irritating things such as perl CPAN being a pain to work with, both from the GNU aspect of things to irritants like some form of bdb not being installed by default make it a bit of a pain to work with. If they resolve those issues, life on Solaris will be much nicer.
Now, as to the developer/desktop user, I’ve not used OSOL in a while, so not sure how up to date the desktop is – but in Solaris 11/06, it’s gross. Old nasty web browser – old nasty most everything for that matter. OSOL may be a different story, we’ll see if they EVER update it.
I wanted to use Solaris on my workstation, but I couldn’t deal with the terribly old desktop applications. The display rendering speed didn’t help either, even with the nvidia driver and nvidia supported card. Try going to sun.com with the bundled web browser, and do the image rollovers. They lag like you wouldn’t believe – pretty sad.
Just a few nitpicks, and I’m sure things will improve, but it’s probably going to be a while. At this point – I cannot suggest Solaris as a workstation OS unless you plan on ripping out everything and installing everything from scratch, and dealing with the video issues. No thanks for me!
The package management is not a issue if You think of pkgsrc.org which can be nicely deployed on Solaris.
There is also nice web frontend like freshports.org for FreeBSD: