Emerge command being executed to install a package in Gentoo
The process of merging (installing) a package in Gentoo.

The differences between Gentoo and Ubuntu are significant, and they are intended for a different user base. However, a user that isn’t familiar with one OS or the other may want some more information before crossing over to the more technical OS for power users, or the more consumer-oriented Ubuntu.

The beauty of Linux is that it offers a high level of software compatibility across the numerous distributions, so there is one for everybody. Let’s first take a look at Ubuntu and it’s background.

Ubuntu is a Linux distribution by Canonical that was launched in 2004. For a limited time, Ubuntu live CDs were being given away for free to anyone that may be interested in trying it out without having to install it. Ubuntu eventually became a popular entry point to Linux for many Windows users. Both Gentoo and Ubuntu still offer Live DVDs that you can download and write to a blank DVD or USB drive. The Ubuntu installation ISO is also the live DVD, so you can continue trying out the OS while it is installing in the background!

Gentoo Live DVD.

Ubuntu Live DVD.

1. Ubuntu Vs Gentoo Installation

Ubuntu can be installed with a few clicks and no command-line operations. It just works right ‘out of the box’ as some would say. It is very beginner-friendly and a person who is just learning how to use Linux (or even just learning how to use computers) can get started with Ubuntu just as quickly as Windows.

While there are various 3rd-party installation packages available for Gentoo that make it easier, installing Gentoo the way that their handbook recommends is substantially different from Ubuntu installation. Gentoo installation is more involved and will make you more acquainted with your system. It can also take a very long time (both due to the lengthy configuration process and compilation time, if on an older computer).

If installing Gentoo, you have to compile the kernel, install X server, install a desktop environment, and edit configuration files to make them start automatically (if you wish). For this reason, Gentoo isn’t an ideal entry point for people who haven’t yet used Linux, as the Gentoo installation process requires some technical knowledge about file systems, kernel configuration, among other topics in order to complete the installation satisfactorily. Gentoo installation should be started early in the day, as it can take quite a few hours in some cases (several hours on an older computer if you choose certain options).

If you made it through the Gentoo installation, it’s likely that you learned quite a bit about Linux and how it works along the way.

2. Performance And System Resource Usage

In many cases, performance and system resource (CPU and RAM requirements, to be specific) usage are inversely proportional. Gentoo Linux is often significantly faster than Ubuntu, to such an extent that Gentoo could be considered a must-have if performance is that important to you. This is likely due to lower system resource requirements (due to less bloatware).

While Ubuntu and Gentoo are both Linux-based and have much in common, the Ubuntu installer bundles a number of unnecessary drivers and other software in case some users need them. Gentoo installations are tailored specifically for your PC.

Your sound card, your CPU, your GPU, your NIC, and the list goes on. That means that you’ll have the opportunity to select or omit kernel modules and drivers during installation to reduce the burden on your machine during startup and in general. The catch is the long installation process.

Memory usage under 200MB is very easy to achieve in Gentoo. With Ubuntu, the almost unparalleled ease of use comes at the price of higher memory and CPU usage.

3. Gentoo Package Management And How Software Is Installed

Ubuntu and Gentoo both have their own package managers — dpkg and Portage respectively, and they are fairly easy to use. However, Gentoo’s package manager — Portage compiles software from source code to run on your hardware. This provides the opportunity to slim down your binaries (executables) and optimize software specifically for your own hardware (instruction sets vary with CPU, for example).

Binaries/compiled packages offered by software vendors are (understandably) designed to maximize compatibility so that users can just download them and have them run on any machine. Software compiled from source the conventional way is not registered with or updated by the package manager (regardless of OS). Package managers provide the benefit of updating your entire system and installed 3rd-party software with a single command.

Gentoo’s package manager tries to provide the best of both worlds by compiling for just your hardware (but without putting you through the manual compilation process), and it does a decent job. This helps to achieve the low system resource usage mentioned in the heading above. The big catch here is how long it takes to compile software.

Installing a package (via command line in this case) in Ubuntu can be as simple as:

apt-get install gimp

In Gentoo, it can be as simple as

emerge --ask gimp

The ‘–ask’ parameter makes it ask you to confirm that you want it installed, after providing the exact package name that was found. ‘Merging’ refers to installation.

You definitely want to use ‘–ask’ if you aren’t sure what the package name is or search the Portage package directory like I did here for GIMP. ‘gimp’ is not the package name, but instead is a keyword that it searches for. The aptitude installer does that in Ubuntu as well. The package name in this case is actually shown in the following details after executing the emerge command:

[ebuild R ] media-gfx/gimp-2.8.22-r1

You may need to run etc-update to make necessary changes to USE flags when installing certain packages in Gentoo. When you type ‘Yes’, emerge proceeds to download and compile the source code of the program you’d like to install for you and you will see what appears to be gibberish on the screen for a while (this is the compiler’s output). A powerful CPU will most definitely come in handy during package installation on Gentoo.

4. Rolling Releases

Gentoo is a rolling release distribution, which means that it receives small updates frequently, unlike Ubuntu which is versioned with long-term support (LTS) and code names such as Bionic Beaver.

5. Gentoo Uses OpenRC, Ubuntu Uses systemD

Ubuntu uses the systemd init system to load services/boot the system and manage services. Gentoo uses OpenRC.

Commonly used systemd commands include:

systemctl start servicename

systemctl stop servicename

systemctl reboot

systemctl enable

OpenRC may be a lighter alternative to systemd.