Five Reasons to use Debian as a Server

If you choose Linux as the operating system for your server, the next big question is: “Which Linux distro should I use on my Linux server?”. Since different servers are intended to perform different tasks, the answer to this question is not easy.

Many people choose a distro which provides commercial support. This might be a (reasonable) requirement of their company or even a personal choice. Red Hat Enterprise Linux (RHEL) is the world’s most popular commercial Linux distribution. Canonical also provides commercial support for Ubuntu server and Novell for Suse Enterprise Linux.

This article refers to ordinary servers, used as web server or database server, used and administered by a professional or a small business company. We believe that community support is valuable. So, we will select a community driven distribution.

Which distributions are available in the market?

Let’s take a look at known hosting providers all over the world to see which Operating Systems they support on their Dedicated servers or VPS:

  • Softlayer offers Centos 5 & 6, CloudLinux 5 & 6, Debian 6, Fedora 13 & 15, Red Hat Enterprise Linux 5 & 6, Ubuntu Server 8.04, 10.04 & 12.04 (all LTS, means Long Time Support), Vyatta 6.5
  • Hetzner offers Centos 6.3, Debian 6, OpenSUSE 12.2 and Ubuntu 12.04 LTS (and 12.10)
  • Leaseweb offers Centos 5 & 6, CloudLinux 6.2, Debian 6, Ubuntu 10.04 & 12.04
  • RackSpace rather suggests Red Hat Enterpise Linux (among others).
  • OVH available options are: Debian 6 stable, Ubuntu Server 12.10, Red Hat Enterprise Linux 6, Centos 5 and 6, Gentoo 2013, Slackware 14, Archlinux 2012, OpenSUSE 12.2 and Fedora 17
  • RuskaHost offers Centos 5 and 6, Debian 6, Fedora 15 and 16, Scientific Linux 6 and Suse 11.3 & 11.4

What exactly we expect from a server machine?

We want to be stable. We want to apply security and other updates easily (while server is in production). After applying security updates, the server must be productive (again) and we want as less reboots as possible. A new major release must be applied without need to re-setup the machine (downtime is a big problem for production servers). Even we need “fresh software”, there is not need for cutting edge software (this is a requirement for desktop machines, not for server boxes).

Why Debian?

Debian (stable) meets these requirements. Debian is our choice for server operating system. The reasons are:

1. Upgradability

Debian is not exactly a rolling release, but a live system can be upgraded to next stable release, using apt-get package manager. This is not a “piece of cake”, but is a well documented procedure. Usually, there is no need to reboot or switch into single-user mode.

Common system updates of running release are very safe using just a single command: apt-get update && apt-get -V upgrade. Updates can be automated, but this is not recommended. Excellent tools are available to notify admin when new updates are available (e.g apticron) and when reboot is required (update-notifier-common). Reboot is mainly required when kernel is updated. Debian Kernel updates are not so often, so system reboot is rarely required and it can be scheduled.

Debian is also compatible with a broad range of server hardware devices.

2. Security

Packages have been tested thoroughly before each Debian release. This is mainly the reason why packages are not of latest version. Releases occur every 2-3 years. Debian community is very responsive to bug fixing. Security is one of the most important Debian features.

3. Stability

Debian is one of the oldest distributions (active for more than 18 years). Stability is synonym with Debian. Any package has been tested thoroughly before included in a Debian stable release. Debian always has at least three releases in active maintenance: stable, testing and unstable. Of course, stable must be used in production environment.

4. Pre-Configuration

Debian offers a broad range of software packages. Moreover, packages come preconfigured, so most programs work out-of-the-box once they’re installed. Of course, you can reconfigure packages if default configuration is not suitable for you. However, this doesn’t happen often.

On system update, Debian respects existing configuration and prompts admin the differences of local and new configuration file.

5. Free – Open Source

Last but not least, Debian adheres to the open source philosophy, so you are free to use the software that best suits your business needs. See Debian Social Contract for more.

What about other distributions?

Centos is actually a community version of Red Hat Enterprise Linux. It has many advantages, which Debian offers. The packages are updated using yum, while Debian uses apt-get. Apt-get is more advanced than yum and more stable. Debian packages are better organized in repositories than these in Centos. However, Centos remain a great option for “Red Hat oriented” users.

Ubuntu (server edition) is actually based on Debian. Packages and Kernel are newer, but this is not necessarily an advantage for server machines.

Fedora (another Red Hat flavor) comparing to Centos seems to be what Ubuntu is for Debian.

Other distributions like Gentoo and Archlinux (rolling releases) offer cutting edge packages. There are great releases, but update process is not always easy and requires advanced administrator capabilities.

Conclusion

Actually, there are not huge differences between Linux distributions. Every distro has pros and cons. You should use the distribution which you know better and you like more. However, some distributions are best suited to server environment (stability, security), while other are more convenient for desktop use (cutting edge software, friendly interface).

I quoted above my arguments, why Debian should be the first choice for server environment. Which is your favorite Linux distro for server?