Exploring Arch derivatives Antergos and Manjaro
Pretty Packages
Manjaro and Antergos put the power of Arch Linux in a beginner-friendly form.
Reviews
For several years, Arch Linux [1] has enjoyed great popularity with experienced users. The Linux-from-Scratch-based system [2] relies on simple concepts and thus runs very quickly; Arch offers users convenience and a very large software pool with its iconic package manager Pacman. Because Arch uses a rolling release schedule, the software is always up to date. (See the box titled "Rolling Release.") The key disadvantage of Arch is that it isn't especially beginner friendly.
Rolling Release
Because Arch and Arch derivatives have rolling releases, new program versions are continuously added to package management and not just at fixed cycles. Continuous updates are a big advantage, because you always work with the latest versions of the software installed on your system.
However, rolling release updates have their problems: It is not without reason that the major distributions, such as Debian, Ubuntu, Red Hat, and SUSE reject this principle. Maintaining a rolling release in a way that prevents problems with major updates to system software is a huge and difficult task. Essential components, such as the kernel, GLib, drivers, and important libraries, are too closely interlinked.
For this reason, you need to be prepared to tolerate some minor issues with uncustomized versions. For example, the current ZFS module requires a slightly newer version of the kernel than the one currently installed. You could solve this problem at installation time by customizing the PKGBUILD file and changing the version numbers that were changed. Of course, this kind of troubleshooting is wholly inconsistent with the "user-friendly" image of Manjaro or Antergos.
The quest for a friendlier Linux with the benefits of Arch has led to a new generation of Arch-derivative distros. A pair of popular Arch-based systems are Manjaro [3] (pronounced as in "Kilimanjaro") and Antergos [4] (formerly Cinnarch).
Both Antergos and Manjaro offer their own graphical installation tools and have their own graphical package managers. Like all Arch-based distributions, they provide standard desktops such as Gnome, KDE, and LXDE (Figure 1).
Simple Arch
Manjaro builds on Arch Linux; it offers some adaptations, such as its own software repository and its own tools; below the surface, however, Manjaro is a lot like Arch. For example, you can also install software from the Arch user repository on Manjaro. Antergos is also very similar; in fact, Antergos retrieves its software directly from the Arch repositories.
Manjaro and Antergos focus on the user experience. You'll find evidence of this user emphasis in the graphical installation routines, the choice of desktop environments, the graphical package manager, and the preinstalled multimedia codecs. Therefore, Manjaro, in particular, is perfect for an introduction to the Arch Linux universe. If you want the real Arch Linux later on, you can convert a Manjaro system into a classic Arch [5].
Both Manjaro and Antergos give the user a choice of several kernels – the current kernel, often a preview of the next version, and sometimes older, very stable versions. This choice of kernels thus offers the latest features and drivers for current hardware or, alternatively, just great stability and continuity.
Manjaro boasts particularly good hardware detection based on mhwd
– a self-developed command (see "Hardware Detection with Mhwd"). Mhwd detects the hardware installed on your computer and configures it at run time. The program is still in development, though, so not everything works correctly as yet. The Manjaro wiki [6] describes this command in detail.
Hardware Detection with Mhwd
The mhwd
command is controlled by several options. For example, -h
displays a short help, and --pci
or --usb
restricts output to the appropriate devices. The most important options are -lh
(show hardware), -la
(display drivers), and -l
(display configurations). The -d
switch shows detailed information.
In addition to the actual mhwd
command, there are several variants of this program. The most important of these is mhwd-kernel
, which lets you manage the kernels that Manjaro provides. Using the -l
option shows the available kernels, -li
shows the kernels on the system, -i
installs a new kernel, and -r
removes a kernel. The tool ignores kernels that come from the Arch User Repository (AUR). You use the package manager to manage these.
Based on experience with installations on three different machines, hardware detection on Manjaro is of a similar standard as on Ubuntu: Almost everything is correctly detected, and much is correctly configured automatically. In some cases, older, not particularly well supported hardware needs some manual work and experimentation. Manjaro's hardware detection may not be better than Ubuntu's, but it is not significantly worse.
In contrast to Antergos, Manjaro uses its own repositories, to which new software is added only after in-house testing. This procedure ensures high system stability of Ubuntu caliber, but this also delays the delivery of critical updates. You can additionally retrieve missing or updated software directly from the Arch Linux repositories. Nevertheless, this approach has caused some criticism to be levied at Manjaro, which fully forks the Arch packages for only very minor changes.
The Arch User Repository (AUR) entices users with many current packages and new developments, but installing programs from this source also entails some risks. AUR provides considerably more software than Manjaro or Antergos, but it might not be so well tested. If you install software from AUR, scripts automatically build from the source. In most cases, this works without any problems, but we will return to this subject in the course of this article.
Note that AUR provides PKGBUILD scripts that let you install software, mostly from source code, that is not in the official Arch repositories. This software include applications that are not included in the Arch repositories because of their licensing or recent programs that have not yet made their way into the official repositories.
For many packages, you will see several different versions. For example, the current stable version of GIMP 2.8.10 is available, as well as the developer version 2.9.1 (installing this can involve some extra mileage). Also, some older versions are still included in AUR. This situation makes AUR less clear to use than the Manjaro repositories. You will not find any developer versions there.
Installation
While Antergos only offers an install image [7] with the Gnome shell as the desktop environment (Figure 2), you have different options in Manjaro. Depending on which desktop you prefer, you can download images for the Xfce, Openbox, or KDE versions [8], which are only suitable for DVDs because of their size.
If you want to avoid burning a DVD, then you can copy the downloaded image to a plugged-in USB stick mounted as /dev/sdx
by typing
dd bs=4M if=manjaro*.iso of=/dev/sdx
For details, see the Manjaro Forum [9] or use apps like the USB creator provided by Ubuntu.
Thanks to the graphical installation routines by Manjaro (Figure 3) and Antergos, manually installing these Arch derivatives is quite easy: The setup program is similar in many parts to Ubuntu or other established distros, so there is no need for detailed explanations here; however, the options of these installers are limited.
Installing with the text-based setup tool is somewhat rustic but also much more detailed. Manjaro offers two variants of this: The testing installer supports computers with UEFI BIOS and SSD-optimized Btrfs; the stable installer, which is reminiscent of Debian (Figure 4), is better tested, and therefore more recommended.
Even without in-depth technical knowledge, the installation works without a graphical environment. Caution is, as always, advised when partitioning the hard disk: Delete the incorrect partition, and your data will be lost. Alternatively, you can partition your hard drives with GParted or the GParted Live CD.
Package Managers
The package system plays a central role within a distribution because it ensures a smooth install – which is relatively easy – and replaces installed packages in case of updates – much more complex. Arch Linux relies on a special package format comparable to that of Debian or Ubuntu. It is based on XZ compressed TAR archives, supplemented by some control files [10].
If you are migrating from a different distribution, commands like apt-get install
, yum search
, or zypper dup
are probably pretty familiar. You can see the main Pacman [11] features compared with those from apt-get
or dpkg
in Table 1. In the Arch wiki, you will also find a very well made compilation under the Pacman Rosetta [12] entry, which translates each call to the Fedora, SUSE, or Gentoo syntax.
Table 1
Pacman Overview
Pacman Command | Debian/Ubuntu Counterpart | Function |
---|---|---|
Installation and Updates |
||
|
|
Update package sources and install updates |
|
|
Install or update packages |
|
|
Find installable packages |
|
|
Show package groups |
|
|
Display the content of a package group |
|
|
Display information for non-installed packages |
|
|
Download without installing |
|
|
Update package database |
|
|
Rebuild package database |
Removing Packages |
||
|
|
Uninstall package |
|
|
Remove package without taking dependencies into consideration |
|
|
Remove package with dependencies |
|
|
Remove package with all dependencies (and their dependencies) |
Queries |
||
|
|
Display installed packages with version numbers |
|
|
Find installed package |
|
|
Display information on installed packages |
|
|
Display installed package files |
|
|
Display package to which the file belongs |
|
|
Find updates for installed packages |
Other Actions |
||
|
|
Check installed packages |
|
|
Display orphaned packages |
|
|
Delete package cache ( |
|
|
Delete obsolete packages |
|
|
Install local package |
|
|
Optimize package database |
* The most important options, such as -S or -Syu, can be displayed by typing yaourt or pacaur. |
All Arch Linux-based distributions rely on the same package manager used by the classic Arch Linux: Pacman. In terms of function, it corresponds to dpkg
for Debian and Ubuntu and is thus predominantly used for internal tasks. However, it also assumes a further role by taking over many of the functions of apt-get
.
Manjaro and Antergos provide simple graphical front ends as Pacman add-ons. Manjaro relies on Pamac Manager here (Figure 5), whereas Antergos uses PacmanXG (Figure 6). You also have the yaourt
command-line utility, which we will look at in more detail later on and is designed especially for installing software from AUR. Despite all the advantages of the front ends, users will not escape the pacman
command in some cases. A number of special actions are only possible with this program.
To update the entire system, you will probably want to use pacman. The easiest way to do this is with pacman -Syyu
. The pamac-manager
tool automatically does something similar at boot time, but it fails if it finds dependencies that it cannot resolve. Using pacman, you perform the update in several steps and initially skip the problematic packages. Once the updates for the missing packages are complete, you can then catch up.
Installing specific packages, especially those built from source code, often loads a number of additional packages as dependencies, which then just lie around cluttering up your system. These "orphaned" packages consume hard disk space and can cause problems during updates under unfavorable conditions. Once in a while, you need to delete these orphaned packages. You can will find these packages by typing pacman -qDT
; pacman -R <packagename>
removes them. The call to pacman -Qdtq | Pacman -Rs
both summarizes and automatically deletes orphaned packages; under Ubuntu or Debian, you may know this command as apt-get autoremove
. The Manjaro wiki documents the essential functions of pacman [11].
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.
-
Gnome OS Transitioning Toward a General-Purpose Distro
If you're looking for the perfectly vanilla take on the Gnome desktop, Gnome OS might be for you.