Table of Contents

Arch Linux and derivatives

I used Antergos, a distribution based on Arch Linux, from 2017 to 2019 when it was discontinued. The advantage of Antergos was that it bundled a desktop with a lot of default software.

Arch Linux is refreshingly simple and fast to install, but leaves you with a base system that may need a fair amount of extra work to be useful, especially if you want a full GUI desktop. Much like Gentoo, once you get everything installed and configured, updating is as quick and simple as any Linux distribution.

The reason to choose Arch is when you want more control over what gets installed than the mainstream distributions, or if you want to run Linux on less powerful equipment such as old computer, VMs, or a Raspberry Pi.

Arch Linux Desktop Installation

Arch Linux Troubleshooting

Antergos -> Arch update issues

Conflict errors with pacman + pamac, libdmx, libxxf86dga, and libxxf86misc.

Show/Hide pacman & pamac update issues
Remove the problem packages (optionally including pamac), then update everything.

Only remove packages that are causing conflicts for you.

The example below shows three libraries that two of my machines needed to have removed, but on another one I did not need to remove libxxf86misc.

Also note that pacman -R is typically what you want to use, but when dependencies prevent removal of something that you know you need to remove, such as this situation, then using pacman -Rdd forces removal ignoring dependencies.

$ sudo pacman -Rdd libdmx libxxf86dga libxxf86misc [pamac]
$ sudo pacman -Syu

Unfortunately, the pamac tool from Antergos depends on an old version of pacman and there does not seem to be an updated version, so it cannot be updated using the antiquated Antergos repositories. See below for changing to Arch.

If you want to leave pamac in-place just don't remove it and continue to not update pacman.

See https://www.archlinux.org/news/xorg-cleanup-requires-manual-intervention/ for more.

If you get errors like this:

error: hook /usr/share/libalpm/hooks/20-systemd-sysusers.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/update-mime-database.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-tmpfiles.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/fontconfig.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-binfmt.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-daemon-reload.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/update-appstream-cache.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-hwdb.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-catalog.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-sysctl.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/xorg-mkfontscale.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-update.hook line 2: invalid value Path
error: hook /usr/share/libalpm/hooks/30-systemd-udev-reload.hook line 2: invalid value Path
error: failed to commit transaction (failed to run transaction hooks)

This means that the ALPM library is outdated, which is part of the pacman package. This happens when you have Pacman 5.1 and the repositories are expecting 5.2. It can happen from an Antergos or Manjaro installation.

To fix this you need to manually download a version 5.2 package and install it, e.g.:

cd /tmp
wget https://manjaro.moson.eu/stable/core/x86_64/pacman-5.2.1-4-x86_64.pkg.tar.zst
sudo tar -C / -I zstd -xvf /tmp/pacman-5.2.1-4-x86_64.pkg.tar.zst

After that do:

pacman -Syu --ignore pacman

This will update your system ignoring pacman because pacman does not know it was updated (since it was done manually) and will complain of file conflicts.

Once the system is updated, then you can deal with aligning the Pacman version.

pacman -Su --overwrite '*libalpm.so*,*pacman*,/usr*makepkg*'

Ref: Manjaro forums

Switching from Antergos to Arch

Now that Antergos is completely gone, as well as its mirrors, and since they did not swap their mirrors for Arch as had at one time been promised, this needs to be done manually.

Show/Hide: Switching from Antergos to Arch repositories
You might also consider switch entirely, as a distribution dubbed EndeavourOS has decided to invite Antergos users to switch to their flavour of Arch Linux. You can read about what they are doing differently from Antergos to avoid the same issues that they say caused Antergos to collapse at the link just given.

For myself, it seems a shameful waste of time to throw away a Linux installation and install another one that is 95% identical. How long did I spend customising my current Linux installation? Hundreds of hours, certainly, and I am not anxious to begin that process again if I don't have to. If up-time was critical I might; but I don't mind tinkering.

To simply switch from Antergos to basing your system on Arch first edit /etc/pacman.conf and comment-out or delete the lines for Antergos:

#[antergos]
#SigLevel = PackageRequired
#Include = /etc/pacman.d/antergos-mirrorlist

Get rid of the Antergos mirror list:

sudo pacman -R antergos-alpm-hooks antergos-mirrorlist

Then get the mirror list for your country from https://www.archlinux.org/mirrorlist/

Then sudo vim /etc/pacman.d/mirrorlist and insert the URLs obtained from the above, then uncomment the one(s) you want to use, e.g.:

## Canada
#Server = http://mirror.cedille.club/archlinux/$repo/os/$arch
#Server = http://archlinux.mirror.colo-serv.net/$repo/os/$arch
Server = http://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
#Server = https://mirror.csclub.uwaterloo.ca/archlinux/$repo/os/$arch
Server = http://mirror.its.dal.ca/archlinux/$repo/os/$arch
...

Finally, sudo pacman -Syyuu.

Arch on Raspberry Pi 4

When I had an issue with their Raspbian build that was taking way too long to figure out because they hide too much from the user's view by default, then I switched to installing Arch for ARM. This is faster than Gentoo to get a desktop going since there are tons of binaries readily available, yet gives similar fine-grained control as Gentoo offers.

Arch ARM on Raspberry Pi 4