Arch Linux



Arch Linux is a project I do not talk about a lot. Part of the reason for that is due to the fact Arch is a pure rolling release distribution and, in essence, the project does not really have releases. The developers simply push out regular snapshots of the installation media. This tends to keep Arch Linux out of the news. Another reason I tend not to talk about, or review, Arch Linux often is because the distribution has a rather long and mostly manual installation process. But I will come back to that point in a bit.



Despite not talking about Arch much, I do acknowledge the project has a dedicated following and the Arch developers make some interesting choices when it comes to the design of the operating system. With that in mind, I would like to conclude this year's series of reviews with a look at the Arch Linux project.



The Arch Linux website does not have a lot to say about the distribution. The project's website describes Arch as follows: You've reached the website for Arch Linux, a lightweight and flexible Linux distribution that tries to Keep It Simple. Currently we have official packages optimized for the i686 and x86-64 architectures. We complement our official package sets with a community-operated package repository that grows in size and quality each and every day. The installation media for Arch Linux is a dual-architecture ISO that runs on 32-bit and 64-bit x86 computers. The ISO is 659MB in size and getting a copy of this ISO was my first challenge. At first I tried to download the ISO using the Transmission bittorrent software, but Transmission kept running into errors after downloading a few megabytes and crashing. This is the only torrent I have encountered which causes this behaviour. I switched to using a direct HTTP download and grabbed a copy of the installation media from a nearby mirror. The mirrors include checksum files so we can verify the contents of our download.



Booting from the Arch media brings up a menu asking if we would like to boot Arch Linux in 32-bit mode or 64-bit mode. There is also an option to launch a hardware detection utility. Taking one of the boot options brings up a text console where we are logged in as the root user. Arch will try to automatically detect and activate a network connection if one is available. This is just about the only thing Arch Linux does automatically.



The Arch installation media does not offer users a graphical desktop to explore and it does not include a system installer that will handle the gritty aspects of setting up a new copy of Arch Linux. Instead, the project provides us with a wiki that includes an installation guide and many pages of documentation that explore setting up the system with services and graphical desktop environments. For those who have not installed Arch Linux before, or who have not done so recently, I recommend reading the project's Beginners' Guide. It provides step-by-step command line instructions (with some examples) that explain how to perform a minimal installation of Arch Linux.



To install Arch Linux we need to manually walk through a number of steps on the command line. These steps include partitioning the hard drive (using parted, fdisk or cfdisk), formatting partitions and enabling swap space. Then we mount the partition that is to be used as our root file system and run a command that downloads and installs the base operating system. In total there are about 208MB of packages to download for the default operating system, plus about another 6MB of data if we want to install a boot loader. We then run through commands to set our time zone, enable locale information and set up a network connection. We should then create a password for the root account and un-mount the partition we have been working on. At this point we can reboot and see if the installation completed successfully.



While the above steps sound about the same as the steps performed when setting up other distributions such as Fedora or Ubuntu, those distributions provide easy to navigate point-n-click graphical installers. Arch gets us to type out commands and we need to know how to work with tools such as console partition managers and systemd and how to manually mount partitions. This makes installing Arch a rather lengthy process, even without double-checking the steps in the on-line manual.





Arch Linux 2015.11.01 -- The System Settings configuration panel

(full image size: 996kB, resolution: 1280x1024 pixels)



Booting our new copy of Arch brings us to a text console where we can sign in as the root user. At this point the user gets to decide what they want to do with the operating system. All we really have to work with, by default, are the GNU command line utilities, manual pages, the pacman package manager and systemd. Any network services, window managers, desktop environments or applications need to be located in the distribution's software repositories and installed. I decided to take the path of setting up the KDE Plasma desktop environment along with some common desktop programs such as Firefox, LibreOffice and the GNU Image Manipulation Program.



I decided to install the SDDM session manager and the Plasma desktop by following the Arch wiki. Unfortunately, the wiki's page on installing KDE software was out of date at the time of writing and the packages mentioned no longer exist. I was able to search for the modern equivalents of the packages mentioned in the wiki and install them. Adding SDDM and Plasma to my system required downloading an additional 300MB of software.



