Today I thought I would take a break from all of the technical ‘how to’ articles and write something a little more near and dear to my heart – My favorite Linux Distributions and Why. Now, this can be a rather heated topic (even leading do blows among us geeks) but I am not here to persuade anyone that my choices are better than yours, or that any particular distribution is better than any other. I am simply posting my opinion and why. In this article, I have chosen to pick my top 3 distributions and list the reasons why I prefer these distributions. I hope you enjoy this article and if you are offended by my choices, feel free to voice your concerns, though they will likely fall on deaf ears :-).
As you probably already know, there are countless numbers of distributions available today, all have good points and bad and some are specialized for specific purposes. Linux as an operating system is very similar at it’s core across all distributions. All distributions have a Kernel, some sort of package management and follow (some more loosely than others) the File System Hierarchy standard. In many cases, that is where the similarities end.
Ubuntu is arguably the most popular Linux distribution available today. This is mainly because of it’s ease of use and compatibility, making it the obvious choice for newcomers to the world of Linux as well as it’s corporate backing from Canonical. It also has many variants (Distributions) that offer specialized packages that target certain user groups, such as Edubuntu for Educational purposes geared towards children. Ubuntu also has a large user community, giving you easy access to support and knowledge. Ubuntu is easy to use and has a fluid and well designed user interface (though I prefer Gnome classic over Unity) as well as being fast and stable. Ubuntu can run on low-end or commodity hardware, laptops, high-end workstations and servers, embedded devices and coming soon – smart phones and tablets. One of the things I like most about Ubuntu is that it is based on Debian. I am a big fan of the Debian code and configuration and prefer the apt/synaptic (.deb) package management system over others.
As a server, Ubuntu offers a robust, secure and stable platform for building and hosting a wide array of workloads. The operating system supports the latest stable releases of OpenStack and when used in conjunction with JuJu, can provide a highly scalable and easily orchestrated cloud architecture. I have personally deployed many Ubuntu servers ranging from LAMP and TOMCAT to OpenVPN appliances and have never had a bad experience. On top of the large user base and many free support options, Canonical also offers subscription support and management through Ubuntu Advantage. Ubuntu Advantage offers technical support as well as a cloud based portal that you can use to manage all of your end-points from one central console.
Ubuntu is my number one not only because of the reasons outlined above but also because it was the first distribution that I used when I made my switch from Windows to Linux years ago. I had been using RedHat for learning purposes but not as a full time OS. Making the switch to Ubuntu was very easy and took a lot of the apprehension away. Once I began getting into the nuts and bolts of the Ubuntu, I was hooked and have never used another OS as my primary platform since!
My number 2 pick (Not surprisingly) is Debian. I have never used Debian as a Desktop operating system but have deployed many Debian servers throughout my career. The reason I like Debian is because of it’s simplicity and security as well as it’s long standing reputation. Debian is also one of the oldest Linux distributions still in development (right behind Slackware) so it has a solid foundation and proven track record. Another reason I like Debian, as mentioned in the previous section, is that I prefer the apt/synaptic (.deb) package management system.
Unlike Ubuntu, Debian is not corporate backed but does provide the base code on which Ubuntu is built, which makes it very familiar to me. Debian is also well documented and has a decent sized user base for support. As an added benefit, most Ubuntu related solutions can in most cases be applied to Debian, which increases the available support resources.
Due to the many similarities of Debian and Ubuntu, Debian comes in a close second on my list. I cannot say much for the User Interface since I have never used a GUI on Debian but I have seen many screenshots and it looks like your typical, no-frills Gnome desktop (My Favorite!).
My third pick on the list is CentOS due to it’s stability and direct lineage to RedHat. CentOS is the Community Enterprise Operating System for good reason. It is a direct derivative of Red Hat, which is by far the leader in Enterprise space Linux adoption. CentOS is stable, secure and trusted by the U.S. Government (Though they are not so trustworthy as of late!) to host large and complex enterprise workloads. Also, because it is a derivative of RedHat, there is a large user base and great support, not to mention many of the upstream applications available on RedHat are available on CentOS. Again as mentioned in the last section, many of the solutions available when solving problems on CentOS can be gleaned from the RedHat documentation and community due to their close similarities.
As I mentioned earlier in this post, I began my Linux journey on RedHat. Tinkering with uncharted OS territory and basically breaking and rebuilding until I got it right. This is why CentOS holds a special place in my heart. I have written many articles on this blog that utilize CentOS minimal as the base OS for the applications in question. This is partially because of my need to catch up on my RedHat knowledge and partly because of the proven track record for stability and acceptance that CentOS offers.
One of the more notable applications that can be used for CentOS is SpaceWalk. This is the upstream application of RedHats’s commercially available configuration management platform Satellite. This is notable because it is the only fully capable (that I am aware of) Open Source configuration management platform available. It allows you to manage a large number of end-points from a centralized console securely and easily. This includes configuration management, package management, orchestration and provisioning. For someone who is in charge of managing a large number of servers on a budget, this is an invaluable tool in my arsenal.
To sum things up, regardless of your Distribution, we can all agree that Linux is the most advanced and fun operating systems available and it is all free and Open Source. My choice of distributions reflects my experience and requirements for my daily life as an I.T. professional. As mentioned at the beginning of this post, the ‘Distribution Debate’ can get pretty heated – and as a fellow Linux enthusiast, I respect your choice of distribution and encourage you to share your opinion.