This review will be a bit unconventional, probably because Arch Linux itself is a bit unconventional. Rather than having continued, numbered releases like most distros, Arch Linux follows the rolling-release model, meaning that you install Arch once and it updates forever (or at least, until you break something). There is no “Arch Linux 16.04 LTS”, there is simply Arch Linux. The philosophy of Arch, known as The Arch Way, focuses on simplicity and user centrality, rather than user friendliness.
Pragmatism is another central theme, where the user installs only what is needed or desired and bloatware is nonexistent. This, combined with an almost unparalleled availability of customization, makes Arch Linux the ideal choice for the enthusiast that wants to hone his/her machine down to a finely tuned instrument of precision; or for the somewhat experienced Linux user that wants to take his/her Linux knowledge to the next level.
The Arch Linux Documentation
The best thing about Arch Linux, in my opinion, is the documentation. The Arch Wiki contains just about every possible piece of information you might need to know about installing and maintaining your Arch Linux system. I’ve even found that when dealing with other distros, sometimes I had to find the answer in the Arch Wiki instead of my distro’s Wiki. Even if you don’t consider yourself a Linux guru and are not very familiar with the terminal beyond a few basic commands, as long as you can read the documentation and follow directions, installing and using Arch Linux should be no problem. Granted, you can make the occasional mistake during Arch Linux installation and have to start all over (which I had to do a few times), so I recommend trying Arch Linux in a virtual machine before making the switch over to it being your daily driver.
The Earliest Software Updates Hit The Arch
Another key reason many people have made the switch to Arch Linux is that Arch allows for the most updated software available. With other distributions, you sometimes have to wait a while for new software packages to make into the official repositories before they can be easily downloaded and/or updated. Sometimes this process takes even longer because developers of certain distros need to modify these software packages to minimize bugs and ensure that the new package will work on the given distro. Because of this, you may notice that the software versions available from your sudo apt update && sudo apt get upgrade commands can sometimes be different than the most recently released version of that particular package. There is a trade-off here because you’re sacrificing living on the bleeding edge in favor of stability.
With Arch, the opposite is true, as you’ll be sacrificing a small amount of stability in favor of living on the bleeding edge and having the most updated software possible. This isn’t to say that Arch is inherently unstable, quite the opposite in fact. Software packages are tested thoroughly before making their way into the official Arch repositories, just like any other distro, but very minimal changes are made to the software from the original version released by the upstream developers. The Arch Wiki explains it best:
“Arch Linux defines simplicity as without unnecessary additions or modifications. It ships software as released by the original developers (upstream) with minimal distribution-specific (downstream) changes: patches not accepted by upstream are avoided, and Arch's downstream patches consist almost entirely of backported bug fixes that are obsoleted by the project's next release.
As you may have guessed, the implications of the above excerpt indicate that Arch Linux is what you might call a “build from scratch” system. It doesn’t go quite to the level of complication that Slack, Gentoo, or Linux From Scratch do, but it is definitely a barebones system that you build and configure to your liking.
For example, when choosing other distros, a primary concern is what Desktop Environment it uses. With Arch, there is no DE installed by default, you pick whichever one you want, or you could choose not to install one at all. You may wish to only install a Window Manager without a DE, or maybe not use a GUI at all and go for the pure terminal-only approach. It’s entirely up to you. Similarly, you may be wondering which bootloader Arch uses, and again, it doesn’t come with one installed by default, you choose whichever one you want. As long as you can follow the Beginner’s Guide and complete the base installation, the rest of your Arch system configuration is entirely up to you.
The downside to this is that there is absolutely no hand-holding. Just about everything needs to be configured manually, usually through a text file but occasionally through a GUI as well (if you installed one). Getting some practice with your preferred text editor would be highly beneficial in your endeavor to run Arch. The most help that you will get is that Arch’s package manager, aptly named pacman, will automatically download necessary dependencies for you when installing new packages, but beyond that, you’re on your own. This may be daunting for some, yet exciting and even preferred for others.
Arch Linux System Requirements
It’s difficult to narrow down exact system requirements for Arch, because again, that depends entirely on what you choose to install. Obviously, a text-only system is going to have less requirements than a gaming system. The base installation, which results in only a command line terminal and the core Linux utilities upon completion, has a requirement of at least 256MB of RAM and uses about 800MB of hard drive space, making an ideal starting point for those who wish to keep a lightweight system, or who want to use Arch to run a server.
Arch Linux Installation
The initial Arch Linux installation must be done entirely in the terminal, there is no installation GUI. However, it’s not as daunting as it seems, because the Beginner’s Guide is an excellent step-by-step guide. Should you come across any questions or issues, always RTFM by searching the Arch Wiki, the man pages for the given software, or sometimes even Wikipedia. If you just cannot find a clear answer, try checking if anyone in the Arch Linux forums has had the same problem. If all else fails, you can ask for help in the Arch IRC channel. However, as previously stated, as long as you have at least some familiarity with Linux and you can read and follow the Wiki, the installation process is fairly straightforward. The most complex it gets is manually partitioning your disk(s). If you’re dual booting, or if you just prefer GPT/UEFI, ensure that you’re following the UEFI-specific instructions, otherwise, you can stick with MBR/BIOS.
The two steps where you’ll definitely have to deviate from the Beginner’s Guide to another Arch Wiki article are the installation of the Bootloader (I use GRUB), and the installation of your graphics drivers. As with any Linux installation, finding and configuring the right graphics drivers can sometimes be a pain. I’ve seen that many people have trouble with laptops that run hybrid graphics, where there is both an integrated graphics card as well as a dedicated one. The graphics work, but configuring resolution and functionality can be a bit tricky. On the other hand, many people successfully install and run Steam with minimal issues.
I personally found this installation process to be both challenging and rewarding. The process wasn’t necessarily difficult, but I did make some small errors the first couple times which resulted in me having to start over fresh. But once you complete the installation and actually understand what you’re doing, there is a sense of accomplishment that sets in and you can’t help but feel a bit like Hackerman. You’ll notice that the installation process is almost exactly the same as any other Linux distro, you’re just not using a guided GUI application to do it. The benefit of going through this manual installation process (and using Arch Linux in general), is that you become more familiar with how Linux systems work under the hood, which can be helpful when dealing with troubleshooting issues either in Arch or other distros.
System Configuration For Arch Linux
Once you’ve completed the base Arch installation, all you’ll have is a terminal. Your system is now in a pure, pristine state, ready to become whatever you want it to be. This sounded really exciting to me at first, but once I actually got this stage, I was forced to think, “well, what DO I want to install?” I went into my Arch experience thinking “Awesome, I get to install everything manually!”, but after a while it became “Oh, I really have to install everything manually…” I was so used to having my hand held by preconfigured distros such as Ubuntu or Mint that I wasn’t really sure where to begin. Granted, I was also trying to achieve a much more complex setup than the typical end user would probably be using, which did result in my figuratively banging my head against the wall for two weeks.
You may find yourself in this predicament of “too much freedom” as well, as we’ve all made the choice of what browser or messaging app to use, but have you ever had to decide what Window Manager or compositor to install? As I frequently browse /r/unixporn, I at least knew that I wanted to try to configure an Arch system that uses the i3 Window Manager, but I first had to begin with the basic building blocks.
Thankfully, the Arch Wiki anticipates this and provides the General Recommendations article, which functions as a comprehensive post-installation guide, as well as the List of Applications article that details software packages that are both included in the official Arch repositories as well as the unofficial Arch User Repository.
If you’re used to using Ubuntu and/or Mint, remember to create a user account! You’ve probably never had to do this before, as Ubuntu/Mint disable the root account and force you to create a user account during installation. Don’t use the root account by default, it’s insecure and bad practice. Make the root account’s password different than your user account’s password.
After that, if you want a GUI, which most likely do unless you’re running a server, you’ll want to make sure that the X11 Window System is installed. I had to do some hunting to find the complete list of X11 packages required:
pacman -S xorg-server xorg-server-utils xterm xorg-apps xorg-twm xorg-xinit xorg-xclock
Arch pacman Package manager
The inclusion of the General Recommendations and List of Applications articles makes the configuration process much less daunting, as they essentially provide a template to follow that you are free to pick and choose from at your desire. Installing and updating packages is super easy with the pacman command, be sure to read the Wiki for information on how to use it. It’s also a good idea to subscribe to the Arch Announce mailing list, as occasionally the Arch community becomes of aware of a package update that requires manual intervention, otherwise it could break your entire system. This further reinforces my earlier statement that the best feature of Arch is quite possibly it’s documentation, as well as the community. Just about everything you need to know is in the Wiki.
Arch Linux is definitely not for everyone. However, if you cherish customization, minimalism, simplicity, and living on the bleeding edge, or if you just want to take your Linux knowledge to the next level, Arch Linux may be perfect for you. As long as you’re willing to deal with the occasional update possibly breaking things which you then have to fix, Arch could be your go-to distro for the foreseeable future. However, if the idea building a Linux system almost entirely from scratch seems too overwhelming to you, it may be better to stick with “easier” distros such as Ubuntu and Mint. If you’re looking for a fun project to complete over the weekend, trying installing Arch in VirtualBox (be sure to install the virtualbox-guest-utils package) or other preferred virtualization software and give it a try for yourself. You might enjoy the experience as thoroughly as I did, and you might even learn something new. Don’t forget to put some Arch stickers on your computer case when you’re done ;)