With Plasma in place we can start the session manager or reboot to get a graphical login screen. However, we cannot login until we have first created a non-root user. Blocking root from logging into the desktop is actually a nice security feature and probably a good default setting to have. Once I had created a new user account, created its home directory and set the proper permissions on the new user's home from the text console I was able to switch back to the graphical login screen and sign into either the Plasma desktop or the Plasma Media Centre. Actually, as it turned out, selecting either session (Plasma or Plasma Media Centre) from the login screen brought me to the Plasma desktop.



As a side note to getting a desktop session running, while enabling the desktop on a physical computer went smoothly, I found that extra steps were required to get to a graphical login screen (and desktop environment) when running Arch in VirtualBox. Though it took me a while to find the appropriate document, there is a page in the Arch wiki which deals with running Arch in a VirtualBox instance. Following the steps on that page allowed me to run graphical sessions from within the virtual machine.



Once I had installed Plasma and got it running, I found the desktop environment to be very minimal. Plasma, by default, places the application menu, task switcher and system tray at the bottom of the screen. There are no icons on the desktop and the default wallpaper looks like a rainbow fell on a pile of triangles. Looking through the application menu we find the KDE System Settings panel which provides a method for customizing the desktop environment. The Qt Designer application is installed along with a task monitor. There is no file manager, web browser or other common desktop utilities. These can be added using the command line package manager. Looking at the lower level software I found that, at the time of my trial, Arch was running systemd 227 and version 4.2.5 of the Linux kernel. Since Arch is a rolling release distribution package versions will change frequently.



When I first got Arch Linux installed, I checked the amount of disk space that was being used before I started adding applications. Arch was consuming approximately 3GB of disk space and, prior to running a graphical session, about 70MB of RAM. Once I had installed some common applications such as the Dolphin file manager, LibreOffice and Firefox, Arch was consuming around 4.5GB of disk space. Sitting idle at the Plasma 5.4 desktop required 250MB of RAM. Earlier I mentioned I tried running Arch on a physical desktop computer and in a VirtualBox virtual machine. Arch performed well in both environments, properly detecting my hardware, setting up a network connection and, once I had installed the proper video drivers, my screen was set to its maximum resolution.





Arch Linux 2015.11.01 -- The pacman package manager

(full image size: 833kB, resolution: 1280x1024 pixels)



I have mentioned working with the package manager a few times now and Arch's command line package manager, pacman, does see a lot of use. I find pacman uses an unusually terse command line syntax and its output is sparse. The package manager is very quick though and gave me no problems during my trial. This was good since I ended up installing a regular stream of software and package upgrades. Each day I found a few new package updates were waiting to be installed and this pattern will continue since Arch is a rolling release and quickly adopts new software as it becomes available from upstream projects.



Though pacman worked very well for me, it is a powerful tool and we need to be careful with it, especially given Arch's rolling release nature. I do not just mean that we need to watch for changes in dependencies or packages which need special attention when they are upgraded, but we also need to be aware of older software mixing with newer packages in the repositories. As an example, I mentioned earlier that I had set up my copy of Arch with KDE's Plasma 5 desktop. Arch's software repositories contain Plasma 5 applications, but there are also packages from KDE4 available too and some of them have similar names to the new Plasma 5 packages. A few times during the week I went to install a new Plasma application only to discover that there was a KDE4 application with a similar name and pacman was going to install the older version along with the entire set of KDE4 software libraries to support the older version. In short, it is important to pay attention to what pacman tells us and to think about what is happening before confirming an action.



Given Arch Linux's minimal nature, it should be no surprise the distribution does not ship with multimedia support, Java or Flash. The project takes the philosophy of having us build our own operating system from the ground up. Installing media players does pull in multimedia codecs as dependencies, enabling us to play media files and Adobe's Flash plug-in is available in the Arch repositories.





Arch Linux 2015.11.01 -- Running the Firefox web browser

(full image size: 758kB, resolution: 1280x1024 pixels)



Earlier I mentioned one of the session options from the login screen was for the Plasma Media Centre. While this session option just logs us into the regular Plasma desktop, there is also a Media Centre launcher in the Plasma application menu. Launching the Media Centre from the application menu brought up a screen where I could browse through images and media files, but I could not find any way to quit the Media Centre interface. In the end, I had to force the termination of my login session to leave the Media Centre screen.



While Arch offers users a Spartan experience, most of the software I installed worked and ran smoothly. Despite software packages being on the cutting edge, there were very few bugs in evidence. One of the few which appeared during my trial was that, when changing the Plasma wallpaper, previews of available wallpapers were blank.



