Two of the most popular (yet different) Linux distros are Fedora and Ubuntu. There are quite a lot of differences and similarities between the two. For beginners, they may seem the same or very similar, but read our comparison and you’ll learn more about Fedora and Ubuntu and how they correlate to each other.
Fedora | Ubuntu |
|
---|---|---|
Desktop Environment | GNOME | GNOME |
Package Managers | YUM, RPM Package Manager, Flatpak, DNF, Snap, store, appimage | Dpkg, apt, Click packages, Snap, Flatpak, appimage, store, DEB |
File Manager | Nautilus | Nautilus |
OS Configuration | Different paths | /etc/sysconfig |
Software Updates | Frequent, newer versions | Less frequent, older versions |
Server Release | Yes, Fedora Server | Yes, Ubuntu Server |
Drivers Support | Unofficial support | Official support |
Software Licenses | Free software only | Free and non-free software |
OS Installer | Anaconda | Ubiquity |
Release Schedule | Every 6 months | Every 6 months. LTS every 2 years. |
Support Duration | Approx. 13 months. | 9 months for non-LTS, 5 years for LTS releases. |
Community and Users | Relatively smaller community with fewer users | Larger community with more users |
Software and Package Managers
Package managers are tools that you can use to install software and keep your OS and the installed software up to date. Ubuntu uses apt. Fedora uses dnf and/or yum. The commands are slightly different, but in general, they do the same thing and work equally well. You’ll notice both on most of the Linux tutorials you’ll come across online. Especially for servers where you do most of the work in the Command Line Interface. Yum is just linked to dnf at this point. Dnf is slower than apt, but dnf has a much larger feature set heavily targeted towards enterprise. Dnf has history and rollback as an example.
RPM is a type of software package, most commonly used in Red Hat/CentOS/Fedora (those are “rpm-based distros”).
Ubuntu, as well as other distros based on Debian (like Linux Mint) use .deb packages instead. You can install RPMs in Ubuntu, they’re just not the preferred way to distribute and install software compared to .deb.
Fedora and Ubuntu both support Flatpak and Snappy very well, which makes distributing and installing software extremely easy. Fedora tends to favor Flatpak, while Ubuntu tends to favor Snappy since Canonical and Red Hat have a healthy competition between the two technologies, so software availability is essentially equal.
Fedora has more up-to-date and bleeding/cutting edge software in its repositories while Ubuntu often has older, more reliable versions.
Fedora uses SELinux, Ubuntu uses AppArmor as Mandatory Access Control. You won’t really notice this that much.
The struggle continues: Fedora does only provide software through its main repositories since it is free and open source. Ubuntu isn’t that strict.
A lot of common OS configuration in the RHEL ecosystem (Fedora) lives at /etc/sysconfig, where you might find those files scattered under various application-specific directories in the Debian ecosystem (Ubuntu).
There are subtle differences, like the location of configuration files, and the package manager. They’re more similar than they are different though.
Although there’s no “better” of both package managers and packages (archives), you should still know which distro uses them so you know what to choose when downloading software for your distro.
Stability and Updates
When it comes to stability, Fedora is more often updated than Ubuntu LTS. So from that perspective, Ubuntu LTS is more stable i.e. it doesn’t change very much until the next LTS, a couple of years down the line. Non-LTS releases of Ubuntu get updated more often, but they reach their End Of Life sooner. Most people prefer LTS releases for their servers and non-LTS releases for their desktops.
In terms of system stability, i.e. crashes and breaking updates, both Fedora and Ubuntu are good.
Fedora is more cutting edge and stable in our experience, while Ubuntu has a history of being more “noob-friendly” and offering 1st class proprietary support. Neither should be frowned upon as they both have made Linux a lot better in the past decade.
Both Ubuntu and Fedora have a Server version. Most people use and prefer CentOS for their servers as compared to Fedora Server since they’re both rpm-based distros. The CentOS and Ubuntu server distros are compared here.
You can try Ubuntu, CentOS, and Fedora servers at Vultr.
Communities
You can’t really write anything objective when it comes to communities, since people and personal experiences make or break the community they’re part of. Everyone can have a different experience with any community surrounding any distro. The Ubuntu community is much bigger in size (numbers), and online tutorials are much easier to find for basically any task, especially when it’s something specific. Partly because there are many distros based on Ubuntu and it really is the most popular Linux distro.
By one user that we had a chance to gather experience from, both seem to be amazing operating systems. He’s been using Fedora for a decade as of this year, and the reason he stuck with it over other distros is simply the community. As he mentioned, in his personal experience he has found the people involved in Fedora to be more inviting and they seemed to take more interest in getting him up to speed and helping him contribute back to the OS. That made him feel like he has found a forever home.
Or, in other words: “Both communities are amazing, these are entirely personal experiences. Linux is Linux.”
Both distros are best compared when you find out more about the pros and cons.
Fedora – Pros and Cons
Pros
- Upstream/latest software;
- Treats GNOME as a first-class citizen (no tweaks and uses the latest GNOME software);
- Excellent backing by the biggest contributor to the Linux Kernel (Red Hat);
- Getting stuff in the upstream projects rather than changing it in the distribution;
- Strong commitment to free software;
- No strong commitment to schedules but to quality releases rpm-ostree;
- Uses the latest Kernel, or close to it which equals to better hardware support;
- Pushes new technology (IE Wayland default). This could be neutral for some people as new can entail new bugs;
- DNF has more features and is rapidly becoming better.
Cons
- The community and user base are a bit smaller so certain software may support Ubuntu and not Fedora.
- The default GNOME is not made to be used by everyone, some people like Ubuntu’s tweaks;
- Proprietary drivers have unofficial support, although with recent versions of Fedora it is easier than ever; Once you open GNOME Software it asks you if you want to use 3rd party non-free software, in which case you can then install NVIDIA or other drivers, codecs, etc. easily.
Ubuntu – Pros and Cons
Pros
- Official proprietary support (drivers, codecs, etc.);
- Slightly larger community and user base;
- Ubuntu’s tweaks on GNOME might be preferable to some people (Dock, theme, etc.);
- “Theoretically* more stable (includes Long Term Support Release with 5-year support, which comes with a new update approximately every 2 years);
- Video Game companies tend to target Ubuntu. SteamOS uses Debian, Ubuntu is based on Debian Unstable/Testing. Debian based is probably ideal for gaming.
- There are many more distros based on Ubuntu, as compared to distros/spins based on Fedora.
Cons
- Less up to date software;
- Slow in integrating new technologies;
- Older Kernel;
General Differences and Similarities Between Fedora and Ubuntu
Fedora is considered better for work (companies) because you don’t need to worry about licenses. If it’s in the repository, you’re allowed to use it in production.
Given the popularity of Ubuntu’s long term support (LTS) releases, it is good to mention that the biggest difference is that Ubuntu has LTS releases in the first place. In comparison, on Fedora, every release is supported for the same time (two release cycles plus one month; around one year).
As for Fedora, one really important thing to note is how it mostly stays close to the original upstream software, with few custom tweaks. There are people which personally are not that fond of some of the Ubuntu specific tweaks that Ubuntu comes with, like their purple-brown GNOME with the dash to dock, and their use of snaps for some apps, but that is a personal choice anyway.
Ubuntu has many different official flavors to choose from, including Lubuntu, Kubuntu, Xubuntu and more. They have quite a few differences, but the main one is the desktop environment. There are other different distros that are based on Ubuntu too. Fedora has less flavors (or spins as they call them) to choose from, including spins that use the same desktop environemnts that Ubuntu flavors use, like KDE Plasma, Xfce, and more.
Canonical (Ubuntu), tends to do things in their own way instead of working upstream (although honestly there is a ton of unnecessary hatred towards Ubuntu from other distro communities).
If you wonder what the idea and key innovations of rpm-ostree are, considering the fact that we have seen and heard very little of it, it seems like a solution in search of a problem. It also seems like being based on rpms, it is evolutionary when it should be revolutionary. It’s just a different take on how a Linux system updates. Updates are atomic, rolling back and resetting the system is extremely easy. It also makes a hard barrier between system applications and user applications. /usr becomes a bit like /System on OS X. You don’t touch it, but it’s a stable base that is curated to what Fedora ships. You add your applications via Flatpak and if you need it, you can use containers to do any dev work. If you mess up the container, you just throw it away and create a new one.
If you want to know how do they deal with the configuration files that are part of the packages, “-/etc is rw”, but original /etc files are stored in /usr/etc so the system can track what changes have happened to /etc.
The single biggest reason people stick with Fedora is most probably their long term GNOME support. GNOME has its many flaws, but it has been the best of bad choices. It has also been the most consistent. It is sometimes preferred over KDE, Unity, and XFCE. Also, it’s bleeding edginess is good for home use, but there are still dimensions to that. It is more bleeding edge for software RedHat works on like the Kernel, Glibc, and GNOME. Not so much on random libraries.
It is somewhat tempting to switch to Ubuntu since they switched back from Unity to GNOME. Overall people still hold Canonical in a certain amount of contempt for their past choices but also admit they have learned from them. Another way of describing the difference is: Fedora takes the wise approach, and Ubuntu takes the smart approach. Ubuntu learns from its mistakes, but Fedora learns from other people’s mistakes.
One thing that seems to be a giant misstep both is Flatpak and Snap. We don’t find the attempt innovate to be bad, but seems to not really be working out. Maybe they will salvage them.
Besides using the RPMs, Fedora is not a recommended distro for people that are used to LTS releases, but if you use the x.10 releases of Ubuntu, you can switch to Fedora.
You can move to Fedora in a snap. The number of packages available, the possibility of using RPMFusion and once you upgrade to a newer version using DNF… is awesome! This is very good because each release is only supported for two updated cycles: if you install version 29 and 31 is released, you will have to update to 31 or 30 when it is released to keep getting support.
One thing that is a bit strange is the installation wizard because it’s a very different experience from the other installation wizards you have probably used before. Fedora uses Anaconda, where as Ubuntu uses Ubiquity. But it’s Linux after all. It’s a different experience with each distro. It’s expected.
If you’re looking for an alternative to Ubuntu and like to keep yourself in the DEBs, POP!_OS is a good alternative along with a Linux laptop or Linux Mint, if you prefer more traditional desktop environments.
Fedora has a huge developer team and pushes regular bugfix updates for important packages. Ubuntu has a comparatively smaller developer community.
What makes Fedora great or bad:
- When making custom packages, rpms are easier. The spec format is all in one file, and what you see is what you get. Whereas with debs the information is spread across files, and much of the process is automatic. The process assumes you are going to do certain things and just does them without any configuration. But then if you want to override you have to learn the anti-configuration. It is a very non-intuitive style.
- Fedora has more of a “do the right thing instead of the easy thing” mindset. This is a trade-off. You are less likely to get some software for licensing reasons, like mp3 support or ZFS. But RedHat is also more likely to write quality software. Some examples of this are Wayland vs Mir and GNOME vs Unity.
- Fedora is more likely to have a quality package. On the other hand, Ubuntu is more likely to have a package at all. This goes to different packaging standards for official packages. Ubuntu also has different standards for the universe but is more inclusive of them. Fedora keeps repositories like RPMFusion at arm’s length.
- Fedora has full SELinux support. One of the most effective and significant Linux security frameworks out there. The security benefits provided by SELinux are the primary reason why you should use Fedora.
What makes Ubuntu great or bad:
- If a company supports Linux by the package, you have a higher chance of getting a deb. Let’s call that 15%. An example is Spotify where the way to make an rpm is to take the official deb and repackage it with the right shared libraries to make it work. 5% of the time you will find an rpm, but no deb. The most recent example of this we have seen was Amazon’s Elasticsearch Open Distro. This is caused by AWS Linux’s use of rpms. In the long-term they will probably make debs. Sadly another 5% of the time you will find people only release a Docker container these days.
- Some software that Canonical makes start Ubuntu-only. One example of this is LXD which is found to be highly useful software for package creation. It took about a year or more for Fedora packages to appear. Even now the Fedora support isn’t as good. Another example of this going both ways is SELinux (Fedora) and AppArmor (Ubuntu).
- Ubuntu has LTS releases being a nice and free middle ground between CentOS’s slower releases, and Fedora’s every 6-9 months. This is one of the reasons they basically own the cloud market.
- Ubuntu has more of a pattern on multiple parallel releases of the same software. One example is GCC. You can find gcc51 and gcc52, aka 5.1 and 5.2. This is something that Ubuntu carried over from Debian that they are based on. This makes them more popular with developers who have a more whatever takes mindset. They want minimal work, don’t care about “correctness” as much, and just want to move forward.
Fedora vs Ubuntu – Which one is better for a server?
First question, what kind of server?
For a plain vanilla web server, CentOS is a more stable choice (as others will agree). If you are building a NAS, or something storage intensive, Ubuntu ships with ZFS drivers built into their Kernel, while Fedora Server and CentOS often have trouble with loadable ZFS drivers failing after a Kernel update. Fedora Server has fresher, more cutting edge versions of most software than either CentOS or Ubuntu, but you would have to be doing something unusual on your server for that to be a deciding factor.
Some would recommend CentOS over both options. CentOS is the preferred choice over Fedora Server in most cases. But when it comes to CentOS or Ubuntu, you can read our comparison.
Fedora Server has a fast upgrade cycle – a new release every 6 month and versions stop being supported after 1 year. Ubuntu Server’s LTS editions are supported for 5 years.
You might not want to use Fedora Server for servers because it’s not stable as Ubuntu Server (LTS). It can even encounter a kernel bug that will cause a system freeze while copying a large file. That would be a disaster for servers. Ubuntu will install only kernel security patches.
Fedora might be better than Ubuntu in some cases because it’s closer to upstream and the documentation (from the developer or the Arch Linux wiki) usually matches better with what you get in the end.
If you want to get automatic, safe updating then get your servers on Fedora Atomic/CoreOS instead.
Ubuntu has the benefit of a larger community of users, so for a beginner, there are much more guides and forum posts for anything you’d want to do. Ubuntu also has a fixed release schedule, with the LTS only coming every 2 years. Therefore, with Ubuntu, you can essentially set up your server once and expect it to stay stable till the next LTS, but still get the benefits of security updates.
Fedora has the advantage of being the base for RHEL, giving access to a huge amount of enterprise software. Fedora has a faster release cycle, meaning much more up-to-date applications compared to Ubuntu LTS. Updates are pretty frequent, which might not be preferred by some.
Overall both distributions have a reputation for stability, polish, and large communities of users.
It might be good to say that Ubuntu is better for servers. Fedora just moves way too fast and CentOS is too slow. The LTS seems to be the right fit for a “set and forget” style server. CentOS is a great distribution (being, in short, an RHEL clone) and it’s the best choice for a server.
On the “other side”, Debian might be preferred over Ubuntu in some context. You can read our comparison for more info.
Conclusion – Fedora vs Ubuntu
We’re sure you will (dis)agree with some of our opinions in this comparison, so please leave a comment below. At the end of the day, every user has a different experience with each distro. Every user has different needs and preferences. The best way to choose between the two is to actually try them out. Trying them out for yourself is pretty easy considering you don’t even have to install the distro, you can just use a Live version or a VM. And for servers, you can get a cheap server or use the trial/money-back guarantee feature with providers like Vultr.
If you want a “tl;dr version” of this comparison, the comparison table at the top is the way to go.
This post was last modified on April 17, 2019 8:23 pm
View Comments (6)
From a devs perspective Fedora is easier to deal with IMHO because Debian, and by extension Ubuntu tends to split and/or rename packages. The packages in Fedora's repos tend to be named more closely to their upstream source's name. Not so much for Debian derivatives.
What makes Fedora great for me, a short but significant list (for me): SELinux, configuration of network printers (especially Epson) is a breeze. Most important I have a Broadcom wireless and with Fedora 30 the Broadcom drivers are not needed, which gives a rock solid wi-fi experience. I use the KDE spin and it is a superb experience.
This is really helpful, in my opinion, I personally go with Ubuntu because of OpenStack, Kubernetes, Ceph and Linux support in a single subscription. Anyway thanks for sharing.
As I am always installing packages in my host, as opposed as setting up a container, my host gets bloated with lots of packages that I end not using after sometime. I wish that I could revert easily to original state in a easier way. Making btrfs snapshot helps, but it's not yet there for simplicity; snapper or apt-btrfs-snapshot are making progress.
I have been going between Fedora and Ubuntu quite a lot, but I do spend more time in Ubuntu as I have a long history with Debian and the package collection is larger.
Fedora Silverblue and it's toolbox tool seems like a interesting solution. But I am more used to btrfs and can't move to xfs comfortably. I had a few fails with xfs and none with btrfs, ironically. Stoping DNF can cause some trouble, as opposed to apt that can be crashed/restarted without much issue.
Debian is going to support Wayland and are not negative to Enlightenment. I haven’t used it so much but I would say it is a much better choice. Fedora and other RPM based distros are great. Arch based distros are also a good choice. I think most things Ubuntu does seems to be a failure. Ubuntu touch, Mir, their desktop experiments. I used it 10 years ago. Why use it when there are so many other distros.
i do not like any ubuntu based distros I avoid them. Debian is much better.