July 4, 2016
By: gotwf

The Challenge To Be Free

Happy Independence Day USA!

Escaping Systemd

It’s no secret that I am not a fan of the systemd virus that has infected Linux. A polished turd is still a turd. Now that systemd has spread beyond hive mind sycophants easily infatuated by shinny new things to folks charged with managing server farms, frustrated syadmins and engineers see systemd as the steaming pile that it is and are looking to escape the stink.

Some of us are astute enough to know when the emperor isn’t wearing any clothes and no amount of marketroid speak or fascist bullying are going to convince us otherwise. Indeed, I have heard confidential insider whispers that RHEL7 is experiencing the slowest uptake of any release yet. Spare me the accusations of FUD and your ad hominem attacks. Get your own blog if you feel such need as I have better things to do with my time than fence with systemd shills. Suffice to say, should be interestng to see how that all plays out. I’m voting with my feet. This article is presented in the hope it may be of value to systemd escapees interested in ZFS.

Alas, systemd is not Raleigh’s first astroturf campaign and no expense was spared on this one. Systemd free havens are few and far in between. Refugees are left with two basic approaches:

  1. Surgical removal of systemd from their current distro of choice and maintaining a private source tree.

  2. Changing platforms.

The first requires far too much work, and ever increasingly more effort as the systemd cancer continues to spread far beyond it’s initial scope as a replacement for the aging System V init and consumes subsystem after subsystem in it’s myopic quest to kill Linux as we know it under the thinly veiled pretense of reinventing it as something "better". Holding fast to my belief that resistance is not futile, I have been spending some months exploring the second option.

Criteria

  1. No systemd virus. Duh…​.

  2. Support for Open ZFS as a root/boot file system.

  3. Real FOSS based community. Technical excellence and elegance should trump political correctness, commercial mandate, developer ego, etc. Sadly, processes, attitudes, and passions which gave birth to superior open source software that made corporate houses sit up and take notice in the first place have been co-opted by the invasion of big money players with ulterior agendas and their stables of hired guns. I am not so idealistic nor naive to belive that money doesn’t matter. It just needs to not be in the driver’s seat else we wind up being force fed tripe like systemd.

  4. Lean, mean, efficient, reliable, secure package management. Preferably flexible enough to support both binary and source installs. This is a big kahuna that makes or breaks long term relationships.

  5. Timely security updates. Securing one’s systems from being pwn’d by 31337 h4x0rz is challenge enough without stale, insecure software increasing your attack surface.

  6. Up to date, comprehensive documentation. This is a tough bill to fill. See FreeBSD Handbook and the Gentoo Wiki for examples of jobs well done.

  7. No vendor lockin intent on snaring me into someone else’s idea of "the one true Linux to rule them all". I prefer investing my time and energies building to suit from a solid base foundation rather than trying to figure out how to rip out bloated bit rot that I neither want nor need.

  8. I am comfortable on the command line and consider going to mouse to be a cache miss. Gui’s are okay as an option and may facilitate discovery but I eschew gui mystery clickery and relying on self proclaimed "ui experts" to have gotten it right.

  9. I drank the DevOps Kool-Aid several years back and have since come to prefer rolling releases over the traditional blessed releases model incorporating massive updates.

The Real Deal: Unix

While I prefer to stick with Linux, I am not afraid to explore other options. Considering ZFS is number two on my list, one may argue the best place to look is beyond Linux. So let’s get on with it.

FreeBSD

I used FreeBSD both server and desktop side from circa 2.x through 6.x releases. Indeed, FreeBSD is where I first learned of, and began my exploration of, ZFS. Realizing the revolutionary awesome sauce that is ZFS, I jumped ship to a then nascent OpenSolaris where ZFS was a first class citizen and I could access the latest and greatest without waiting on FreeBSD devs to port. Alas, Scary Larry & Co. took over Sun Microsystems and killed off many of it’s FOSS projects. Poof! OpenSolaris was no more.

That was then. This is now. Well, not a whole lot has changed. FreeBSD still has excellent docs, timely security updates, and offers precompiled binaries via their package system as well as a source based ports system that facilitates building and managing packages that you either want or need to season to taste. Healthy, robust communities spanning irc, mailing lists, newsgroups, and forums. FreeBSD offers an excellent platform for ZFS and sports native ZFS on boot/root capabilities built into their installer. Like anything, it’s got it’s own quirks, but if you’re looking for a solid platform for ZFS one could certainly do much worse than FreeBSD.

Be all that as it may, I experienced a "been there and done that" feeling about FreeBSD and found myself feeling a bit like a lover spurned. Perhaps due to less than rational vestiges of angst from the dissent leading Matt Dillion to fork DragonFlyBSD and the ensuing protracted fiasco that extended through the 5.x and 6.x series. With that saga behind them, FreeBSD today reaps the benefits of those decisions. But, ho man, the growing pains it took to get there!