Conclusions



I have a lot of thoughts on Arch Linux, partially because the project is so unusual in the Linux ecosystem. One point that stands out is Arch has some of the best documentation in the Linux community. The wiki is a very valuable resource, not just for people who run Arch Linux, but for the community as a whole and the wiki is an essential read for people who wish to try Arch.



Another point is that getting up and running with Arch Linux is a bigger investment in time and effort than most other Linux distributions. With most mainstream distributions we can put in the installation media, click "Next" through some installation screens, set up a user account and we will soon have a feature-rich operating system. Arch feels less like a finished product, like openSUSE or Linux Mint, and more like a collection of components we can put together however we like. I would compare it to the difference between buying a toy car and buying a model kit where we paint the individual pieces and glue them together. Putting together the model takes a lot longer and requires some skill, but what we end up with includes just the pieces we used and in the colour we wanted.



The flip side to Arch taking a long time to set up is that, in theory, it will be possible to constantly update the distribution without re-installing. This may be of benefit to some people, especially those who like to stay on the bleeding-edge of software development. Rolling Arch forward gradually may be less work (over time) than updating to a new release of Fedora or Ubuntu every six months. However, Arch is not likely to remain as stable as Debian or CentOS over five years as some packages will almost certainly break during that time period. People looking to install-and-forget a distribution will probably be better off with a long-term-support release that will remain stable for years while people who want to keep up with the latest software changes may find Arch less work in the long run.



Another point I would like to raise is with Arch Linux's self-described "lightweight" nature. By default, when we install Arch Linux it is, indeed, lightweight. We start off with a few gigabytes of packages and the operating system consumes less than 100MB of RAM. However, on the flip side, the default OS does not do much. We have the bash shell, systemd, manual pages and a package manager, but little else. By the time we add a desktop environment, a few application and some services such as OpenSSH and CUPS, we are using around 5GB of disk space and over 300MB of RAM. In short, Arch Linux is technically lightweight at the start, but if we ask Arch to perform the same tasks as other distributions, Arch Linux will use approximately the same hardware resources other distributions require. Arch also uses more bandwidth since, after downloading the ISO, we tend end up downloading around another gigabyte or two of packages to get started. Plus we receive a regular stream of updates. I would recommend having a high-speed Internet connection for people who plan to run Arch.





Arch Linux 2015.11.01 -- Running various desktop applications

(full image size: 269kB, resolution: 1280x1024 pixels)



Finally, I would like to make a more personal and subjective set of observations. Personally, I have never regarded Arch Linux as a particularly practical approach to getting things done. The distribution has a long set up time, newcomers will require access to an on-line wiki while setting up the operating system and the rolling nature of Arch is incompatible with most of my use cases. So, for me, Arch does not hold a lot of appeal today.



That being said, toward the end of the week I started to notice a fondness growing in me for Arch. One that did not line up with the amount of tinkering involved and time spent downloading yet more packages to accomplish simple tasks. And I recognized the feeling as being nostalgia. Working with Arch Linux reminded me a lot of working with my first Linux distribution, Pygmy Linux, back in the 1990s. Pygmy Linux was a trimmed down spin of Slackware which provided users with a simple command line interface only, by default. There was no compiler, no package manager, no desktop environment. Everything was done manually or with hand-written scripts. Pygmy presented a steep learning curve when I was first introduced to Linux and Unix, and it was what I needed to become familiar with the technology and pass my course in operating systems.



While I eventually moved on to other distributions for my daily computing needs, I hold a certain fondness for Pygmy Linux and its sparse, do-it-yourself approach. It taught me a lot. In a similar vein, I think of Arch much the same way. Arch Linux presents an investment in time, reading and maintenance that I do not find practical for my day-to-day needs. But I do think we could all agree running Arch Linux is an educational experience. Running Arch is something I think will appeal to people who like to build their operating systems rather than simply run them. * * * * * Hardware used in this review



My physical test equipment for this review was a desktop HP Pavilon p6 Series with the following specifications: Processor: Dual-core 2.8GHz AMD A4-3420 APU

Storage: 500GB Hitachi hard drive

Memory: 6GB of RAM

Networking: Realtek RTL8111 wired network card

Display: AMD Radeon HD 6410D video card