A couple of things before starting. First, while I do spend lots of hours in Linux (both work and home), I don’t really do much with it. I don’t connect tablets, I dont do castings, I do not share, I dont connect to any device directly, not Android, not printers, not even other Linux machines. I dont do Linux programming and I’m not even using special configurations. Everything’s on an ext4 partition, a UEFI boot and zero encryption.
The other thing is that I have grow social considerations. I believe that people should turn into a more community based industry model (it’s not communism!), and keep some distance from today’s corporational models, or at least not act in advanced of them. In this regard Arch Linux project earns some points against Red Hat and Canonical products. Besides GNOME is a community project itself, so Arch fits better by definition!
Finally, I’m sending you this from my Chromebook :)
The only reason there is an installation section is Arch. Arch Linux is the only system out of the three that doesn’t offer a Next Next Next Done! GUI installer. Furthermore Arch requires an active internet connection as it downloads packages during installation.
Look! I really got a very bad opinion about Arch CLI installer. It doesn’t teach us anything useful, most of the process is automated anyway and I feel it is a pure waste of time, but I won’t try to convince you for it. If you insist on losing your time, you can also doit with Fedora and Ubuntu, because they are obviously offer CLI installers too!
Thing is that when you boot from an Ubuntu or Fedora installation image, you got a running system approximately in 8 minutes, when in Arch case depending your installation skills and the speed of internet connection it can take from 25 to 50 minutes.
So the point is while someone is still installing Arch, a Fedora user has finished watching a Ash Vs Evil Dead episode!
I’m completely skipping dual boots, because this is not good Linux story! Because on my desktop I use lots of disks, with different Linux (and Windows), I have created a unique disk just for booting. And the fact that I can write Grub config files with eyes shut, shows how bad dual booting is! Like the old days, I knew how to write Xorg config files in seconds!
But don’t be afraid! On all systems grub tools (sometimes) auto-discover and properly boot the rest installed systems (SURE!)
Pacman for ArhLinux, Dnf for Fedora, Apt for Ubuntu. I will start with Pacman!
Pacman is a tool that I believe is build around expressions. For example this is a very common case for Arch users
pacman -S $( expression... )
Where Pacman really shines is the performance! Amazing, impossible speed! Not only for discovering the updates, but also their download servers always hit the full speed of your network, with great response times (when lots and small packages)!
Even if Arch is a pure rolling release, Pacman is also giving us a great downgrader! In addition there are lots of tools for LTSing your Arch, and restore on previous updates state.
But here is where Pacman coolness stops! Pacman features a very bad dependencies resolver, that doesn’t like corrupted packages (when that happens) and manual installations (eg sudo make install). When that happens Pacman popups warnings, cannot update packages, in generally it bugs and Arch users are on their own to fix the errors.
Speaking of dependencies resolver, Fedora beats everyone hands down. Fedora is really really the most solid system of these three! It just doesn’t break, and if it does, usually it is easy to restore it!
The CLI interface of Dnf is typical, not much of complains, than it’s performance GOD IS STILL SLOW! ..
Well we are talking about the universal Linux updater (sic!). Ubuntu update method possibly can be described as something between Pacman and Dnf. Fast, easy and solid. When in point by point Apt cannot beat everywhere Pacman and Dnf, overall is the most user friendly CLI program. Not that any of them is really user friendly, and there will be times that you’ll need to get your hands dirty! Just saying that Apt is the least dirtiest!
Apart what is in the three system official repositories, there are also external sources to get more software. Ubuntu as the most popular Linux is obviously the winner here!
Ubuntu additional software can be found either on Launchpad with the PPAs or more commonly on projects websites, as typically everyone offers Ubuntu packages. In Ubuntu we can find pretty much anything, so nothing else to comment here!
Now in Fedora! Oh Lord! I don’t even have the psychological strength to describe the No1 issue of Fedora, and what makes this system to suck for desktop. What I will just highlight here, is the syndrome of the weak community support Fedora has, all starting from their FESCOs and Fedora board decisions. Anyway, I skip it!
On ArchLinux more obvious way for getting additional software is AUR (Arch User Repository). In general Arch packages are easy to build, and therefore Arch community deploys pretty much anything on AUR.
AUR has two super issues though.
- Most of the packages are build from sources (not binaries) and that is super annoying
- Pacman doesn’t handle AUR. You need a different program for it
Another big issue for Arch is when an Ubuntu user can get Atom, Steam, Chrome etc, from the official sites of Github, Valve and Google, an Arch user won’t find anything there. He should go AUR.
Github is an important part of Linux ecosystem. I shortly refer it, because on Github projects while the software will work everywhere, the instructions are mostly made for Ubuntu.
Flatpaks & Snaps
Flatpaks are pushed by Red Hat and Snaps are pushed by Canonical, so it is expected that best implementation will be on Fedora and Ubuntu respectively. But not really true. Apart the Stores (GNOME Software & Ubuntu Software ->which again is GNOME Software), the support of Flatpaks and Snaps should be identical in every system.
It may surprise you, but Arch provides the highest of quality of the packages are into it. It’s not really surprising though, probably is normal. Arch as rolling release, updates often the packages and so it fast closes upstream bugs, and I believe that the community gives a lot of testing and feedback, and issues usually are quickly get fixed. In general most of software in Arch is in a very good state.
Cant say the same for Fedora. Whatever package is considered Fedora-Core and is maintained by Red Hat engineers is perfect. On everything else, you may run into annoyances, and Fedora doesn’t show high flexibility to solve issues fast, neither giving major updates on their stable releases.
Ubuntu is somewhere between. It has the high quality of Arch, but it has the problem of Fedora, that they dont have the flexibility of rolling release updates.
Hard to say whats better here. For sure Ubuntu has top class support both from individuals (blogs, indie software) and companies, but Arch has an awesome wiki, while they dont run behind from the users community. Where Arch lacks behind Ubuntu, is the companies support, that they’re totally into Ubuntu and sometimes Ubuntu only.
Fedora? I politely pass! ..I can say only this! Fedora was the only worldwide system that Google was giving Chrome for Fedora ..that wasn’t working for months! Yeah, Google guys were giving something that they knew it wasn’t working, and they weren’t care.. For the story, it was an old SELinux bug.
I just refer that quickly. If you guys want to do some web development, assuming that you will deploy an isolated environment, everything works everywhere the same, and never had a single issue withe services tools, like Heroku etc, in any system.
Both Fedora and Ubuntu have a 6-month release schedule, and every six the user should make a massive upgrade. This approach for a desktop is ridiculous, it’s for making some newsrooms, and for doing release parties that nobody really cares. And even worse on upgrades (and specially on Fedora) you can end up with a messed up system, that will be hard to fix.
For Arch, nothing to say. Rolling release, with often but small updates, so if something will go wrong will be easy to track.
Concerning Ubuntu lets assume you used Ubuntu-GNOME spin. This together with official PPAs from Ubuntu GNOME team, will give you a fully updated GNOME desktop, and Ubuntu is releasing just a month after GNOME releases, so you basically have the latest GNOME soon enough. However there are lots of user complains for bugs on Ubuntu GNOME with PPAs.
Fedora Desktop Team is also GNOME contributors, so it would be impossible for Fedora not to provide the best that GNOME has to offer, and specially regarding things like Wayland and Flatapak support. However the release schedule of Fedora is unpredictable and by the time of this article, Fedora 25 (with GNOME 322) hasn’t been yet released. It is schedule for November 15, two months after upstream GNOME 322 release, or if you prefer with 1/3 delay since GNOME makes 6-month releases.
Arch gets latest GNOME around 3 weeks after GNOME official release, and excluding GNOME Software that you SHOULD NEVER USE in Arch (but for Flatpaks, Extensions and AppFolders) everything works equally to Fedora. And that might sound funny, (but on my experience) GNOME on Arch works better than Fedora. It performs lots faster.
Progress Over Time
This is a very important parameter to think about when you’re about to choose a Linux system. While switching Linux is possible and fun, and people are doing it, it is also unproductive and at some point when the excitement will be gone, you’ll realize that you want to stick to a single system and live with a single system problems!
Fedora in the last 3 years shows great improvement on each of their releases, while Ubuntu if not getting worse and worse over time, is at least stagnant. Even their Launchpad, one of the best and most useful projects by Canonical, seems low developed, while Fedora keeps putting new services online and keep improve all their old.
Arch is more like a documentation project and it is really not affected by time. They mostly deploy and ship software, packed on a Linux system.
Overall and taking into account that GNOME is gonna be our desktop I would go with Arch as first choice, but I’m not sure what will be second and what third. But honestly dont believe for a second that the differences of these three systems are huge! They aren’t! You can do the exact same things, on the exact same way in all these three!
And if it doesn’t really matter what will choose and if the differences are small, why the hell I did this huge post? Good question :/