This past week, I had a frustrating reminder of a lesson I learned long ago…but let slip away out of either arrogance or stubbornness. That lesson is that choosing the right distribution is the first (and most important) key to success when deploying the Linux operating system.

Yes, we all have our favorite distribution, but sometimes that favorite distribution simply will not do the trick and a different flavor must be used.

Let me explain.

On my editorial calendar (for a different publication) I had scheduled an in-depth article on installing the Packetfence Network Access Control system. I had written about it long ago (for yet a different publication) and remembered how powerful the software was and how perfect it was for business and enterprise use. The thing I remember most about Packetfence was how incredibly challenging the installation was. I assumed it to have matured in that area — it hadn’t — at least not any distribution other than RHEL and/or CentOS.

So I plowed on with the intent of getting Packetfence installed on Ubuntu Linux, ignoring all of the warning signs. After a week of working on and off, I managed to get the system up and running…minus the web interface. This was the biggest issue with Packetfence and non-standard web servers (apache2 vs. httpd). It seemed impossible to get Packetfence to start the apache2 daemon. No matter what I did I was returned with that ever-mocking, “The webpage is not available” error. I could work with Packetfence from the command line, which I didn’t mind doing…but I knew the vast majority of readers would settle for nothing less than a GUI.

And so I switched gears and focused on installing Packetfence on CentOS. It took roughly an hour (not including the installation of the OS), but it was up and running perfectly – even the web interface.

Lesson learned. Fundamental rule back in place. But what exactly does this mean? It’s quite simple (and obvious): The right tool for the right job will save you a lot of work and headache. This applies to the software you install as well as the distribution of Linux you install it on.

Let’s face it, some distributions are better suited for certain jobs. As much as I like Ubuntu on the desktop, it’s just not the best server OS. Why? Well, for one it doesn’t follow standards like a server OS should.  The illustration above is a great example. Ubuntu opts for using apache2 instead of httpd. Since httpd is the standard web server daemon, there are certain tools that might have trouble working with a non-standard server. If you want a server OS, stick with something like CentOS. Not only does CentOS stick with standards better than Ubuntu, it’s more in line with the higher security needs a server OS calls for.

Sometimes this is a tough choice. Many administrators know one OS or one distribution of Linux. Switching from Fedora or CentOS to Ubuntu is a challenge (likewise Ubuntu to CentOS or Fedora). This highlights another important point – understanding the fundamentals of Linux will help you make that jump from one ship to another (and back again). When I started with Linux, the distributions were much more similar than they are today. I got to know Red Hat Linux quite well. Having that skill allowed me to jump to (then) Mandrake, SUSE, eventually Debian,  and then Ubuntu. So to any new Linux administrator I would suggest (in the least) getting to know disparate distributions like Ubuntu and CentOS. Having a solid understanding of both will give you a head start on both the desktop and the server arena.

Choosing the right distribution can seriously make or break a Linux project. This is especially true if you are working on selling Linux to the powers that be, or just trying to get your friends/family/co-workers to give it a try. Choose the perfect Linux distribution that meets the needs of either the user or the service and you are already halfway to success. Choose the wrong distribution and you have failed from the beginning.