OpenSolaris vs Linux

Posted at 4:10pm on Monday September 14th 2009

So you've been playing around with alternative OSes for a while and you reckon you've got this Linux thing mastered. Maybe you're tried Mac OS X and found it a bit too restrictive (or expensive); perhaps you've kicked the Hurd's tyres and thought you'll come back to it when it's something more than just a clever name.

If you're looking for something else to play with, we humbly suggest OpenSolaris. Like Mac OS X, which we looked at recently, OpenSolaris is based on Unix; also like OS X, it's best known for running on a specific processor (in this case Sun's SPARC architecture) but now works on a range of architectures including x86. Unlike OS X though, OpenSolaris is open source, so you can download it for free and start fiddling with it.

We're not interested in a direct, head-to-head comparison, because for many people it's largely a matter of taste which one they choose. But we do want to help people see what makes OpenSolaris a little different from Linux, so read on for our quick-start guide for Linux users wanting to dip their toe into OpenSolaris and see which they prefer...

The source code to Solaris (well, most of it) was released to the community in June 2005, and to make sure that it became a usable home system rather than just a server OS, Sun hired Ian Murdock, founder of the Debian project, to produce OpenSolaris. The first release appeared in May 2008 and the distribution adopted an approximately half-yearly release cycle: after OpenSolaris 2008.05 we got versions 2008.11 and 2009.06.

Sun advertises its operating system as a full-blown distribution, including the Gnome desktop. But is OpenSolaris interesting enough for a Linux user? If you're happy with your favourite Linux distribution, why would you try OpenSolaris? In some aspects it's much like a regular Linux distribution, but in other aspects it's completely different. Do the exciting features of this operating system outweigh the trouble of learning another Unix environment with other tools?

Installing OpenSolaris

Just like most Linux distributions, OpenSolaris comes with a live CD and a graphical installer that asks you for the standard information, including your location, preferred keyboard map, time/date etc. This will be familiar for Linux users, and if you're installing OpenSolaris as the sole OS on a computer you'll hardly notice the difference, but if you want to create a dual-boot system with OpenSolaris and Linux you might run into problems at the disk-partitioning stage.

The OpenSolaris installer considers all logical partitions on the disk as one extended partition, so it can't be installed on a logical partition. If you choose to install OpenSolaris on this extended partition, all enclosed logical partitions get overwritten. Second, OpenSolaris uses ZFS instead of ext3 as its filesystem. Linux has no ZFS support in the kernel because the Free Software Foundation doesn't consider it free enough to be bundled with GPL software, so if you want to get access to your OpenSolaris documents in Linux you have to mount the ZFS filesystem with Fuse as a filesystem in userland.

A third issue is that the standard Grub version that comes with Linux distributions doesn't understand the ZFS filesystem. So when you install OpenSolaris first and then your favourite Linux distribution, you can't boot into OpenSolaris anymore. The solution is to first install Linux and then OpenSolaris, and add the section for your Linux distro to Grub's menu.lst in OpenSolaris.

Some filesystem differences

Linux directory

OpenSolaris directory

/home

/export/home

/var/log

/usr/adm, /var/adm, /var/log

/tmp

/var/tmp

/sys

/devices

/dev

/dev

/lib/modules/foo/*

/kernel/drv/*

/boot/grub

/rpool/boot/grub

Some command line differences

Linux command

OpenSolaris command

Aim

sudo

pfexec

Execute a command as root

apt-cache search foo

pkg search -r foo

Search for a package containing foo

apt-get install foo

pkg install SUNWfoo

Install package foo

apt-get dist-upgrade

pkg image-update

Upgrade all packages that have updates available

lsmod

modinfo

List loaded drivers

insmod

modload

Load a driver

rmmod

modunload

Unload a loaded driver

top

prstat

List the running processes

free

vmstat

List the free memory

cat /proc/cpuinfo

psrinfo -v

List processor info

ifconfig

ifconfig -a

List all network interfaces

parted

format

Format a disk

Hardware support

Linux has a big advantage over OpenSolaris in that it supports a lot more hardware, but OpenSolaris makes up for this by having a fixed device driver interface. Where the Linux kernel developers give priority to adding features even when they break compatibility with hardware drivers (which creates more work for the distro makers) OpenSolaris keeps the driver interface static, so if your printer worked with OpenSolaris 2008.05 it'll work with 2009.6 - users can even run 10-year-old drivers written for the original Solaris platform.

OpenSolaris also gives you a clear overview of what is supported, rather than the suck-it-and-see approach favoured by Linux. The best way to find out whether specific hardware components are supported is by searching the Solaris Hardware Compatibility List online.

Another option to test hardware support on a computer is simply to fire up the live CD. The Device Driver Utility icon should show up on the desktop, which detects all available hardware and lists which driver supports it, even if it is third-party. For example, when I fired up the Device Driver Utility on my Dell laptop, the program said that it didn't have a driver for my WLan chipset (from Broadcom), but referred me to a website where I could download a third-party driver.

There is also a related utility, the Device Detection Tool: this is a Java program giving the same information, which you can run on Windows, Linux and Mac OS X. So with this tool, you get a perfect overview of the hardware support before you even install OpenSolaris.

OpenSolaris's hardware support is a lot more predictable than it is in Linux, though not as extensive.

ZFS: the Zettabyte File System

One of the most important reasons to use OpenSolaris is its filesystem, ZFS. Conceptually, ZFS is simple: disks are assigned to pools, and data sets are made of pools. Filesystems and volumes are two types of data sets. For pools, OpenSolaris has the administration command zpool and for datasets OpenSolaris has the administration command zfs. We'll focus here on pools. This is how you list the available pools:

One of the outstanding features of OpenSolaris is related to the filesystem: snapshots. A snapshot is a point-in-time copy of a ZFS filesystem or volume, saving the state for later reference or recovery. You can create a snapshot with the zfs snapshot command, but OpenSolaris 2009.06 has integrated this functionality in Nautilus and the Gnome Administration panel Time Slider.

Step by step: Take snapshots with ZFS

Enable automatic snapshots: Go to System > Administration > Time Slider and click on Enable Time Slider. Now OpenSolaris will regularly take snapshots of all available ZFS filesystems. If you would like to fine-tune which mount points will get snapshotted, click on Advanced Options. You can also adapt the maximum proportion of filesystem capacity that should be used. The regular snapshots take a lot of space, so by default Time Slider reduces snapshots when storage space usage exceeds 80% of filesystem capacity.

Restore a snapshot: If you suddenly realise that you've accidentally deleted or overwritten an important file, it's time to use the snapshots. Open Nautilus and navigate to the directory your file is in. If you click on the Restore button, you can navigate the snapshot history of the current location. For example, if you deleted a file you can use the slider to navigate to the time when the file still existed. You can open the file to see if it is the right version, or you can right-click on the file and select Restore To [directory]".

Compare different snapshots of a file: If you want to browse the file history of a given file, right-click on it and select Explore Versions (this option is only visible when there are different versions of the file to choose from). The Time Slider File Version Explorer window now shows you the different versions of the selected file. If it's a text file, such as code or plain text, you can compare the differences: just select an older version and click the compare button. If the file is an image, you'll be able to see the differences immediately.

Take or delete snapshots manually: To take a snapshot of a directory manually, just click on the camera icon on the right of the time slider in the directory. If you've moved the slider to a previous snapshot, you can delete this one by clicking on the Delete button. If after a time you discover you have a lot of space wasted by snapshots you don't need anymore, just open the System > Administration > Time Slider panel again and click on Delete Snapshots, which presents you a list with all available snapshots. Select the ones you want to get rid of and click on Delete.

Virtualisation with OpenSolaris

OpenSolaris supports a variety of virtualisation technologies with different degrees of isolation, flexibility, performance and ease of use. Of course it runs VirtualBox, but it also has a port of Xen, called xVM Hypervisor. A lesser known but equally interesting virtualisation technology in OpenSolaris is Zones, a feature resembling Linux-VServer, but with the advantage that it's not a separate patch set but supported in the official kernel.

Processes running in different Zones are completely isolated from each other. This type of virtualisation is called operating-system level virtualisation. Although each zone appears as a standalone operating system, in reality there's a single instance of the OpenSolaris kernel running behind all of them, which means that Zones are relatively light on processing power. Here's how to set up virtual instances of OpenSolaris with Zones:

Configure a zone

First we create a filesystem for the zones to reside in. Then we create a zone and configure the path where the root directory tree of the zone is placed. We add a virtual network interface to the zone and wire it to the physical interface nge0, and in the last-but-two line of code we configured this network interface with a specific IP address.

As you can see, there's also a zone called global. This is the OpenSolaris installation itself.

Install the zone

Now that the zone has been configured, we have to install it. Essentially, this creates a second installation of OpenSolaris inside the zone:

$ pfexec zoneadm -z myzone install

This command could take several minutes to finish, after which the status of the zone will have changed from configured to installed.

Boot the zone and log in

Once our zone has been installed, we can boot it with the command pfexec zoneadm -z myzone boot. This takes only a few seconds, after which the status will change from installed to running. Now you can log in with pfexec zlogin -C myzone. During the first login, you have to configure the host name, time zone, root password etc, just like a regular install does.

Now you can execute commands in the zone just like you do on the global OpenSolaris install. You can also halt, reboot and shut down the zone from within it, but you can also halt a zone from within the global zone with the command pfexec zoneadm -z myzone halt.

OpenSolaris on the desktop

Because OpenSolaris is advertised as a desktop distribution, it's fair to compare it with current Linux distributions. However, the first thing you notice is that the operating system is much slower than Ubuntu on the same hardware, so don't think about installing it on older hardware. For the rest it looks like a fairly standard Gnome desktop, although NetworkManager is replaced by an application called Network Auto Magic, which does more or less the same thing but has fewer features.

While most high-profile applications (including OpenOffice.org, Firefox, Thunderbird and Rhythmbox) are installed or available via the package manager, you have less luck if your favourite application is less known. For many Linux users this will be a showstopper, although packages can be ported.

And finally... YouTube!

We told you OpenSolaris is a proper desktop OS, so naturally you'll want to get Flash installed and stimulate your left brain. To get Adobe Flash Player, go to http://get.adobe.com/flashplayer and click the Agree And Install Now button (the website will automatically detect that you're using Solaris). Select Save File in the window that pops up, then click OK, which saves it to your Downloads directory. Then open a terminal window and execute the following commands:

When you next restart Firefox, Flash 10 should be working. There - an advanced filesystem, easy virtualisation, Firefox, OOo and more. Could OpenSolaris be the new Linux? Give it a try and let us know in the comments below!

Some differences under the hood

Under the hood OpenSolaris is very different from a Linux distribution. You can see this in a different filesystem layout and different base commands. For many tools, OpenSolaris has two versions: the Solaris ones are in /usr/bin and the GNU ones are in /usr/gnu/bin. Because OpenSolaris wants to ease the transition for Linux users, /usr/gnu/bin comes first in the PATH environment variable.

Other tools are available only in a Solaris variant, which can be confusing. Ifconfig is such an example: as a Linux user, you'll soon find out that the syntax is different from what you expect. Even the network interfaces are called differently: the standard interface is not called eth0, but for example nge0 or bge0, reflecting the driver used. All in all, you have to relearn a lot of commands, which requires some effort.

Your comments

Huge thanks!

This is exactly what I always wanted to know when OpenSolaris was mentioned. I think I'll try it.

OpenSolaris is interesting but not very compelling

Anonymous Penguin - September 14, 2009 @ 7:26pm

OpenSolaris is an interesting OS but until they get more packages ported I don't expect it to become successful outside of the server market, where the kernel's technical differences can come to light.

I would consider using it on my laptop (having hardware completely work and work forever would be very nice) but just having the most popular programs available isn't enough for me. Once their repos are comparable to at least Fedora or openSuse it could be compelling, but then, a more robust Fedora or openSuse would satisfy me just fine.

Once BTRFS arrives and brings most of the features of ZFS I don't think there will be any compelling reason for most users to try OpenSolaris.

Yes, I did try Mac OS X out!

And I can not see how it would be too restrictive. In fact, it was the complete opposite.

Great OS production and commercial-grade systems, not home

Anonymous Penguin (not verified) - September 14, 2009 @ 11:29pm

I've used Solaris for production systems which cannot go down, and must remain reliable. Great for such systems when you rely on it. However, individuals are less likely to use it, as the support for the latest and greatest gadgets is far from the support by Linux distros. Yes, there are issues for compatibility, and interface standards, but the bottom line is tha Linux will support more of my little gadgets I have around that Solaris. However, as a file server of other server, like my headless one, this is perhaps the best choice, especially now that it is open-source. Let's hope that Oracle will keep Solaris alive.

Oh the stupidity

Anonymous Penguin (not verified) - September 14, 2009 @ 11:43pm

After working for a large oil & gas company with an equally large Jonathan Schwartz fan club, I'm convinced there is no good reason to use Solaris, open or otherwise.

I started my IT career looking after VAX/VMS, Ultrix and Dynix in 1990. Since then I've worked with AIX, Solaris, OSF/Tru64 and Linux (and Windows but that doesn't really count).

The Jonathan Schwartz fan club spent a couple of days attempting to recover from a failed ZFS pool containing many TB of exploration and production data. SEV1 calls were logged with Sun. Did they get the data back? No.

ZFS may have some cool features but after that ZFS failure, beware. I'm aware of a similar failure with ZFS but on FreeBSD.

Also, ZFS may be conceptually simple but the practical realities are very different.

My only kind comment about Solaris is that it is a great advertisment for Linux.

@Jimmy
oh come on dude.. ok,

Anonymous Penguin (not verified) - September 15, 2009 @ 12:19am

@Jimmy
oh come on dude.. ok, we get it.. you love ZFS.. long live ZFS! etc etc.. but you know.. BTRFS is moving WAY faster than ZFS.. like it or not, linux gets support from huge players in the enterprise zone (be it IBM, oracle, redhat, novell, intel HP, and the list goes on). That means more developers, more support, more tools, etc. I agree that at the current state ZFS is far more stable and all.. but that doesnt mean that btrfs wont catch up and/or even surpass it sooner than you believe/hope.

PS: btrfs is "sponsored" by oracle.. and guess what! oracle owns solaris now with ZFS! you get the point i hope..
PS2: i really like zfs.. (not in love with its license.. but still..)

Printers was really the worst example

Anonymous Penguin (not verified) - September 15, 2009 @ 12:43am

Seeing as how printers are supported by CUPS on Linux, Solaris, and OSX, and practically every other 'nix system, it really was the worst example to pick for hardware support, as CUPS is the same and supports the same printers regardless of platform (excluding some kinky nonstandard USB interface, which is unlikely to be supported on Solaris). Also last time I checked OpenSolaris wasn't available for sparc platforms and sparc drivers almost certainly aren't going to work on a PC, at least without recompiling.

BTRFS

@Penguin@Jimmy (not verified) - September 15, 2009 @ 12:58am

@Anonymous Penguin and maybe btrfs won't be as great as you think.

Some filesystem differences Comment

Anonymous Penguin (not verified) - September 15, 2009 @ 1:00am

In the "Some filesystem differences" section, I notice that you listed:

Linux directory OpenSolaris directory
/tmp /var/tmp

I may be wrong here, as I have more experience with Solaris, but, /tmp is actually mounted in swap so it is truly volatile memory. /var/tmp is usually a part of /var or / filesystem and is not volatile. And I've never seen a tmpwatch on Solaris that deletes stuff from /var/tmp.

Toy Solaris

Anonymous Penguin (not verified) - September 15, 2009 @ 1:02am

Until Solaris is as fast as Linux or have as much supported hardware it will remain a toy for anything other than on the server. I find this sad because the features of ZFS sound pretty intriguing, to say the least! It is the lack of hardware support that is the show stopper, not the lack of packages. It is nothing to recompile a software package, but if you can't get the hardware to work then why bother recompiling said software package in the first place? This has been a long time issue for Solaris, lack of hardware support manifests itself in the form of few software packages in its repositories. Until then I shall continue to use Linux!

LVM vs ZFS?

Anonymous Penguin (not verified) - September 15, 2009 @ 1:57am

It seems to me that the features that ZFS sports are very similar to those achieved with LVM. LVM can have volumes that span multiple drives, and can take O(1) cost snapshots. Coupling it with software raid (which is a pretty straightforward process in the Ubuntu Server install) even yields redundancy. The only real benefit I can see with OpenSolaris is guaranteed backwards compatible drivers. Even that is not usually an issue considering you can always backport security patches to a compatible kernel.

You are wrong

Anonymous Penguin (not verified) - September 15, 2009 @ 1:59am

OpenSolaris IS indeed available for SPARC. Check again...

Linux is for bitches and dumb ones at that

I've used Solaris for production systems which cannot go down, and must remain reliable. Great for such systems when you rely on it. However, individuals are less likely to use it, as the support for the latest and greatest gadgets is far from the support by Linux distros. Yes, there are issues for compatibility, and interface standards, but the bottom line is tha Linux will support more of my little gadgets I have around that Solaris. However, as a file server of other server, like my headless one, this is perhaps the best choice, especially now that it is open-source. Let's hope that Oracle will keep Solaris alive."

The slapdash Linux movement creates buggy, choatic, and bloated (except for distros like slackware and ones like it for the bloated part) piece of crap operating systems or distributions that is a hackers playground (hackers can easily break into it compared to the BSDs ). Linux is for bitches and dumb ones at that. If you want to use a gadget that is not supported by Solaris or BSD you can do basically two things more or less :

1.) write a device driver for it and/or software to interact with it or port the software from linux to BSD or solaris.

or

2.) Dual boot Solaris and Windows. Windows will support the gadget. I have NetBSD on one hard disk and Windows on another hard disk and I dual boot. But use windows you say ? Oh, Linux is for people who hate Microsoft where the BSDs are for people who love Unix. Which is supremely ironic since what the Linux movement is putting out nowadays is starting to look more and more like what Microsoft puts out. Linux has never been about code quality or quality. That is why Linux supports more devices and bleeding edge features than NetBSD and OpenBSD. These devices and features are often implemented as cheap fast hacks that are ostensibly made at first with the intention to implement a better solution or driver later but that never happens more often than not. NetBSD might take a while to implement a feature but once it is implemented it is done correctly. It is about quality over quantity.

It's actually pretty good

FatButtLarry (not verified) - September 15, 2009 @ 2:15am

I've run the live cd of both OpenSolaris and Nexenta. What's not illustrated in the comments or the article is that its very stable and polished.

Message dialogs, such as the one pictured "Warning mpool..." above are descriptive and don't over simplify.

Ubuntu is popular for good reason because it's availability and ease of use, but OpenSolaris was more consistent on first run.

Firefox and Pidgin are all I need to talk to the outside world. The desktop icons and Look & Feel seems more professional, and the theme is a good transition from Mac, Windows, and Linux (likely a new theme for Java).

Kudos to the author for writing this up. Criticism aside, it was a good read.

-Tres

Who cares ?

Anonymous NetBSD (not verified) - September 15, 2009 @ 2:43am

"Ubuntu is popular for good reason because it's availability and ease of use, but OpenSolaris was more consistent on first run." -- Fattbuttlarry

Who cares how popular Ubuntu is ? Appealing or alluding to that is the logical fallacy Argumentum ad populum. It is not valid reasoning. Ubuntu is popular because most people on the planet do not have much intellectual capacity to work with and they are lazy when it comes to configuring and interacting with their computer. They just want everything to work automagically no matter how much bugs, spaghetti code and overhead that brings to the table. People are stupid. Solaris and the BSDs are more stable than Linux because Linux is a nothing more than a second rate knockoff clone of Unix unlike Solaris and the BSDs. Linux is inferior.

what about dtrace?

Anonymous Penguin (not verified) - September 15, 2009 @ 3:07am

what about dtrace?

Lazy People...

Anonymous M$ (not verified) - September 15, 2009 @ 3:17am

"Who cares how popular Ubuntu is ? Appealing or alluding to that is the logical fallacy Argumentum ad populum. It is not valid reasoning. Ubuntu is popular because most people on the planet do not have much intellectual capacity to work with and they are lazy when it comes to configuring and interacting with their computer. They just want everything to work automagically no matter how much bugs, spaghetti code and overhead that brings to the table. People are stupid. Solaris and the BSDs are more stable than Linux because Linux is a nothing more than a second rate knockoff clone of Unix unlike Solaris and the BSDs. Linux is inferior."

Wow. This is the kind of snotty talk from geeks that turns people off. Let's get real. Not everybody's business is computer science. There's much that makes this world go 'round, and 99% of the time the computer is just a tool in the process. For someone who must administer a system that supports thousands of connections for an n-tiered application without crashes, BSD, UNIX & Linux based OSes can all be reliably implemented (as well as Windows Server, whether we care to admit it or not). For the average user that needs their OS to allow them to connect to the internet, send email, conduct their specific business, it seems that Windows wins with Linux trailing far behind, while UNIX based OSes seem to be stuck in planet server. It's apples to oranges. This OS war has to end. There's a place for everything, and I'm sure Open Solaris will find its own.

RE: Linux is for bitches and dumb ones at that

"2.) Dual boot Solaris and Windows. Windows will support the gadget. I have NetBSD on one hard disk and Windows on another hard disk and I dual boot. But use windows you say ? Oh, Linux is for people who hate Microsoft where the BSDs are for people who love Unix. Which is supremely ironic since what the Linux movement is putting out nowadays is starting to look more and more like what Microsoft puts out. Linux has never been about code quality or quality. That is why Linux supports more devices and bleeding edge features than NetBSD and OpenBSD. These devices and features are often implemented as cheap fast hacks that are ostensibly made at first with the intention to implement a better solution or driver later but that never happens more often than not. NetBSD might take a while to implement a feature but once it is implemented it is done correctly. It is about quality over quantity."

Really? So if I wanted to run the newest gadget I'd have to boot up windows to use it? Here I thought the idea behind open source OSes like OpenSolaris and Linux was to prove that MS wasn't needed.

BTW as for your security comment...all platforms are hackable. The only computer that is 100% secure is the one without power being supplied to it or its components.

Open Solaris

Anonymous Penguin (not verified) - September 15, 2009 @ 3:27am

I really like Open Solaris and have considered it as a full fledged replacement for my usual Linux fare. Nothing wrong with Linux, but if I had a server choice, it would usually be for Solaris. Why, yoy ask?

Solaris has been running Enterprises for years. It is stable, mature, and scalable. No, it is not as bleeding edge as Linux and does not support as much hardware. There is a reason for this and I hope it does not change. Solaris has to be and must be Enterprise ready. Many Linux distros are not nor do they have to be.

Of course there are exceptions. RedHat EL and Novell Enterprise editions should be like Open Solaris: stability first, bleeding edge second. You do not want your server bleeding edge and unstable. You want it stable, reliable, scalable, and as secure as humanly possible.

Both Linux and Solaris are very good and either should serve you well. I run a Notebook most of the time, and it is Ubuntu based. My servers are primarily Solaris and Linux. VMs make a great deal of my server farm.

apt-get is not a linux command

Anonymous Penguin (not verified) - September 15, 2009 @ 3:49am

apt-get is a debian command, it doesn't exist on non-debian distros.

Yet another real unix user

yourmommycalled (not verified) - September 15, 2009 @ 3:57am

To the poor fool running linsucks and thinks it's fast. Apples to Apples comparison 48 Sun Core/2 quad core desktops in a cluster. 24 running OpenSolaris b118 24 running OpenSuse/10. Both clusters have the Sunstudio compilers as well as Portland Group and gcc compilers. A real comparison between the linux cluster and the Solaris Cluster isn't really possible because the one of linux cluster nodes kernel panic every other day so. If I make a limited WRF run on both clusters with a 200x200 km domain with 1km grid spacing using the gcc compiler suite I get 0.79 seconds per time step under linux and 0.54 seconds with Solaris. If I use the Sunstudio compilers then linux improves slightly (0.73 seconds per timestep) while the Solaris times drop to 0.43 seconds per timestep. Linux is not faster and it does have the stability needed to make it worth running. If it wasn't for software written by a million retarded monkeys using gcc (read not a C compiler) that isn't worth fixing there would be no need to run linux.

As far as use at home my wife would rather run Mac-OS, but prefers OpenSolaris to windows and she won't even look at linux. My son an electrical engineering major sees nothing in the engineering school but OpenSolaris. He works as a IT dept senior tech intern in the B-school. They are also shifting back to Solaris after, to quote the B-school Dean, they made the mistake of switching to linux.

Support for the last gadget: Why do I give a shit about a printer that has no brains or the "modem" that has to have a sound card whistling into it to make it work? Too many of the so-called devices you are touting are windows only and designed to suck up a CPU to make it work. Why do I want it?

re: LVM, "Toy" Solaris, BTRFS

Jimmy (not verified) - September 15, 2009 @ 5:08am

@Anonymous Penguin;
re: LVM vs ZFS?
LVM is not a filesystem, it's a layer under a filesystem; ext3 or whatever you put on top of it, is not copy-on-write.
LVM snapshots require space to be set aside for the snapshot delta in advance. LVM does not let you reclaim space from deleted snaps and give it back to the FS.

Also, LVM snapshots have a severe I/O penalty.
If you snap a volume with an active database, there's a severe performance hit.

You can take lots of ZFS snapshots of a fs with no performance hit.

re: Toy Solaris
There is a lot of hardware Linux is able to use that Solaris can't, that's true. With Solaris, you have a smaller selection of devices to run on.

As far as speed and stability are concerned, Solaris is basically just as fast as Linux. There are many benchmarks to show you various ways in which OpenSolaris outperforms Linux in certain tasks.

OpenSolaris handles threading and multiprocessing a lot better than Linux in many scenarios. There are benchmarks to show, for example, that when running Asterisk, OpenSolaris can handle 10 TIMES the number of concurrent calls as Linux on the same hardware.

Solaris has DTRACE to assist in instrumenting production systems. Don't even THINK about using Linux STRACE on a database or Asterisk process (the process will commonly crash or deadlock).

re: BTRFS

BTRFs is not moving all that fast.
It was announced over two years ago and is still not remotely usable in any kernel release.
ZFS was first announced in Sep 04, and released in OpenSolaris Nov 16, and in Solaris 10 6/06 update, in June 2006, in a usable form.

ZFS development moved with blinding speed. Of course it doesn't change much now, and most updates are minor bugfixes.

But this is to be expected, this is what it means for it to be mature, it performs excellently, and does so well that it is hard to improve. Major new features mean new bugs, so a lot more time is taken before adding them.

BTRFS development will similarly slow down to a crawl, after it reaches a usable state, and the on-disk format becomes stable, or people won't really consider using it until it does...

Now try playing some media

Anonymous Penguin (not verified) - September 15, 2009 @ 5:35am

There are few, if any, media codecs freely available for OpenSolaris. So if you want to use it as a desktop distribution you'll be greatly restricted. There are some paid available Fluendo codecs, but they cost money.

Ease of use

Steve Szmidt (not verified) - September 15, 2009 @ 5:38am

Obviously Solaris is a mature product, has its pro's and con's.

Reading these comments I can't but look back at where Unices were going before 1990, which were primarily used by people in the know, who also lived and breathed computers.

Windows was catching on because of an interesting interface that was cheaper than Unix*. It also did not require an editor to make changes, the GUI promised the non geek that he too could be a "geek". Many IT "desk managers" figured that maybe they could do the IT job now when it was just a matter of point and click.

Unices were not growing but actually in a steady decline.

Then Linux came about and eventually caught on and a lot of people heard about it as an alternative to Windows and MAC. As Linux popularity grew, slowly the other Unices started to grow as well.

We hear from the hard core coders who thinks that if your O/S don't have a driver that you just whip it up. Entirely missing the fact that to most people that's only a dream.

They proclaim the superiority of their Unix and spit at Linux. Which may or may not be an accurate comparison. But Unices would still be going the way of the dinosaur, which regardless of what you think of it, makes Linux valuable. It breathed life into Unices as never before.

It created a bridge where Windows and MAC people, who's grown tired of things they have to deal with, are now looking at this curious animal called Linux.

Once they have been amazed over the flexibility and realized there is a whole other choice, some also discover the BSD's etc.

So you got to ask yourself, what do you want? Do you want to be a dying breed where the only new thing being developed is by a diminishing group of people who's running out of work? Where you are likely to be the next one to loose your job. Or maybe be the Grand Master of something that no longer matters to anyone but a tiny group? I suppose that might have some advantage to some, but most will be hard pressed to find it.

Or would it be overall better for you, and everyone else, if there is a growing interest, with more dollars being thrown at Linux than ever before? Some of those dollars, or lines of code, end up in your Unix as well.

It's kind of like the Republicans doing everything possible to scare voters. Regardless of what you think of either party, this is not winning people to the party. People are embarrassed and voting for Democrats.

The same thing happens with these "Oh, just write your own drivers and stop bitching" comments. People are being turned away as it is not what they are interested in, especially since few of them can write a single line of code to save their lives.

Talk about positive things like solutions and how you, or a specific product, can solve something. That is of interest to many, many more. It is what politicians should do, stop talking about what's wrong with the other guy and promote what you will do. That attracts positive attention.

Shady

Anonymous Penguin (not verified) - September 15, 2009 @ 6:17am

re: BTRFS, that last comment is just shady. I mean if you really believe what you've put there, I kindly suggest that you find some hard facts to back that kind of absurd prediction up. I'm going with false for that one and pretty much your entire comment.

The comment section of this article is quite a disgrace.
I mean, come on. Just read through the whole set of comments properly and it quickly becomes clear that not one of you have added anything of any value or any points of interest to this topic. It reads like a garbage pile.

The "Try Solaris, you might like it" carrot may be dangling for some after reading this article.
Instead now; I put it like this to you :
If you want to learn how to use the command line again, want to use a file system that you probably don't understand, which has features that you probably don't need/want/understand, can live without a Linux install to dual boot into and don't mind if some of your hardware "Doesn't quite work," Try Opensolaris.

It was a nice idea of Sun Microsystems to write an operating system. But if ever there needed to be a reason to have, instead employed developers to contribute at kernel.org; Opensolaris would be it.

Ctrl-Alt-Fn disabled

Anonymous Penguin (not verified) - September 15, 2009 @ 7:43am

First, OpenSolaris is not Solaris.

Second, you are on OpenSolaris desktop and need to go to the text console, say /dev/tty2. You press Ctrl-Alt-F2 and
nothing happens. Same with any Ctrl-Alt-Fn.

I commend the author for

Anonymous Penguin (not verified) - September 15, 2009 @ 8:07am

I commend the author for this article, but I'm working for some years now on Solaris, and I must say that D-Trace is by far the biggest asset Solaris can provide.
Plus now with the Oracle acquisition of Sun, we may get D-Trace probes for Oracle, and that will put Solaris as #1 for Oracle DB hosting server...

I've been playing with

Adam Jorgensen (not verified) - September 15, 2009 @ 8:40am

I've been playing with OpenSolaris on and off since 2008.05
and I've also dipped my fingers into the Nexenta jar here and there,

OpenSolaris has a lot of great features which I'm sure would be useful, but as a desktop distribution it still has a very long way to go. Things are coming along on it, for sure, but the pace of development is pretty slow in comparison to that of the linux world.

This is, no doubt, good for enterprise users. For desktop users, though, it's not so cool.

Anyway, personally I'm hoping Oracle will GPL ZFS and any other nice things in OpenSolaris so they they can be brought in at the kernel level for linux. This, in my opinion, would be best.

Enterprise IT Architect

Anonymous Solar person (not verified) - September 15, 2009 @ 9:24am

BTRFS vs. ZFS:

Try this in BTRFS - try and flip a snapshot above it's parent and delete the parent (which is now a snapshot of the child). Oh wait you can't.

Now combine the strength of VirtualBox with ZFS - beautiful - your VMs get snapshotted automatically every 15 minutes.

and add liveupgrade (pkg image-update), and you'll see how good ZFS.

Linux has nothing to compete with this

ZFS - almost there

Anonymous Penguin (not verified) - September 15, 2009 @ 9:46am

And I might consider ZFS when Sun allow you to add another new disk to a pool and expand the underlying block structure to include the disk.

I remember when all linux browser plugins installed this way, netscape 4, then mozilla. You sound spoiled, you've got no idea where linux came from, opensolaris will become polished and easy to use over time as more people get involved, as with linux.

Anyway, I've been through a lot of different OSes and each has its place. I started my linux journey with Redhat and Mandrake (now mandriva) and then moved onto Debian (and ubuntu for the desktop). Since OSX I've moved my laptop to a mac (its easier for day to day use, and has the familiar unix tools underneath). I use windows, linux, and solaris (8,9,10) at work and love the power and reliability of solaris.

I've recently moved my home file server from debian to opensolaris. ZFS is fast, easy to manage, has built in compression, the kernel CIFS is great too. I've got the machine running:
- zfs raid for storage
- rsync to backup windows machines (they run deltacopy as an rsync client)
- CIFS for windows access (and for my beyonwiz device to stream vids over the network)
- An afp server for my time machine backups and storage access (netatalk)
- Vuze in a daemon mode with webui and azsmrc for torrents
- screen and wget for other downloads :)
- coherence for a upnp media server (mainly for the ps3)
- cacti to keep an eye on other machines on the network
What else would you want a home server to do?
I'm sure if you wanted centralised auth its NIS or samba implementations could do that just as easy as linux.
My only gripe is no support for DTV tuners, I would love a myth backend for scheduled recordings, but that will come eventually.

Some of this was a little tricky to set up, but coming from something like debian potato it was no harder than that. Of course ubuntu makes all this a lot easier because people have put time into automating a lot of the tasks for you, but ubuntu just somehow doesnt seem as clean or reliable. Having said that there'll be applications where linux is better, for now I wouldn't set up an opensolaris desktop to give to someone, I'd choose the latest kubuntu, but if they wanted a backup file server to store important data, I'd give them opensolaris.

As for performance, I dont have any benchmarks other than my perception of whats going on, but I'll say that the solaris kernel does things a lot faster than the linux kernel.

Being a software engineer myself, I'd say the difference between opensolaris and linux is the engineering that went into it. Linux started out as 1 man's project and grew with community support, as with a lot of open source software you'll find a lot of horrible designs and code in there. A lot of linux was designed and written by amateurs, and in a lot of cases it shows. Opensolaris was developed by sun as solaris, I'd bet a lot more design, thought, and engineering went into it, it was done by professionals to be an enterprise level system from the start.

Re: Ctrl-Alt-Fn disabled

scorp123 (not verified) - September 15, 2009 @ 11:26am

> You press Ctrl-Alt-F2 and
> nothing happens. Same with any Ctrl-Alt-Fn.
> They have disabled text mode!!!!!!!!

That statement of your's just proves you don't know that much, be that Linux or anything else. The functionality of switching between text consoles is achieved in Linux via this little program: "getty". There are various variants. Ubuntu uses "getty", but there is also "mgetty", "mingetty" and what not. It's this little background task that provides the functionality of switching consoles.

This has nothing to do with Linux or Solaris or text mode or "disabling" the latter.

Remove "getty" from Linux and it will just behave as (Open)Solaris and do nothing when you hit e.g. Ctrl+Alt+F2 .... Or install "getty" or properly configure Solaris' variant "ttymon" on Solaris and you get the same functionality as in Linux. Voila, done.

Maybe next time you cold do some Googling before you post silly comments such as "They have disabled text mode!!!!!!!!", yes? :-)

apt-get in a linux command

Anonymous Penguin (not verified) - September 15, 2009 @ 11:27am

works on my fedora 10 box just fine

Clueless troll

Anonymous Penguin (not verified) - September 15, 2009 @ 11:41am

To quote the author: "Linux has no ZFS support in the kernel because the Free Software Foundation doesn't consider it free enough to be bundled with GPL software".

In this careless statement, he ignores two important facts.

First, it was Torvalds who picked the license for Linux and not the FSF. If he had wanted to, he could have come up with any other license for his own code. Just because he picked FSF's license doesn't make them in any way entitled to make decisions about code derived from Torvalds' Linux or responsible for what happens to it. It is completely immaterial in this case what the FSF "thinks". It is not a question of judgement but one of legal reality. And presently even Torvalds cannot change the license of Linux, as the code is no longer exclusively his, but jointly owned by hundreds (thousands?) of contributors.

Second, if anyone is to be assigned responsibility for the license incompatibility between ZFS and Linux, it is Sun. If Sun had released ZFS under a GPL2-compatible license, it would probably have made it into Linux, making SunOS irrelevant. There were no legal obstacles preventing them from doing so. If anything it was an conscious decision on Sun's behalf to make their ZFS legally incompatible when they released the code behind Solaris.

Clearly the author seems to bear some sort of grudge against the FSF for whatever reasons, which he is entitled to. But making use of an otherwise informative article to spread such FUD and vent personal feelings makes him nothing but a clueless troll.

Re: 3rd issue ... Grub ... doesn't understand the ZFS filesystem

thomas.b.edgar@gmail.com (not verified) - September 15, 2009 @ 1:25pm

"A third issue is that the standard Grub version that comes with Linux distributions doesn't understand the ZFS filesystem. So when you install OpenSolaris first and then your favourite Linux distribution, you can't boot into OpenSolaris anymore. The solution is to first install Linux and then OpenSolaris, and add the section for your Linux distro to Grub's menu.lst in OpenSolaris."

Actually, you can setup the grub on your Linux Partition to boot your OpenSolaris Partition (mine is on the 2nd Primary Partition):

The real thing

The real difference is dtrace, also have a look at Fishworks, interesting stuff

OpenSolaris Evangelist

Brian Leonard (not verified) - September 15, 2009 @ 2:43pm

A fair review. One minor note, as of the 2009.06 release, the pkg search command no longer needs to -r (remote) option - it has been made the default. So now it's simply 'pkg search foo'

Regards,
Brian

Thank you, Great Summary!

Anonymous Penguin (not verified) - September 15, 2009 @ 3:25pm

This is one of the best articles of this type I've read.

Thank you!

Appreciate the summaries

OS User / Tinker-er (not verified) - September 15, 2009 @ 3:39pm

Appreciate the summaries that the author used to do just like the title said, "Discuss OpenSolaris from a Linux user's point of view".

As usual, sadly, with *nix comments/discussion - it's obvious that we'd eat our own young before applauding the freedom we have to use (and not use) the various works put out by others.

Thanks for the article.

ZFS main compelling feature

Anonymous Pidgeon (not verified) - September 15, 2009 @ 4:12pm

I run RAID-1 for my important data storage, and the most interesting compelling feature from OpenSolaris is ZFS RAID-Z. It really is the next generation of RAID-1,RAID-5... All those are old hat and can't use space very efficiently, can't self heal and have restrictions (same size volumes, you lose two drives on RAID-5 you are toast). Not saying ZFS is perfect, but it is the next stage in evolution of redundant file systems.

BTRFS has some of the features of ZFS but none of the RAID-Z type features. To me it is really just a clean up and consolidation of features that are piece-meal in all the other modern file systems supported on linux (eg. JFS, reiserfs, ext3 and XFS). Does it really add anything new? No, it is an incremental step beyond but nothing ground shaking. RAID-Z on the other hand is new, different and powerful.

@AnonymousassNetBSD

Anonymous osx (not verified) - September 15, 2009 @ 4:33pm

I'm not real clear as to what you are saying there, as I am a human being, and apparently lazy, stupid and lack intellectual capacity...
You obviously are intelligent and very well-spoken for a crustacean, but I am having difficulty understanding the Linux is for Bitches comment. Could you clarify exactly what you mean, in layman's terms. Thank you so much.

ps. I found this write-up informative and the opinions expressed I found to be relevant, well-presented, or otherwise humorous. Thanks.

IBM vs. the Penguins

Anonymous Penguin (not verified) - September 15, 2009 @ 6:18pm

Many moons ago, DOS attempted a takeover of the IBM mainframe. IBM almost drowned like a skater on thin ice. It went into hibernation and rearchitected its mainframes and bit slice OS's to support multiOS architectures and virtualization.
Now after years of hibernation IBM has emerged with Linux as its future and its mainframes capable of running more than 32000 virtual servers.
The server farms are where the future of WebServices 2.0 is.
Can OpenSolaris run on IBM mainframes in a virtualized world? Both Linux and Solaris are leaders in the Unix world - may the best man win and take IBM.

Ahhh, flamewars...

Anonymous Penguin (not verified) - September 15, 2009 @ 6:26pm

Ahhh, flamewars...

What is it with Linux people?

Anonymous Penguin (not verified) - September 15, 2009 @ 6:57pm

In run it. Like I run Linux, and many other operating systems.

A good solid system. Always worth a praise or two -- no matter how much of a Linux devotee you might be.

(But I learned long ago that hostility, ill-will, and antagonism have always been essential parts of the Linux culture, and thus expect many more flames, trolls, and fanboys to this thread.)

And BSD people

Anonymous Penguin (not verified) - September 15, 2009 @ 7:19pm

But apparently also some BSD people have forgotten their usual politeness, academic style, and dry humor at most. Shame on you.

Very nice article

Anon Geek (not verified) - September 15, 2009 @ 7:44pm

I am a Linux user, but I am interested in trying OpenSolaris. This article provided food fort thought and a few topics to Google, thanks.
As for some of the comments regarding Ubuntu vs OpenSolaris speed, origins, Linux vs Unix, nitpicking, who cares!?
Cutting edge apps, toys and gadgets like Compiz are old hat now, we just want a stable Linux with a Flash enabled Firefox browser which doesn't crash every other page.
I too agree that trying to provide a Windows clone for muppets has made Linux unstable and bloated.
Maybe xBSD's or OpenSolaris are a viable option for those who haven't been brainwashed by their distro's community?

I don't use Linux because of

Muzer_cbatli (not verified) - September 15, 2009 @ 8:14pm

I don't use Linux because of speed. I don't use Linux because of stability, or security. I use it for three reasons:

1) It is much easier to develop on than Windows, and in general, I prefer the developer tools, from the IDEs, to the small things like file managers that have terminals that follow you around.
2) The default applications have many more features than the ones on Windows, and I'm not prepared to trawl through pages and pages of dodgy shareware to find a gem. If there's an app Linux doesn't have, I grab it from the repo. Simple.
3) I don't have to bother setting everything up. I currently have the confidence to just go out to a shop and buy and piece of hardware I like, and know that in some way or another, it will be supported. Does it have a broadcom wifi chip? No problem, use b43, wl or ndiswrapper. Does the printer not have a driver in the default installation? No problem, I'll simply find a PPD for it. Call me lucky, but so far, I haven't had any problems with a single piece of hardware in Linux. In OpenSolaris, I highly doubt this will be the case.

Enough with the fighting an non-info

A. Nony Mouse (not verified) - September 15, 2009 @ 11:00pm

This is in response to many of the trolls, rants, and postings with inaccurate info.

OpenSolaris is not Solaris.
The difference between them is much greater than the difference between Fedora and Red Hat EL.

Solaris started on SPARC, then was ported to x86 (yes, multiple times, but that's another story).

OpenSolaris started on x86, and was only recently ported to SPARC. The SPARC version does not even have a bootable CD yet, and you must use an x86 OpenSolaris system to install the SPARC version over the network.

OpenSolaris is much newer and although it shares the kernel with Solaris, the package management system is all new (and a huge improvement).
The OpenSolaris user experience is very much like Ubuntu, as most of what the user interacts with consists of the same GPLed environment.
I've been using Solaris/SunOS and Linux since '92, and was astounded at the polish when I first loaded OpenSolaris.
While there are a few pieces of hardware that aren't "supported out of the box", like the WLAN driver on a Dell D800, a quick trip to the HCL will give you instructions on where to get the driver and how to get it working.
OpenSolaris is distributed on one CD-ROM... if you want a small installation, you can easily have one.

OpenSolaris uses the concept of network repositories, just like a yum repo, or an apt-get repo. This is an enormous improvement (for the end user) over Solaris as it allows you to point your machine at multiple repos, just like in most modern Linux distros.
They hired Ian Murdock for a reason, and he's done a fantastic job to this end.

Solaris (the AT&T Unix derived one) is actually the same age as Linux (SunOS (4.x, the BSD based one) is much older, and no longer exists).
OpenSolaris is just over 1 (one) year old.

Considering the very young age of OpenSolaris and how far it has come already, I can't see how anyone who actually has used Linux for more than a couple years can sneer at it.
It is clearly ahead of distros from only a few years ago, even though Linux has been around since '91!
Check out the reviews on Phoronix.com (a great resource for Linux and Solaris users) for details.
For one, I would love it if Ubuntu had OpenSolaris's network manager.

The discussions and article have barely scratched the surface of ZFS... you really have to use it to understand how revolutionary it is. It is not just another filesystem... it utterly destroys the concepts that you think you know. RAID - gone. Partitioning - gone. LVM - gone. FSCKing - gone. Waiting for filesystems to be created - gone.
Sun actually did ZFS a disservice by naming it Z"FS" as it diminishes what it really is - storage virtualization.
I haven't seen it written anywhere quite this way, but the way I usually explain it to people is: Everything happens at the filesystem layer. In RAID, if you need to resync, you need to resync every byte on the disk... a very time consuming process if you have 1TB disks. In RAIDZ, you only sync the data and metadata. If your disk is 50% used, you're only syncing that 50%!.
If you need to create a new filesystem, just zfs create rpool/filesystem and it's done... as easy as mkdir! Where does the space come from if you didn't partition? The pool! All space is dynamically allocated from the pool, although if you want to put quotas or reservations on some, you can and it's trivial to do. You don't have to think about designing your filesystem layout... "How much do I need for /, /var, /home, /opt... and what if one gets low on space?!?"
Making a huge upgrade to your system? Use LiveUpgrade to create an "alternate boot environment" which is essentially a bootable snapshot of the root filesystem. Why? So if everything goes sideways, recovery is as simple as a reboot (chosing the previous BE). It is actually as simple as I describe it... in Solaris. In OpenSolaris it is flat out automatic!

BTRFS is still a fetus.
ZFS was born 5 years ago (only Sun knows how long its gestation period was), and has many features that BTRFS can't/doesn't/won't. I hear the "but Linux has BTRFS!" argument all the time and the people who bring it up do not understand what ZFS is at all.

DTrace is flat out amazing, I've only scratched the surface of it myself and I've already blown the minds of others by doing analysis in seconds or minutes that would have taken them hours or days (speaking specifically of WebSphere App Server in this example).
Strace and Ltrace are not even remotely related... they are closer to the ancient Solaris truss command. Those all work in userland at the system call layer.

Another thing Solaris and OpenSolaris have going for them is the near elimination of the old run-control (init) scripts. I say "near", as they are still supported if you need 'em. The replacement seems odd at first, but is phenomenal. It is configured via XML and allows for dependency based startup of the entire system. The Linux distros are struggling with modified versions of init trying to get them to do something that approaches the bare minimum of what Sun's implementation (SMF) does. Imagine that apache is not running and you want to know why... simply run svcs -xv apache and it will tell you exactly what dependencies are not running so you can fix them. If it is not a dependency, but the app has failed, it will tell you where the log is so you can view it. Yes, every single service (equivalent to an rc script) has its own startup log file!

Zones should be expanded on, as they are an amazingly light weight virtualization method. Oversimplifying it drastically, all zones run under the same kernel, so you are not loading 27 kernels for 27 VMs. Each zone has its own scheduler, so it is unaware of processes, devices, filesystems, etc. outside of its own. The global zone can see all processes within them (distinguishing zones from other virtual machine concepts here).
Branded zones are some impressive magic... they allow you to run different environments (Solaris 8, Linux, etc.) inside a zone. Zones can be brought up and down easily, and moved from one machine to another as well.

All of these technologies are very tightly integrated together. For example, if your zone is on ZFS, you can clone your zone and it automatically uses the system's zfs clone functionality. This means it takes seconds to duplicate an entire virtualized machine!

Google "time slider" and watch the video if you want to see something slick and GUI that Linux won't have in the forseeable future... and yes, this is a desktop user interface thing. I know it was mentioned in the article, but you really need to see it in action to appreciate how elegantly it was done.

Finally...
To the BSD-bigots:
YOU are the reason I started using Linux back in '92.
You are your own worst enemy.
I asked a coworker about reasonably priced Unixes for the PC back then, and he pointed me to 2 newsgroup heirarchies... comp.os.linux and comp.os.*bsd (I think it was 386bsd back then, before they renamed it freebsd). When I saw the nasty, rude, elitist attitudes of the BSD-ers contrasted with the "here's how you do it, and by the way - here's a link to the HOWTO" attitude of the Linux crowd, it wasn't a tough decision to make.
Oh, and Mac OSX is derived from NeXTOS (Jobs's other company that failed), which has BSD roots. Common roots with FreeBSD and NetBSD, but it did not come *from* either one of those.

To everyone: I love Linux as a desktop, and have actually been exclusive to Linux since '92 when I got fed up with windows 3.1 and switched to MCC, then SLS, then Slackware, then RedHat, then Fedora, then Ubuntu (when Fedora started going in a direction I didn't like and I was sick of having to build my own kernels to fix bugs).
In my opinion, OpenSolaris is quite ready for the typical windows end-user, but it's close. Those who like to develop or are used to having to manually tweak things (like in Fedora) really should check it out, as it is absolutely fantastic for someone who wants something nice that does take a bit of brains to tweak. If you want to watch or rip DVDs, forget it... at least for now.
With that in mind, don't count it out either. I'm excited about the next release as each one has been a huge leap over the previous.