2016-07-23

Linux Anniversary

So checking the calendar, it looks like this week marks my one-year anniversary of keeping the same Linux distro on my laptop. My how the time has flown.

I don't really hop distros much. I don't chase every new bell and whistle that the industry plays and I don't really find much satisfaction in installing a new one every once in a while to kick its tires and see if it's right for me. I'm old-fashioned. I like to stick with what works and I don't like operating systems that continually see fit to nag me, for whatever reason, for better or for worse.

So a little over a year ago I found myself in need of a new laptop and I decided to try a new OS to go with it. After toying around with an Arch install, I grew weary of getting twice-daily notifications that I had new packages to update. The package manager, awesomely named "pacman", was a constant reminder that every day is Patch Tuesday when you run Arch. The high frequency of installing system updates with a tool called pacman eventually made me want to wakka-wakka-walk away from Arch and never look back.

If you need the latest and the greatest, as stable or as buggy as it could be, Arch is for you. Arch would routinely give me the bleeding-edge latest Linux kernel, with all the gooey new features therein. This would, naturally, break my carefully-compiled kernel modules, like spl and dkms, which I desperately need to use the Linux version of ZFS, a critical component in any OS that is going to store data for you. So if you want to use your ZFS zpools, you need to re-fetch and recompile your ZFS kernel module and all its dependencies every time there's a new kernel update in Arch, which seemed to be about once or twice a week. You are dependent on the upstream package maintainers to update their packages to fit the new kernel whenever it comes out. Maybe they're quick about it. They usually are. You're obligated to perform this upgrade regardless. Only then can you get your data.

No thanks.

So after about five weeks and six or more spontaneous, upstream release-driven rebuilds of zfs.ko, I went looking for a more pedestrian Linux distro, one that wasn't exactly from the stone age but, if the kernel was a year or so old, I wouldn't mind it too much. I'd made it over a solid month using Linux as my primary OS, and I was hoping to repeat the success with another Linux distro, a calmer one, and keep it for maybe two or — dare to dream — three months straight.

A year later, I think I found a winner.

My software needs are rather basic. I need a browser, OpenSSH, Perl, and a compiler. If there's a media player, even better. I've had considerable success with several cross-platform utilities like VLC and f.lux. I've even started liking some Linux-only applications, like the Firejail process sandboxing tool. As someone who's used either Windows or OS X on my laptops since back when PCMCIA cards were ubiquitous, losing the safety net that is The Hell You Know was a little intimidating. Fortunately, there are some really user-friendly Linux distros out there. I am not lacking for the essentials: I can watch YouTube, I can stream live video presentations on twitch.tv, I have a spreadsheet application to help me add two columns of numbers together, I can compose my thoughts in a text editor. ZFS works and I don't have to rebuild it every six days.

I'm not a huge fan of Linux, in general. It's not a bad OS per se, but there are a lot of caveats to be aware of when literally anyone can fork anything at any time, whether they know what they're doing or not. PulseAudio and the systemd debacle is enough to turn me off the OS entirely and I don't have a good response for it yet, since I haven't found a solid distro that takes the appropriate stance against pervasive, invasive, incompetent system utility restructuring. Yet I must admit that, as a whole, this last year of keeping Linux on my laptop has been a resounding success. I'm not missing anything, which I feared I might. I was expecting to have to relearn a lot of my daily workflow. I was expecting to have to learn how figuratively write with a non-dominant hand, but no such retraining period has had to occur. I have a Windows partition I use (very) infrequently when I want to run a certain Steam game or two, but other than that, everything I use on a daily basis: browsers, git, GPG, Perl, VLC, you name it, are present, accounted for, and they do what they did on other OSes. I have had to spend a little time learning how to tweak the Linux desktop UI in novel ways, like turning the Caps Lock key into a Ctrl key as God and nature intended. This is not an obvious fix, but there's a lot of documentation you can find online and, as a bonus, you can set this up at login time without needed to enlist the use a custom binary you have to download and install to do it for you.

In the future, I'll need to figure out if I want to upgrade to a systemd-enabled distro. I worked with Arch for five weeks last year using systemd and it didn't suck too badly, but I have a moral dilemma to contend with as well as the purely technical issues that that init system brings. Long-term support distros are a perk, they give me breathing room. This is nice, considering that one of my primary motivations for moving away from a proprietary OS was the year-long malvertising campaign of Windows 10 to keep upgrading your device against your wishes. It's my laptop. I want to control it. And a decent Linux distro doesn't pester me to get the new version as soon as it comes out, which is nice.

For the record, I started this adventure by trying PC-BSD, a FreeBSD-based GUI-friendly OS, but it had a significant showstopper in its disk partitioning scripts in the 10.2 era. Maybe it'll meet my needs in the future, right around when systemd Trapper Keepers up the last standing free Linux distro.

No comments: