Picking a Linux Distro: Part 2, Debian and Fedora
There’s a lot of Linux in the world today, but which distro is right for you? We’re here to help you figure that out.
Welcome to the second in a series of four deep dives into the different Linux distributions supported by Linode. We’re taking a look at where these distros came from, what are some things that make them unique, and how they might best fit your needs.
Last time we looked at Arch and CentOS. This week is all about Debian and Fedora.
Debian
Background
Debian is one of the oldest Linux distributions available and is the foundation for many other distros from Finnix to Ubuntu. The Debian Project was founded in 1993 by Ian Murdock with the vision of creating a non-commercial operating system which values open development, Linux and GNU, yet is competitive with commercial systems. The name “Debian” comes from combining Ian’s name with that of his then-girlfriend, Debra.
Today, Debian is maintained according to The Debian Manifesto and Debian Social Contract. The Debian Project and its greater community continue evolving the distribution as a free operating system and thus, while Debian has a Project Leader, the distribution continues to be heavily community focused.
The Debian Project has no parent organization and the only sponsorship received is for Debconf, an annual Debian developers conference. Various companies have played a part in making the Debian Long Term Support Project a reality and it’s the contributors, donations and volunteer work which are the lifeblood of Debian, the distribution, and the project as a whole.
An interesting chapter from the Debian history books is what has been referred to as the “Iceweasel Age”. Stretching back to 2004, licensing issues with artwork and security patch backports infringed on the Firefox trademark, so Mozilla Firefox was not available in Debian’s repositories.
The solution was to fork and rebrand into Debian’s own Iceweasel browser, along with the IceDove mail client and IceApe suite additionally taking the place of Mozilla’s Thunderbird and Seamonkey. Things have changed in the past 12 years though, and as of June 2016, Firefox and Firefox ESR are directly available in Debian.
What Makes Debian Stand Out?
There are three different branches of Debian available: Stable, Testing and Unstable. Debian Stable receives about 3 years of security support and important fixes from the Debian Project before entering support by the Debian LTS team for approximately 2 additional years.
Debian’s stable branch has a reputation in the Linux world for being a solid, reliable operating system, so it’s no surprise to find it often used in production environments. Over the years, Debian and CentOS have traded places as the most widely used Linux distribution running the world’s web servers. This stability does come at the cost of packaging older software though, since it’s a difficult feat to combine extreme stability with bleeding-edge packages.
Debian’s release version codenames are characters from Toy Story movies, a practice which originated with Bruce Perens from his time as Debian’s Project Leader while still working for Pixar Animation Studios. The current Debian Stable branch is Debian 8, Jessie. Debian’s Unstable branch keeps the codename Sid, named after the next-door neighbor in Toy Story who mistreated his toys. It is Testing and Unstable which are the development branches.
Debian can be considered both a rolling and standard release depending on how you use it. To upgrade Debian versions without a reinstallation, all that’s needed is to change the source repositories to the next codename and run a dist-upgrade to, for example, upgrade from Debian 8 when Debian 9 becomes the Stable branch.
However, if you edit your sources.list file to “track” the Testing or Unstable branches, then a dist-upgrade would jump your installation to Debian Testing or Unstable. From there, you will perpetually pull from the whichever of those repository branches you chose, regardless of which codename is currently in them.
Another feature of Debian is the abundance of architecture ports. Probably the most well known non-x86 implementation is Raspbian, the Debian-powered operating system for ARM-based Raspberry Pi computers. Debian packages use the deb format, while Apt and aptitude are the primary package management options with various frontend controllers available.
The Main repository contains about 99% of the software available to Debian. Contrib is an additional repository of software that also complies with the Debian Free Software Guidelines, and is intended to work with the Debian distribution, but which requires software outside of the distribution to either build or function, such as needing packages from the non-free repository. Non-free is where you’ll find software which doesn’t meet the DFSG, things like Adobe Flash and proprietary media codecs.
Packages from Main are officially part of, and maintained by, the Debian Project whereas the contrib and non-free repositories are not. It’s also the Main repo which is curated by the Debian LTS team after official support has ended for a Debian version.
Who Would Enjoy Debian?
If you’re looking to run a server, Debian Stable is a natural choice whether it be serving a web application, database or networked storage. Debian is equally comfortable powering your VPN as it is your laptop, and with Server, Desktop and minimal installers available, you have the choice of starting small and building your own system, or beginning with everything and removing the components you don’t need.
Debian’s easy upgrade procedure lends itself well to those who don’t want to reinstall each time a new milestone is released. Debian also provides GPG-signed checksum files for verifying your image’s integrity before committing it to installation media.
Debian Testing and Unstable are best for those comfortable with sacrificing some system stability for newer software, or if you’re interested in, or working with, the development branches. It’s worth noting as well that security updates for Debian Stable are first priority. Security fixes for the Testing branch are secondary, so there can be delays, and there is no security team support for Unstable.
So putting it all together, Debian is a stable operating system of free and open source software for multiple architectures. You get around 5 years of support (3 years of security support and important fixes plus 2 additional years of security support for certain architectures), easy upgrades, various compile-time security features and Debian is making progress towards fully reproducible package builds.
Fedora
Background
The story of Fedora is one more example of a healthy community coming from humble beginnings. The distribution is a Linux staple which has consistently been in DistroWatch’s top 6 since it entered the rankings in 2004. Fedora has sponsorship and development support from Red Hat, and even Linus Torvalds himself is known to use Fedora “on everything”.
Yet Fedora began as a grassroots, university computer science project. The Fedora Project, which came before the distributed operating system, was started by Warren Togami in 2002 as a community-maintained package repository for Red Hat Linux. Its purpose was to easily provide tried-and-tested software which wasn’t available in RHL.
When Red Hat decided to focus on enterprise customers with Red Hat Enterprise Linux, the Fedora Project merged with the former Red Hat Linux and became the community upstream. In early 2004, the first Fedora Core release was made publicly available.
One name adjustment and many years later, the Fedora Council now has stewardship over the modern Fedora Project, with the Fedora Project Leader serving as council chair. Under the umbrella of the Council are various Steering Committees comprised of members around the world. Together the council and committees, along with Fedora’s community members, maintain the distribution and project’s efforts in accordance with the Fedora Foundations, core values held close to the project at large.
In case you’re wondering how Fedora, RHEL and CentOS all fit together, the relationship can basically be described like this: Fedora is cutting-edge, fully free and open source, and a taste of what could become part of future RHEL versions. Fedora can be considered the R&D wing of Red Hat and though Red Hat is Fedora’s primary sponsor, about two-thirds of Fedora’s core contributors are actually from outside Red Hat, Inc.
On the other hand, CentOS is the FOSS equivalent of the current RHEL and as we discussed last week, CentOS takes a slow-and-steady approach to upgrades for maximum potential system reliability. Though CentOS receives sponsorship from Red Hat, it’s not on the same level as Fedora.
What Makes Fedora Stand Out?
Fedora is available in three branches: Workstation, Server and Cloud. The default desktop environment is Gnome Shell but there are Fedora Spins for alternative desktop environments. Fedora Labs are further spins for preconfigured software collections such as gaming, forensics and astronomy, and Fedora has ARM ports as well. The lifespan of a Fedora release is about 13 months but similar to Debian, upgrading Fedora versions is a matter of changing the repository source and using the package manager; no need to reinstall.
Fedora is an RPM-based distribution which aims to offer the newest stable packages while working closely with upstream package maintainers to commit bug fixes and patches. Fedora is another distribution with extensive documentation in its wiki which applies beyond just Fedora, and its spins and community support is never far away with official forums and Ask Fedora.
Currently unique to Fedora are DNF and firewalld. DNF is the evolution of the Yum package manager, created originally as a fork to correct various issues with Yum, ranging from a more comprehensive and usable API to extensibility to dependency resolution. Firewalld is a new dynamic firewall daemon which emphasizes different zones based on levels of trust. Fedora Server also includes Cockpit by default, which provides a graphical management console via web browser login.
The Fedora Project is heavily security-focused, to the extent that the entire getfedora.com domain uses TLS 1.2 with DNSSEC and DANE. Memory and execution protections are implemented. PGP keys with online fingerprints are available for verifying installer checksum files; while by default, SELinux is set to enforce mode and firewalld is enabled. Red Hat has set the longterm goal of reproducible builds for Fedora’s RPM binaries, and Fedora also supports Secure Boot.
Who Would Enjoy Fedora?
If you’re already comfortable with Red Hat, then of course you’ll likely feel right at home with Fedora. But this distro isn’t limited to a preference toward the RHEL experience. Whether the default offering or a spin, Fedora gives you a powerful workstation or server operating system, or lets you install a minimal base from which you can build. There are third-party sources for software which Fedora must exclude for licensing reasons, and Fedora’s rolling-release aspect makes it a great option for those who don’t want to reinstall a system with each new release.
The Fedora Project’s efforts are highlighted by their values of free-and-open-source software, mindfulness of security, and ease of use. The result is a distribution that has become very popular on the desktop and is also used on the servers of some powerhouse companies, small and large. Whether it’s in the form of sponsorship or community support, Fedora receives accolades from some big names in the Linux world and will happily adapt to whichever use case you throw at it.
***
Have any questions or comments about Debian or Fedora? Then share them with us in the space below or at @Linode. We’d love to hear from you.
Next, we’ll explore Gentoo and OpenSUSE.