Download the authoritative guide: Cloud Computing 2018: Using the Cloud to Transform Your Business
See an alternate opinion: Debian vs. Fedora
by Bruce Byfield
Debian Linux and the Fedora Project are among the most influential Linux distributions of all time. Not only are both Debian and Fedora among the top ten for page hits on Distrowatch, but many of the other top ten are derived from them. But why would you pick one over another?
To be honest, the differences are fewer than they were fifteen years ago. In 2003, when Fedora began, Debian was the main representative of the .deb package format, and Red Hat, Fedora's predecessor, represented the .rpm format, and your Linux experience was very different depending on which you chose. Since then, the differences have diminished, but there are still subtle differences that might influence your choice.
However, those differences no longer include package management. Around the turn of the millennium,.debs were alone in resolving package dependencies, but .rpms added the feature long ago. Today, contrary to old myths that refuse to die, using Fedora's dnf command to install packages is roughly equivalent to installing packages with Debian's apt- get. Even the comparative slowness of yum, dnf's predecessor, has become irrelevant as the change of tools becomes complete.
Where differences do exist is in the organization, governance, available system architectures, package repositories, and default installations. These differences may affect your choice, or simply be necessary to know to avoid uncertainty.
Debian vs. Fedora: Organization of Projects
Debian is a self-contained community-based distribution, while Fedora acts as a testing ground for Red Hat Enterprise Linux and CentOS. Although much of Fedora's governance is community-based, Red Hat appoints some positions on the Fedora Council, including the Project Leader.
By contrast, the Debian Project Leader is voted on yearly by Debian maintainers, and decisions about Debian are referred to a technical committee, as well various groups such as the mirror managers. Large policy decisions may be set by referendum. In general, Debian is known for its innovative governance, including voting by a Condorcet method, which compares the votes for each possible result against every other result. Whether Fedora or Debian is more difficult to say, given that Fedora is partly controlled by Red Hat, while Debian is a meritocracy in which only official package maintainers have a vote.
Debian vs. Fedora: Hardware Architecture and Software Releases
Versions of Debian include ten different hardware architectures, including 32 and 64 bit Intel chips (called i386 and amd64 for historic reasons), Apple, and two different ARM ports that support everything from singleboards like the Raspberry Pi to main frames. By contrast, Fedora focuses on 32 and 64 bit Intel. However, a search will uncover versions for Apple and ARM (including Raspberry Pi). Recently, too, Fedora has started offering as a standard download Atomic, a version designed for working with containers.
All Fedora releases are maintained for about 15 months, while Debian usually offers partial support for the previous release under the name of oldstable. Debian also has a project whose goal is to ensure support for each new release for five years, in imitation of Ubuntu's long-term support policy.
The main difference is that Fedora releases on an average of every six months, except for the occasional delay. Debian, though, places a far greater emphasis on quality, refusing to release until its high standards are met. Often, Debian has grown seriously out of date by the time a new version is released.
Debian vs. Fedora: Package Repositories
The use and relationship of package repositories can be obscure in both Debian and Fedora. Core Debian for each release is maintained in a repository called Stable, which is generally the choice for servers. However, because the interval between stable releases can be as long as two or three years, many users prefer to use the Testing or Unstable releases. These names are relative; Ubuntu, for example, is based on packages from Testing or Unstable, and many home users dip regularly into them as well. Still, problems can occur, such as when Debian is making a major technological change such as the switch to Systemd.
Other Debian repositories exist to keep the Stable release patched and current, such as Updates and Backports. There is also Experimental, whose packages are uploaded by way of introduction and can sometimes be unreliable.
The core of all these repositories is called Main. However, Stable, Testing, and Unstable also contain Contrib for software that is free- licensed, but requires proprietary software to run, and Non-free, which contains proprietary packages such as Flash or some video drivers. Of all these, only Main is tested for a release, although in the process Contrib and Non-free are generally improved, as well.
In Fedora, development is done in Rawhide, a repository roughly equivalent to Debian Experimental. From Rawhide, versions for workstations, servers, and containers are produced. A branch of Rawhide becomes the fedora repository, the approximate equivalent of Debian Unstable, or perhaps Debian Testing. Updates patches and maintains fedora, and is developed in updates-testing.
All these repositories contain only free-licensed software. Unlike Debian, Fedora has no semi-official provision for other software. This arrangement suits those who restrict themselves to free software, but can be inconvenient for others. Consequently, a number of third party repositories have emerged, including RPM Fusion, and RPM Livna. These repositories sometimes conflict with each other or the official Fedora release, and should be used cautiously, and apart perhaps from Fusion and Livna, should not be mixed.
Even with the emphasis on free-licenses, the software selection in both Debian and Fedora is immense. Fedora includes just under 20,000 packages, while Debian is frequently estimated to have 40-50,000 packages. But whether that estimate includes duplicates for different architectures is never stated.
At any rate, neither Debian nor Fedora users are likely to run out of packages in a hurry. You might, find that Fedora has more recent packages, but, after twenty-five years of Linux development, the difference between an older and latest package is not as great as it used to be.
Debian vs. Fedora: Default Installations
Myths about the difficulty of installing Debian long ago ceased to be true. The modern Debian installer is more detailed than the installers of some distributions, and a little rough looking, but no more difficult to use. A graphical version is available, but offers no advantages over the text or speech-based installer. However, the expert installer is ideal for difficult installs, offering detailed choices that can sometimes make the difference between failure and successful installs.
In comparison, Fedora's Anaconda installer has become so minimalistic that I sometimes have difficulty in knowing what to click next. Unlike Debian's installer it requires a minimum of user input -- which is fine, except when you run into problems and need more options.
Fedora 25, the latest version, is distinguished by being the first major distribution to use Wayland, the replacement for the ancient X Window System that manages Linux's graphical interfaces. However, this is more of a technological triumph than anything a user is likely to notice, except for an apparent increase in speed.
What users are more likely to notice more is that Fedora defaults to a GNOME desktop. For years, GNOME was also the default for Debian, but in version 8, the latest version, the installer offers half a dozen desktop choices. You can get the same choices in Fedora after doing the main install, but Debian's choice during installation is more convenient, as well as more in keeping with the preferences of modern users.
Debian vs. Fedora: Making a choice
Debian and Fedora do many things differently. Yet once the average user deciphers these differences, most can be satisfied with either one.
Sometimes, an unexpected situation might make your choice obvious. A difficult install, for example, will lead you to Debian. Yet more often, the choice between these two popular distributions depends on what you value. On the one hand, if you require stability, then Debian might be your choice -- although you might, instead, find a more polished version of Fedora in Red Hat Enterprise Linux or CentOS. On the other hand, if you want the latest releases and innovations, then Fedora might serve you better.
Similarly, if you want to use proprietary software, Debian's Contrib and Non-Free repositories should cause fewer problems than the third party repositories that surround Fedora. Or perhaps a distribution like Debian that is free of corporate influence is more to your taste, or a minimalist installer like Fedora's.
Still, no matter which you choose, you can be reasonably confident that you can't go too far wrong. Admittedly, Debian can look somewhat rougher fresh from the install, but, functionally, the differences today between the two distros are few, and growing fewer. Both are mature operating systems, polished by a long series of releases, and well-suited to most users' needs and preferences.
Next page: an alternate viewpoint on Debian vs. Fedora
by Matt Hartley
Debian and Fedora both offer a lot to those who want to learn more about Linux. Both distros are considered to be more advanced than newbie friendly distributions, however, they also target completely different types of users. This article offers a contrast between the two distributions.
Debian stable, unstable and testing
One of the first things that makes Debian different from Fedora is that it's broken up into three release branches: Stable, Testing and Unstable. Debian stable is suitable for mission critical tasks that need to work, period. The Stable branch is great for some server tasks that can get by with modern security patches, yet have older versions of software.
Debian can also be used for desktop PCs using the Testing branch. This provides users with packages from the Unstable branch, but the packages have been tested as suitable for Debian Testing. This leaves us with Debian Unstable. This branch of Debian is where packages go to receive testing end up. It's not really suitable for anything other than testing and upstream development into other Debian branches.
Fedora Workstation, Server and Atomic
Fedora is a very popular Linux solution among those who work in IT. The reason for this of course, is its Red Hat roots and cutting edge approach to providing tools for developers.
Fedora Workstation is often the first choice among those in Linux IT. It's reliable, yet offers access to bleeding edge packages and a first class Linux community. Fedora Server is a popular choice for those needing an environment with a more cutting edge base than say, CentOS/Red Hat, while still offering many of the same tools and work flows as found in a typical Red Hat environment.
Then we have Fedora Atomic. This is where those looking to utilize containers go in Fedora. If this is you, then this is the Fedora release for you. It's entire purpose is to run containerized applications well and it does this quite reliably.
Debian vs Fedora: packages
At first pass, the easiest comparison is that Fedora has bleeding edge packages while Debian wins in terms of the number of those available. Digging into this issue deeper, you can install packages into both operating systems using the command line or a GUI option.
Fedora uses DNF to install, remove and maintain packages on your installation. Some of the commands available with DNF include: install, remove, update, upgrade, autoremove, clean, reinstall, distro-sync, makecache, plus many more options. DNF is available by default for modern Fedora installations and is widely considered a "replacement" for the YUM command.
Debian's APT command makes use of dpkgfor managing packages. APT also has options for CLI and GUI usage. Some of the common APT commands include: install, remove, -f install (fix install), autoclean, check, update, upgrade, apt-cache, search, among a number of others.
So why use APT vs dpkg? The most straight forward answer is because APT handles dependency management well. That said, there are occasions where running "dpkg-reconfigure foo" is necessary after something went wrong somewhere with a package setup.
There are always going to be software titles missing from the default provided Fedora repos. In cases like this, you might find yourself using Fedora's COPR repositories. Basically, they're very similar to Ubuntu PPAs. Adding them to your Fedora installation will allow you to install and maintain updates for software provided by each COPR repository. Debian differs here as they don't provide PPAs or COPR-like repositories. In most cases, you'll either have to add a special repo or instead, install the deb package itself.
Fedora and Debian both support individual package types. These packages are known as Fedora RPMs and Debian deb packages. What's neat about both of these package types is you can use conversion tools like "alien" to turn packages from one type to another. So using alien, one can take a Debian deb package and convert it into a RPM package.
In terms of software availability, Debian has the most overall packages that can be installed. In terms of choosing an RPM vs a deb package, I honestly don't see much of a difference here. So long as the package meets its dependency needs, I can't really say one is better than the other. I will say however that software repositories are preferred over individual packages. This goes for both Fedora and Debian. The reason for this, is functionality upgrades that are usually provided and keep things secure with said updates.
Fedora and Debian: security
Fedora was one of the earliest adopters of a kernel feature called SELinux (Security-Enhanced Linux). While Debian also offers support for it, Fedora provides it enabled by default. This security feature was initially created by the US government and later on, Red Hat jumped into the project to provide further development.
Unless you're in IT, odds are this isn't a security feature that's really something you're going to be that interested in. So the best security is to keep iptables setup correctly, use a non-root user and keep up with this security list. Setting aside the fact that SELInux is enabled by default, I think security comparisons between the two distributions are matters of opinion. Generally, most people will point to Fedora as being the most hardened, secure of the two distros. I'd counter with Debian being far more stable. Even if you choose Debian Unstable I've found it to be more stable simply because packages are being tested far longer and with greater focus. That's not my opinion, that's my personal experience with both distros.
So to be completely fair, I will give most secure ranking to Fedora overall. But I do so only because of SELinux and the enterprise minded approach to the distro setup.
Choosing Debian vs Fedora
I like both distributions of Linux. Both Debian and Fedora have a ton to offer anyone willing to take off the "training wheels" and really explore what these distributions can do. Based on my experience, Fedora generally makes for a better desktop. Let me say this again, with a disclaimer:
As someone who has primarily used Debian-based distros for must of his Linux enthusiast years, I feel out of these two distros that Fedora makes more sense overall for someone serious about running an up-to-date Linux desktop.
I feel strongly that Debian's shining light is that it's a great base for Debian-based operating systems. Debian by itself can leave something to be desired in terms of package age. Don't get me wrong, I'm perfectly happy to run Ubuntu or Debian Testing as a daily driver. But most of you reading this, are probably looking more for something that is crazy stable – then Debian is a great choice.
What say you? You might be wondering why I couldn't work Arch or Mint into this comparison, right? Kidding aside, I'd be interested in hearing which distro you prefer between Fedora and Debian. Hit the Comments, let's talk about it.