Debian Linux 9.1 (Stretch)
Linux has become a necessary tool for me as both a systems engineer and developer. Linux is an ideal development platform in many respects, as it includes tools, shells, and apps that are much more suited for out-of-the-box software development than a stock install of most mainstream commercial operating systems like Windows and macOS. This is why I felt it was time to write an article about my recent switch from Linux Mint to Debian. Throughout my adventures in computing, I've tried many different Linux distributions over the years. I personally tried the suggestions made by other bloggers and linux journalists. Before trying Debian 9.1 (Stretch), Debian was not necessarily an old favorite OS or a newly discovered gem, but now it seems to makes the most sense over other distributions.
My Linux Timeline
I have used various Linux distributions since the mid-90s. In Linux's early years, I was a bit resistant to the mayhem that made up early distros. I remember the RPM dependency hell of RedHat or Slackware's eccentricities of manually compiling all software from tarballs. In the beginning, I was actually somewhat anti-Linux. I was more of a fan of FreeBSD, BSD Unix derivative. I found that FreeBSD was generally faster, more stable, and better documented than most other Linux distributions. The FreeBSD Handbook offered complete, organized documentation of every aspect of the operating system. FreeBSD didn't feel like a morass of desperate utilities, but like a tightly integrated environment. It's always made me sad that FreeBSD never reached the same wide adoption and fanfare of Linux because of legal issues, internal project politics, commercial adoption, and funding, and stuffy neckbeards that were not always friendly with the less than adept.
As a result, I've been forced to run various iterations of Microsoft Windows on laptops and desktops because of hardware support and stability. Day to day, I need an operating system that gets out of the way and just works. Linux, regardless of distribution, is a proven server platform; however, when it is installed on a desktop or laptop, it is rarely a flawless experience. Still, every year I take time to try different Linux distros to see if the level of stability and hardware support beats Microsoft and/or Apple. Things have definitely improved over the last 20 years. It is now possible to enjoy full hardware support and not have to complete complicated post-installation tasks for things like hotkey mappings, backlight controls, and laptop fn-key functions. Driver detection problems are barely noticeable, but they also have not entirely gone resolved. Unless you've perfectly matched your system internals with trusted compatibility guides, prepare yourself for having scour dmesg to resolve some issue.
So why Debian? Debian, like FreeBSD, it is packaged to be a complete OS. It's not necessarily designed around a specific collection of software like Ubuntu with Unity or Linux Mint and Cinnamon. Most Linux distributions are big on looks, tweaks, and forum-based support. while being low on documentation and stability.
Of all the distributions that I've worked with, I am most familiar with managing Ubuntu-derived and RedHat-derived distros. But, over the years, Canonical has lost its way, and RedHat is more interested in their commercial enterprise customers. The overall philosophy of making Linux easier to install and use has led to profit-driven decisions, the introduction of adware/bloatware, expensive support contracts, etc. Specifically, Ubuntu has perpetually become more resource intensive and less stable. Each major revision requires a substantial learning curve just to figure out how to enable/tweak certain parts of the OS successfully. In an attempt to bring a more refined approach to Ubuntu, Linux Mint recently became my prefered distribution. Mint offered an alternative to the adware/bloatware, Unity desktop environment, stability, as well as provide a "it just works" installation. While Linux Mint is beautiful, it still carries most of Ubuntu's problems under the hood, especially when it come time for upgrades between major versions.
Ubuntu, Linux Mint, and many other popular distros are based on Debian Testing. Debian has three branches of development: Stable, Testing and Unstable. The main difference between the three branches is the age of the packages included. Ubuntu and its derivatives use Debian Testing as a baseline for their respective distributions. This allows Ubuntu-based distributions to strike a balance between truly unstable alpha-grade software and the slightly out of date stable software library. For me, I'm at the point in my life where I really don't care about having the latest software, and I'm rarely using bleeding-edge hardware. Most of my computers are 3+ years old and work just fine for me. The older I get the more I loathe the expense of upgrading hardware. I care more about great documentation, stability, ease of upgrades, and a spry, responsive system.
That is exactly why Debian Stable is so attractive to me now as an OS. As a rolling distro, Debian can continuously be updated and upgraded with relative ease without having to endure a periodic reinstallation of the operating system between major versions. This ease of upgrades is also something that Debian shares with FreeBSD. Debian Stable works great on a wide variety of old hardware and it's much faster than Ubuntu derivatives and has a much smaller installation footprint. Debian is one of the few Linux distributions that still supports small CD-sized or smaller network-based installations. Again, this is a shared feature of FreeBSD.
I really like how after returning to Debian after nearly 20 years, I find that many of my old gripes have been addressed. For example, the Debian installer used to be capable, but advanced configuration wasn't necessarily through the installer. Also, I remember when the installer was only available in a text/curses based mode. In comparison to Ubuntu, the Debian installer offers a much more advanced GUI installer. For years, Ubuntu's installer has been very basic. While this is great for a new user to Linux, it's not the best thing for an experienced users. In fact, the trivial installer just creates more work for me post-install since I can't pick the correct options to prior to installation.
In a matter of minutes, Debian's installer provided a customized installation of Debian with a functional desktop environment based on my preferences. I do not have to deal with confusing Ubuntu Spins or download specific media to install what I want or need. Instead, one installer delivers the flexibility that I need to end up with a fast, working system. After installation, Debian's APT package manager can be used to update and upgrade my environment.
During the course of writing this review, I decided to really test my patience and perform an installation of Debian on an old MacBook Pro laptop from 2010. With all of the non-standard and proprietary hardware on the typical Apple laptop, installing Linux on this laptop is normally a huge time-killing endeavor that leaves you with a system that either never completes the Linux installation or leaves you with a non-functional system post-install reboot. To my surprise, Debian worked without problems. The only minor issue was the need for proprietary WiFI drivers that were easily added post-installation. The installer handled the MBP's nuanced UEFI and partition requirements for boot. I was surprised to see that even things like keyboard backlights, hotkeys, and hardware accelerated video worked right away.
Honestly, I think the reason none of the typical Linux advocates/reviewers look at Debian any more is because it's one of the oldest distributions, aside from RedHat, and it just works. While I can see why Debian's not necessarily viewed by most of the press as innovator, it can be said that such a foundational distribution is innovative in its ability to provide a truly free OS that's ultimate goal is accessibility, stability, and refinement. Come to think of it, why aren't more people looking at Debian instead of the plethora of buggier distributions that are based off of it? Did I mention that they actually have great documentation and is the only non-commercial Linux distribution with something similar to my beloved FreeBSD Handbook? If you have some experience with Linux, just try it. You can thank me later.