Arch Linux for Ubuntu users

Software Management

I’ve spent some time now in the Steam Deck CLI, and gotten a good flavor of Arch Linux from the perspective of a long-time Ubuntu user.

Honestly, I like it a lot. It’s really a unique OS that offers a lot to many different users. For your average Steam Deck user who dabbles in the desktop, the Discover software center, based on Flatpak, will be all you need. For the power-user, though, it’s a little more complicated based on what you need. There are 4 programs that you can use to install software: the Discover software center, the pacman tool, the yay tool and the makepkg tool. All of these serve different purposes.

The basis of all of these tools is makepkg. Without going into technical detail, makepkg works by reading a build specification and producing a binary package. This is similar to other distributions that provide a “build-from-source” mechanism such as source RPMs. pacman and yay seem to have a fair bit of overlap. pacman reads only from system repositories though. I like to think of pacman as the super-user yay. For installing system libraries and upgrades, it is ideal. Crash course:

pacman -Ss <search> – search for a package
pacman -S <packagename> – install a package
pacman -Sy <packagename> – update spec from repository and sync package
pacman -Syu – update all specs from repository and upgrade all packages

The Arch User Repository (AUR) contains contributed binary packages and build specs from around the world. These packages typically install from source code, and are based on build specs instead of binary packages. You install these packages with the yay tool, which has the same invocations as pacman, but is not invoked with sudo. You will be prompted for sudo credentials if required.

Finally, you can make your own packages with makepkg. From a directory with a build spec, simply type makepkg -si (no sudo required). The spec will allow a binary package to be built and installed.

Overall, I find the AUR to be too unstable. I know I harp on Neovim, but it’s an important tool for me. The “stable” release of Neovim (i.e. from pacman) is only at 0.6. I need a minimum of 0.7. Theoretically the “unstable” release of Neovim (neovim-git), is at 0.7. But because it is a git repository, the package information contained in the AUR is wrong – the git repository has since been updated to 0.8. So, yay -S neovim-git doesn’t work. yay -S neovim is too old. That leaves only flatpak, which thankfully has Neovim 0.8.

From all of this, I’ve learned that the Flatpak repository is probably the best way to go for software. While the pacman system repositories are stable, the AUR most definitely is not. I’d consider it a last resort before building it from source yourself. Flatpak is also stable, and allows installation of important userspace applications.

System Services

Arch Linux is also built on systemd and uses systemctl to enable, disable, start, and stop services.

Desktop

While there’s no “official” desktop for either distribution, SteamOS defaults to KDE Plasma 4, and Ubuntu to GNOME 3. Arch Linux itself is not a graphical distribution, and allows installation of many desktops. This is the first time I’ve used KDE Plasma, and my first impressions are very good. I haven’t used KDE in a long time, and I’m surprised to see how stable and shiny it is.

Support

I think that if you require commercial support, you’ll want to stick with Ubuntu. Arch Linux is very much a DIY OS, and isn’t really advisable from a business perspective. However, most sites that have Linux software provide instructions for Arch Linux; or, the AUR contains a build spec.

Conclusion

Arch Linux goes on my “approved” list. I have a good deal of flexibility in how to get software onto the machine. It is similar enough to Ubuntu that I didn’t get lost, but is clearly a unique OS that is meant more for power users than casual users. It’s a decent choice on Valve’s part, one that has turned a great purchase in the Steam Deck into a very viable development PC.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: