Exploring Arch Linux

Why I decided to explore Arch?

Recently, a picture of my high school days popped up in Facebook which got me curious to revisit an old friend’s blog. In one of his blog posts in 2015 that covered his setting up of a new laptop with Linux, he wrote this in regards to why he picked Arch Linux:

I decided to go with Arch. If you told me two years ago you were putting Arch on a laptop I’d have said you were crazy but now I think it is just great. It’s so nice to be able to just pacman -S go and know I'm getting a current version of the Go compiler with the links to source in the godoc browser working, not some old supposedly-stable version.

This got me curious about Arch once again. I have heard a lot about Arch in the recent years and how its community is becoming much bigger most primarily because it’s a build-from-scratch distro that has an awesome package manager and a community-driven repository that consists of bleeding edge software and libraries (rolling release) along with loads of documentation. Perhaps it’s also worth mentioning that it’s designed with “simplicity” in mind. Of course, the “simplicity” it refers to is not the simplicity that a new Linux user would consider simple but rather, simplification of the setup and customization of a demanding advanced user’s needs. Also, because you would only install what you need manually to make things to work, it organically keeps the system quite lightweight with no “bloat”. So I decided to install it into a VM to give it a shot. There are plenty of step-by-step guides out there for this including Arch’s own comprehensive wiki so I am not going to cover that here but instead, I will cover my thoughts on this distro and the pros and cons I see in using it.

My Setup

Just so we have some context on what was tested, here’s a list that defines my setup:

  • Virtual Box — 2 Core, 4GB of Ram, 128MB Video w/ acceleration enabled, 20GB Storage
  • Arch Base
  • Gnome
  • Gnome Tweak Tool
  • Various gnome-shell extensions
  • Tilix
  • Firefox / Chrome / Chromium
  • Atom / Visual Studio Code
  • RIME — my favorite Chinese IME these days…

Installation

First, as with all build-from-scratch distros, it takes a little know-how and the re-igniting of your brain on things that we now mostly take for granted from using distros like Ubuntu which automates or provide graphical interfaces for installation functions such as partitioning, file structure, mount points, and boot loaders. I didn’t have that much of a problem with it because I was pretty familiar with all of that from having begun using Linux in the old days where even some of the relatively more “user-friendly” distros required you to manually configure these things. Of course, that doesn’t change the fact that I noticed the sharp contrast of time consumption and difficulty level as I primarily use Ubuntu these days. I guess I would rate the installation difficulty somewhere between Gentoo and Slackware if I were to make some comparison between the distros out there.

User Experience

While it does take some extra effort to get the system up and running the way I want, I quickly realized how nice it was particularly because of having pretty much the latest release of vanilla everything at my finger tips(no bloat) and how fast it was running with less resources compared to all my other VM’s (ie. Ubuntu Mate and Windows 10). I guess in the end, I have never felt so comfortable with leaving a VM on my laptop running while I am on battery which is happening right now as I type this post.

However, the expected downside is that I had to spend some time to figure out how to even get something basic like gnome-terminal and tilix running correctly because of missing locales and configurations that would normally be done for me automatically by Ubuntu.

In terms of software availability, the package manager pacman had a breadth of offerings and if you couldn’t find what you need in pacman, you can most likely find it in the AUR repo which with the installation of something like yay, it makes things quite easy to grab pretty much anything that you would need effortlessly. However, if you have any niche commercial closed-source software that you would like to install and it’s not available in AUR, then it might take some time to set things up since a lot of them only distribute via debs and rpms. For example, I haven’t even thought about how I would run AeroFS on Arch yet but I am sure it’s just that I haven’t thought it through and that it’s doable in the end with just little extra effort put in.

Conclusion

I don’t know if my experience with Arch so-far can make me leave my 10+ year old Ubuntu comfort zone but I certainly think its a heavy contender in the distros battlefield. It has however, earned its spot to stay on as my choice of VM to run tests and maybe do some development that require an easy way to install the latest go or something of the likes. I am also tempted to install it on one of my desktops to get more usage on my back so that I can have more of a solid opinion about it. i.e. It would be nice to for example see for myself how well it supports Nvidia and intel graphics drivers. That aside, I am quite confident that based on Arch’s momentum, this distro will only become stronger over time. As such, I would highly recommend any advance user or developer to give Arch a try to see for yourself on what the hype is all about.