OpenIndiana

Enter OpenIndiana, the OpenSolaris community’s effort to keep a free and open Solaris descendant alive and well on the desktop. The nature of Sun’s upstream gate processes made this a slow and arduous journey. I watched with interest for a couple years before giving up on it about the time Alasdair announced his resignation as project lead.

Indeed, I’d long thought OpenIndiana dead when I saw mention to the contrary on #zfsonlinux so I checked it out. It seems to have survived, and may even be thriving now that it’s thrown off the proprietary toolchains that presented a high bar of entry to open source developers. OpenIndiana has adopted a rolling release model, with their Hipster Branch being where the active dev action bits are dessiminated into the wild. Being Illumos based, it sports native goodness such as ZFS, Zones, Dtrace, Crossbow, Time Slider, etc. The OpenIndiana Wiki has also gotten some love. Yeh, haw!

What’s not to like? Well, I never was a fan of OpenSolaris' IPS package management system. Yes, it does a nice job of managing updates, grub, and boot environments. However, IPS repositories tend to be stale and limited in their offerings and IPS is slow as molasses in January. The calloused manner in which Sun and Ian Murdoch pushed it down an unwelcoming and betrayed community’s collective throats still leaves a bad taste in my mouth. Irrational, I know, especially as both are now deceased. I’m not alone in being less than keen on IPS and other Illumos compatible options have seen uptake by OI users, primarily SmartOS’s pkgsrc based pkgin, which offers a more comprehensive and up to date selection. It’s also a lot faster.

Another nit is that OpenIndiana ships with a customized Gnome2 desktop. I’d used all the major DE’s at one time or another but was on a highly customized roll my own OpenBOX setup when I switched to OpenSolaris. I was loathe to return to Gnome, but after several months use I came to appreciate it. Being familiar with Gnome2’s ins and outs was also a good thing when it came to corporate gigs. After Snoracle killed OpenSolaris I tried for several months to like Gnome3 on Linux. Alas, I never could. The better part of a year elapsed before I finally decided that continued investment in adjusting to Gnome3 was just plain stupid. The search for alternatives led me to old haunts and new, the cold slap in the face being just how much command line commando proficiency I had lost by having given into the temtations of lazy clickery. Still, while an undesirable, Gnome is not a deal breaker for OpenIndiana. Especially as there is experimental support for Enlightenment, which would be my WM/DE of choice if I wasn’t into Emacs and groovin' on StumpWM. Of course, one can also always roll their own. See criteria #7 and #8 above, however, for why I am less than keen on this.

OmniOS

OmniOS is another Illumos based platform targeting the server sector. Most of the goodness outlined above in OpenIndiana is applicable. OmniOS also sports a cool dragon logo. Docs are slim to non existent but do appear to have improved since my last visit. My read is that folks attracted to OmniOS already have Solaris expertise and just don’t need them. Hence there has not been much of an itch, and apparently even less scratchin'…​.

SmartOS

Yet another Illumos based offering native ZFs, DTrace, Zones, Crossbow, etc. sweetness. SmartOS was born to scratch Joyent’s itch for a hypervisor platform to replace Solaris post Snoracle. Several former Sun Microsystem guru’s are in Joyent’s employ and SmartOS lives up to its name. If you want to build a cloud, SmartOS, Manta, and Triton should make the short, short list.

The SmartOS Wiki used to be reasonably good. Now seems dated and in dire need of some serious lovin'. I think the expectation is that you will go whole hog for the SmartOS, Manta, Titon trifecta and either be packing enough in house expertise or pony up for Joyent training and support.

Joyent was recently acquired by Samsung The formerly separate smartos.org site now redirects to a a joyent.com subpage. While Joyent has made much of open sourcing their products, I kind of get the feeling SmartOS is FOSS in name only these days and serves more as a gateway drug to Joyent’s commercial offerings.

Circa 2005 I had a dream of building a cloud so stuff like SmartOS catches my fancy. Presently I am looking for a workstation platform though so SmartOS is definitely out of scope ;)

Tribblix

Peter Tribble has an Illumos spin with a 'retro' feel to it but based on modern components. SPARC support is experimental. Tribblix does not use IPS. Package management distributes software as SVR4 packages. This system does not handle dependency tracking per se and hence makes use of software overlays. As of yet Tribblix is not available as an installable live usb but you can take the iso for a test drive in Virtual Box. Methinks there’s some real potential here for appeal to Slacware Linux afficiandos looking for a native ZFS experience.

The Upstart Whippersnapper: Linux

