Sunday, December 21, 2008

OpenSolaris 2008.11 Revisited

Picture of OpenSolaris 2008.11 Desktop.

I last spoke about my encounters with OpenSuse, FreeBSD, and OpenSolaris. After writing that entry, for some reason, I kept thinking about my encounter with OpenSolaris. Maybe it was that I'm back on Solaris machines at work, or maybe it was the small OpenSolaris icon Firefox mistakenly replaced on one of my always visible bookmark links. Either way, I've decided to give it another go--this time diving in.

Initially, I ran it for a few days on my laptop. The primary purpose being to get more familiar with its capabilities as a desktop machine. Once I was satisfied and more familiar with it's capabilities, I wiped my "just-updated" OpenSuse 11.1 off my main home computer. My experience is still a work in progress, however, I am very happy with it so far. It does have a learning curve--even for an experience Linux user, however, I think it will be worth it.

Here are some high level thoughts in various areas:

Install Experience:
Very simple, if not easier than the most recent Linux Fedora/OpenSuse distros. The most complicated piece for me was partitioning--the install gui does not let do any advanced partitioniong, so you must bring up a command terminal and run the "format" command. While text-based, the entire format/fdisk capabilities are very easy for anyone with any fdisk or parted experience.

Startup Experience:
I _really_ like the whole service-based system as opposed to the rc.d/init.d scripts. Once you learn the svcadm and svcs commands, it's really cool. Services are managed very well and each has a dedicated log file. Failed services go into a maintenance mode where an admin can diagnose and restart. The initial boot time was slow, however, future boots are much faster. Linux users familiar with grub will be right at home. OpenSolaris uses grub with the additional Boot Environment capabilities to manage multiple "versions" of the installed software on the zfs file system--very nice for user updates and kernel updates.

Initial Desktop / Network Experience:
OpenSolaris ships with NVidia drivers, so it was a few mouse clicks to have the initial desktop up and running with Compiz on a dual-head display. The desktop network icons work fairly well to automagically attach to wireless or cabled networks. I had a few issues with wireless, so I had to come up to speed with ifconfig and dladm. The nice thing about both tools is they are very well documented in man pages and online docs.

32 / 64 bit differences:
This was hard to figure out--most Linux distros you just download the 32 or 64 bit installer, then you have that version installed. Of course 64 bit installs run 32 bit code. OpenSolaris is a little different. It's a unified OS, so the installed installs 32 and 64 libs. During the boot, the system figures out which kernel to boot.

Now, even though my kernel is 64 bit, when I launch firefox, it's the 32 bit version. Many programs have 32 and 64 bit version, so my guess is you can choose you desired architecture on many programs. Look for the bin/amd64 and lib/64 folders to get an idea--I'm still figuring this out.

Software and Updates:
The IPS ( network based package system ) does a decent job of updating packages. One of the criticisms of OpenSolaris is the available number of software packages. Even from the Linux crowd, you come across this argument from time to time ( shame on you ). It is noteworthy to see the available number of packages already available. I did feel that many of the packages on BlastWave and other repos were just too old. Any experienced Linux user would realize that the argument of "Distro X has 10k packages and OpenSolaris only has a fraction of that" is not really an argument. Linux was in the same boat just a few years back, and OpenSolaris ( IPS infrastructure in place now ) will catch up quickly. In addition, all one has to do ( just like we all did a few years ago on Linux ) is to download the source code to a package with its dependencies-- a few ./configure / make / make install commands later and it's there.

I did this on OpenSolaris and now have running dansguardian, openldap, mplayer, postgres, squid, kdelibs, kmymoney, and others. Some of these do have pre-compiled packages--I chose to get more recent versions the old fashioned way. Needless to say most compiled without incident--and using 64 bit flags or 32 bit flags where I desired.

Bottom line is don't let the current list of available pre-packaged software hold you back--if you know how to build src pacakges, you're set. Otherwise ask around or just give it time.

Device Driver Supprot
I have 2 issues with device driver support. The first is audio on the ICH10 hd intel chip. The second is printers. I believe the audio is being looked into now. OpenSolaris printing gives you 2 options ( the default lp service or CUPS). Switching between the two is simple ( print-service command ). Under lp, I printed fine to my laserjet, but not to the hp inkjet. Both printers were detected fine. Under CUPS, neither printer worked--I believe there is a known CUPS issue with USB printers.

I'm not too concerned here, as even the latest Linux distros suffer from audio issues or other device problems. Linux does support more devices right now. Given how far OpenSolaris has come in the past 6 months, I think 2009 will be a huge package/support device year for OpenSolaris.

Advanced Networking
I use a few advanced Linux networking features--namely virtual networks, bandwidth throttling, firewalls, and NAT routing. I have not got my OpenSolaris box doing this yet--I have to learn how to do this on OpenSolaris. I think firewalls and NAT are already there. Bandwidth control and virtual network cards are part of the OpenSolaris CrossBow project. Just recently, the capabilities were merged into the OpenSolaris kernel. I did the Linux equivalent of a kernel update on my laptop to learn how. My next big step will be to do it on this server. More to come in this department.

To summarize:

Is OpenSolaris ready for the desktop?
...YES. As ready as Linux is. You could set up an OpenSolaris box for any non-techie member of your family, and they could surf the web, get emails, write documents, etc. Linux and OpenSolaris still can not satisfy one's need for IPOD sync, camera photo management without a knowledgeable Unix go-to-guy to call.

Is there a Linux to OpenSolaris learning curve and initial struggle?
...YES. However, it's much less that say a Windows to Linux/BSD/Solaris conversion.

Is the struggle worth it?
...YES. For me, I'm very impressed and happy. I certainly don't want to say Linux is better or BSD is better or OpenSolaris is better. Choice is good and so is competition -- even in an open source world arena. I'm not sure why I like OpenSolaris. All I can say is it just feels good. I don't get too caught up in the licensing differences and arguments. If I can run it at home and at work and it's open source, I'm satisfied. It's also refreshing to have an excellent performing, stable OS capable of running my favorite open source programs with a company like Sun behind it. I sort of feel like the days when I switched from Windows to OS/2 Warp 3.0. Although Solaris has been around for a long time, to me, it feels like an evolutionary step forward. I still have lots to learn here too.

I'll be adding posts related to this migration experience as I learn more and become more familiar with OpenSolaris.

No comments: