Ubuntu vs Arch Linux

Header Image

Content

  1. Why Ubuntu vs Arch Linux?
  2. Installation
  3. Release Cycle
  4. Applications
  5. Desktop
  6. Security
  7. Conclusion

Ubuntu and Arch Linux are so different that it seems comparing them doesn’t make sense. I was an Ubuntu user for 10 years and last year I switched to Arch Linux. I would like to share my experience with both distros and compare them from an average Linux user perspective.

Why Ubuntu vs Arch Linux?

There are so many distros to choose from that one can easily get lost. It is also difficult to compare distros without experiencing them for a long time. I also tried many distros but I would always go back to Ubuntu. Actually, I have been an Ubuntu user for more than 10 years.

A year ago, I installed Arch Linux and it was the first time I didn’t go back to Ubuntu. There was something I liked about Arch Linux and I would like to share it with you.

My experience with both Ubuntu and Arch Linux largely reflects their fundamental principles:

  • Ubuntu: release quality, security, usability

  • Arch Linux: simplicity, modernity, freedom

Let’s have a look at the details.

Installation

Ubuntu

This is one of the things I like about Ubuntu. Installation is straightforward because of the GUI. Any user can install it. This is one of the reasons why Ubuntu is the most widely used Linux distro.

Ubuntu installation

After the installation, I have almost every application that I need on a desktop, like a text editor, browser, office suite, etc.

There is also a Driver Manager application that makes the processes of installing proprietary drivers extremely simple.

Ubuntu ready to go

However, the downside of this is I lose control of what I would like to have in my system.

I honestly don’t like how bloated the system is after a fresh install. There is an option in the installation GUI to choose between normal or minimal installation. However, they are not that different. I tested the normal installation and it totaled 5.4G while the minimal installation is still 4.7G.

I’ll give you some pre-installed packages (even in minimal installation) that I don’t use:

ubuntu-report - It reports hardware and other collected metrics like an installer or upgrade information. This is used by the welcome message GUI.

popularity-contest - It sends information about installed packages for package popularity/usage statistics. Even if it is disabled by default, it is still there consuming disk space.

thunderbird - I access my email using a browser instead of using a client. This consumes 174MB of disk space.

I also do not need all pre-installed games, Remmina remote desktop client, Document Scanner, Bluetooth applications and some other programs.

You can see the list of pre-installed packages at Ubuntu 20.04 LTS (Focal Fossa) pre-installed packages page

Ubuntu is fast and easy to install distro with various preloaded applications. The way they made the installation process is really great. I can update the packages while installing the system, choose to add non-free software and it also gives me the option to choose the minimal installation. The welcome screen also helps to find such useful for me applications like Visual Studio Code, Android Studio, IDEA community, etc.

Arch Linux

I believe that installing Arch Linux is the turning point for most users. Not everyone is willing to spend time manually installing the system. There is no GUI, only a command-line environment is provided, so you should at least have enough familiarity with Linux commands.

Arch Linux installation

I remember when I installed Arch Linux for the first time, it took me a while to make it work. I, being an average Linux user, didn’t immediately understand the documentation that Arch Linux has. That’s why I’ve installed it first in a virtual machine, tested it and documented the steps I did just to make sure that it will run perfectly when I install it on an actual machine.

I found other Arch-based distros with GUI like Manjaro to make my life easier but why do I still choose Arch Linux? Because I want to have pure control. Manjaro would be like Ubuntu, just with the latest software. On the other hand, Arch Linux is for people who prefer installing something as they go rather than removing unneeded and unwanted packages.

I will not dive deep into how to install Arch Linux here. You can consult the official documentation or follow this adapted Arch Linux installation guide.

Installing Arch Linux may be hard and time-consuming, but for me, it is all worth my time and effort. Thanks to Arch Linux, I have learned how a Linux system works. Their wiki has everything you need whether you are installing or troubleshooting something.

Release Cycle

Ubuntu

Ubuntu is a point release. This means that the system and applications bundled with it were heavily tested against performance, compatibility, and security.

The problem here is sometimes major release can make a mess in your system like when they replaced Unity with GNOME in 18.04. I came from Ubuntu 16.04, and at that time I was using Unity but it also installed GNOME.

Another example is in Ubuntu 17.04, they decided to switch from Xorg to Wayland. Then in Ubuntu 18.04, they moved back to Xorg.

How about when they dropped Upstart and went to Systemd. We never know what else to come.

In my experience, every time I decide to upgrade to a major release, I will just do a clean install of the whole system instead of trying to do a system cleanup. It takes a lot of time for me to reinstall, remove unwanted things and customize it all over again.

I always prefer LTS (Long Term Support) release because it has 5 years of support. It gives me some reassurance that the release I am using will be stable for a long time. I like Ubuntu’s release cycle. It is not too fast to make sure that it is thoroughly tested and not too slow, so that packages are not too outdated.

The image below from Ubuntu’s official website will give you a clear picture of the release cycle.

Ubuntu releases

To know more about the Ubuntu release cycle, go Ubuntu Release Cycle page

Arch Linux

Arch Linux is a rolling release. This means that it will only have a single, constantly updated version of your system with the latest version of applications. The downside is that you might encounter incompatibility issues or worst, break your system.

I’ve also considered these things. However, I still preferred using the latest Linux kernel. So far, I have not had any major issues like the system not booting at all. You can also install Long Term Support (LTS) Linux kernel or upgrade the system first before refreshing the package list to avoid dependency issues.

The question is do we always need the latest and greatest? Well, it depends on your hardware and preferences. The latest Linux kernel will have better support on the latest hardware. Let’s say you have an NVMe SSD, Linux kernel 5.6 is more optimized for it and will have temperature monitoring for it. It also includes USB4 and WireGuard support.

As of writing, the Linux kernel for Arch is 5.6, while Ubuntu 20.04 LTS is 5.4.

Applications

Repositories

A repository is where applications are retrieved for installation. Basically, the larger the number of packages in the repositories, the more applications you can install.

Ubuntu

Ubuntu divided its repositories into 4 categories.

  Supported Unsupported
Free software Main Universe
Non-free software Restricted Multiverse

Total number of packages (20.04 LTS Focal Fossa):

Repository Number of packages
Main 6,114 (amd64) + 4,514 (i386) = 10,628
Universe 52,841 (amd64) + 29,068 (i386) = 81,909
Restricted 146 (amd64) + 50 (i386) = 196
Multiverse 816 (amd64) + 432 (i386) = 1,248
marvin@ubuntu:~$ for f in /var/lib/apt/lists/*Packages; do printf '%5d %s\n' $(grep '^Package: ' "$f" | wc -l) ${f##*/}; done | sort -n
   50 nz.archive.ubuntu.com_ubuntu_dists_focal_restricted_binary-i386_Packages
  146 nz.archive.ubuntu.com_ubuntu_dists_focal_restricted_binary-amd64_Packages
  432 nz.archive.ubuntu.com_ubuntu_dists_focal_multiverse_binary-i386_Packages
  816 nz.archive.ubuntu.com_ubuntu_dists_focal_multiverse_binary-amd64_Packages
 4514 nz.archive.ubuntu.com_ubuntu_dists_focal_main_binary-i386_Packages
 6114 nz.archive.ubuntu.com_ubuntu_dists_focal_main_binary-amd64_Packages
29068 nz.archive.ubuntu.com_ubuntu_dists_focal_universe_binary-i386_Packages
52841 nz.archive.ubuntu.com_ubuntu_dists_focal_universe_binary-amd64_Packages
marvin@ubuntu:~$ 

Arch Linux

Arch Linux has 2 repositories.

Supported Unsupported
Official Repository AUR (ArchLinux User Repository)

Total number of packages (as of April 19, 2020):

Repository Number of packages
Official 11,313
AUR 63,809

Note, it may seem that Ubuntu has more packages in total, but it is because there are amd64 and i386 packages for the same applications. Arch Linux doesn’t support i386 any more.

Software Installation

Ubuntu

Installing an application in Ubuntu is a breeze.

You can manage applications with a GUI using Ubuntu Software. This is another plus of using Ubuntu. I simply type in what I’m looking for and click install. Another thing I like is that I can also see the description as well as the rating.

Ubuntu Software

Starting 20.04 the Ubuntu Software will now use Snap Store. What does this mean?

PPAs and .deb packages are typically installed with root privilege that can cause a security hole and dependency problem. Canonical addresses this by using snappy apps that are isolated. The major advantage here is that if an application breaks, it will not affect your system.

For example, I installed VLC using Ubuntu Software/Snap Store. It went in /snap/bin/vlc. Then I installed it using apt and it went in /usr/bin/vlc.

I noticed that Snap apps take slightly longer to launch and they also cause duplicate install.

Ubuntu duplicate app

I can see the point of why Canonical did this. Ubuntu is more focused on usability, that’s why it is commonly used by those who do basic stuff on their desktop, like editing documents, sending emails, browsing the web, and such. People who are used to install applications from Apple App Store, Microsoft Store or Google Play Store can easily adapt to Ubuntu.

There is also a command-line package manager called apt. This will install deb version of packages.

To install a package, go to terminal and type:

sudo apt install <package>

Arch Linux

There is no GUI provided by Arch Linux for installing applications and I also don’t recommend using one. I used CLI when I’ve decided to install Arch Linux so I think it is better to just install other packages that way.

Official repository

Packages from the official repository can be installed using the package manager called pacman. At first, I could not remember the options of this package manger. Unlike with apt that uses self-explaining commands like apt install for installation. In pacman, it is -S which means sync. It is shorter but harder to remember for a new user.

To install a package, type:

sudo pacman -S <package>

You can also search a package by typing:

pacman -Ss <package name>
AUR

Now let’s go to AUR. It is the strongest point of Arch Linux. It is the one-stop-shop for every package that is missing in the official repository.

The packages are supported and maintained constantly by developers, making it easy to maintain, unlike installing individual PPAs. I can also see what is happening on my system when scripts install the package because of the .PKGBUILD file.

I am using yay to easily install packages from AUR. There’s an existing post that covers all the details for this AUR helper.

I also like using yay because it will look for the package in both the official repository and AUR.

yay -Ss <package name>
GUI Software Managers

Although I strongly do not recommend using GUI to install Arch Linux packages, here are some options for installing packages in Arch Linux with GUI:

Software installation in Arch Linux is what I really like the most and what made me stay. I find my workflow much faster. Whenever I need to install something, I will open the terminal and just search the official repository and AUR by using yay. I don’t need to go to a website or deal with PPAs. See example below:

Ubuntu:

sudo add-apt-repository ppa:gns3/ppa
sudo apt update                                
sudo apt install gns3-gui gns3-server

Arch Linux:

yay -S gns3-gui gns3-server

Desktop

I don’t use GNOME but I will compare it for both Arch Linux and Ubuntu.

Ubuntu is using a customized GNOME. Arch Linux will always have the vanilla GNOME. Also, Ubuntu’s GNOME will be a little outdated (3.36.0 for 20.04 LTS) as time goes. Whereas Arch Linux, of course, will have the latest version of GNOME which is 3.36.1 as of writing. The image below shows GNOME look of both distros.

Ubuntu GNOME

The first thing you will notice is Ubuntu has the Favorites panel on the left side. Also, desktop icons are enabled. You can also achieve all of this by installing gnome-tweaks and gnome-shell-extensions packages in Arch Linux.

This comparison desktop comparison of Ubuntu vs Arch Linux is hard since both distros can achieve the same look and feel. Both feel smooth and there is no noticeable difference in performance. It is maybe because Ubuntu 20.04 has just been released and it has close to the latest version of GNOME. But if we look at Ubuntu 18.04, GNOME version is 3.28 which is pretty old right now.

Security

Ubuntu

In Ubuntu, I don’t need to worry about security because I know that Ubuntu developers constantly check for vulnerabilities and address them by sending security patches. You can change the update frequency in Software & Updates > Updates. I usually set the security updates to download and install automatically.

Arch Linux

I don’t want any service running on the background just checking for vulnerabilities. I’ve subscribed to Arch Linux Security Feed and check it from time to time manually.

The best way to check vulnerabilities from Arch Linux is by installing a package called arch-audit.

sudo pacman -S arch-audit

More often, I’m not bothered with low-risk vulnerabilities, it just gets my attention when it comes to medium to high-risk ones:

[marvin@arch ~]$ arch-audit
Package openjpeg2 is affected by CVE-2019-6988. Low risk!
Package qemu is affected by CVE-2019-20382. Low risk!
Package unzip is affected by CVE-2018-1000035. Low risk!
[marvin@arch ~]$

Also, since Arch Linux runs the latest versions of software, it usually receives all fixes with the updates. But of course, having the latest software also poses a risk of having new vulnerabilities.

Conclusion

To wrap this up, you can never go wrong with either Ubuntu or Arch Linux.

I would go for Ubuntu if I want to install and run as fast as I can without worrying something will not work. Ubuntu does the testing and I don’t need to spend time checking for bugs or incompatibilities. I will also recommend it for production or critical use such as a server. Lastly, I will also choose Ubuntu if I’m installing it for a regular user since it is more user-friendly.

I would go for Arch if I want flexibility. I can customize everything I want. There is no perfect distro, so just make your own that will suit you best. It is worth your time. The time you will spend building it will save you time in the future removing something you don’t like.

Ubuntu is for ease of use and Arch Linux is for flexibility. I can’t say that one is more stable than the other since it will depend on the user.

This is like building your desktop. You can go with a pre-built without the hassle or you can also assemble your desktop to tailor your needs but that requires investing your time doing your research for incompatibilities and performance reviews.

Please consider supporting this project:


Become a patron Donate by PayPal Buy me a coffeeBuy me a coffee Shop on Amazon Buy Linux Laptop Build Linux PC BTC: 1CfCLTYCqqDfYbngcvQtEav3n7SMZihfSS

Marvin Tan
Marvin Tan Another random guy leaving footprints in cyberspace. Software Tester • OSCP Wannabe • Open Source Lover