Alas, non of the above really float my boat. I never was terribly accomplished on OpenSolaris and the ensuing decade has not helped. Although certainly worthy of the effort, I am reluctant to invest time learning another platform at present so I turned my scrutiny back to Linux. I’m discounting the <insert Big Name Distro here> spinoffs attempting the surgical removal route. Sigh…​ systemd bully tactics have resulted in precious few alternatives. [1]

Gentoo

Anyone who’s been around Linux for any length of time has heard about Gentoo. And with good reason. Great docs are complimented by expansive community support via irc, forums, and mailing lists. Several ZOL devs use Gentoo as their platform of choice, so Gentoo is one of THE places to be for ZOL support. Gentoo user Fearedbliss maintains a ZOL overlay and stable binary ZOL packages. Gentoo’s Portage system let’s me tweak and tune my build to obsession. No reason not to use Gentoo presuming you have a reasonably fast processor for crunching all that source code. Alas, defective UEFI firmware bricked my Xeon box so I’m still on the hunt for alternatives for my aging Opteron boxen.

Slackware

Explored Slackware in days of yore. Never really did grok the attraction. Ditto my recent revisit. Documentation leaves me wanting. Slackbook is freely available but dated. Interested parties may want to hit the 2012 beta revision. Community lives at LinuxQuestions.org. You want to build and manage everything the hard way? Inferiority complex you need to compensate for? Slack is your platform. Yes, I know about slackbuilds, etc. Could I use Slack? Yep. Do I want to use Slack? Nope.

Alpine Linux

Alpine Linux targets the musl crowd. I don’t code C but alternative compilers piqued my interest back in my OpenIndiana days as I saw much discussion on the lists about gcc alternatives when they needed to get off of the old Sun Studio. If you’re into arm/embedded stuff Apline Linux warrants a gander. I didn’t actually test ZOL on this one. Being musl based I’m guessing you may encounter more issues than the more mainstream glibc based distros. I, am a Gnu Emacs user, however, which has yet to be ported to non glibc worlds. At least that I am aware. Nor am I willing to give up my Nvidia drivers. Maybe, someday…​.

Ubuntu

Ubuntu stood the "btrfs as the defacto next default file system for Linux" prognosticators on their heads when they announced baked in support for ZOL in Ubuntu’s upcoming 16.04 LTS release. Now that Xenial has arrived I have noted an influx of Ubuntu users to #zfsonlinux, as well as increased ZOL interest on channels such as #archlinux where not too many months ago mere mention of ZOL mandated a flame retardant suit. ZOL is gaining traction with the masses. Ubuntu is systemd based, however, and not for me. I mention only as one last option because I suspect/hope ZOL interest and popularity may motivate Ubuntu to rethink their systemd decision [2]. If you’ve read this far, don’t care about systemd, are more of a novice user and/or favor gui clickery, Ubuntu is worth consideration.

Verdict?

If you’re looking for an all purpose platform for ZFS, you could do much worse than FreeBSD. BSD’ers don’t get caught up in silly license war semantics and take no issue with the CDDL as an OSD license. Hence, OpenSolaris goodies such as ZFS and DTrace were ported long ago and have been a stable part of FreeBSD’s releases for years now. Groove on it.

If you’re looking to gain some familiarity with an OpenSolaris descendant, and/or want to run a robust sever grade Unix on your desktop, check out OpenIndiana.

Need a web farm or a home NAS? Already familiar with Solaris? OmniOS is your ticket. Need a NAS, not familiar with Solaris, and want gui clickery? Perhaps the FreeBSD based FreeNAS would be up your alley.

Just love Linux and prepared to roll up your sleeves? Go with Gentoo. Although ZOL development has maintained an impressive track record of catching regressions prior to releases, ZOL has yet to reach 1.0 stable milestone so you may need to deal with a few bumps in the road. #zfsonlinux is very welcoming and a great resource for getting help, so don’t be afraid to jump into the Gentoo ZOL pool.

As for me? Heh, none of the above. I’ve got another ace up my sleeve, ready for further exploration, for which this article serves to set the stage. Stay tuned.


1. Subsequent to publishing this article I found another Escape from Systemd article, which provides a more comprehensive roundup of systemd free Linux distros. Some in this list likely warrant further investigation. I am a perplexed as to why my identical working title did not turn up this hit before I published. Eh, I guess the more the merrier.
2. It seems I am behind the times in the war between the unix way and systemd, as the Ubuntu Community has already forked a hybrid, UbunutuBSD, sporting a FreeBSD chasis with an Ubuntu 15 userland. Beta yet but this may become the platform of choice for Ubuntu users looking for a native ZFS goodness. Personally, I’d just use FreeBSD.
Tags: roundups zfsonlinux illumos gentoo archlinux