Arch Linux is yet another Linux distribution. By the time of this writing Arch Linux is in the top ten list of Distro Watch.
Computers are mostly used to perform certain task, and to do that task well, the user should not have to spend much time configuring the computer, or tweaking it to make it work, Arch Linux aims to keep computer working as simple as possible. In fact its philosophy is summarized in the acronym KISS Keep It Simply Stupid. But do not think that because it is simple it is not powerful, Arch Linux can perform as Desktop, LAMP, firewall, router, cache server, or any other task you may want, while keeping it simple.
Some time ago, I have already written a review about Arch Linux, in this one year and seven months of being using it almost exclusively I have learned a lot, and realized it is (at least for me) one of the best Linux Distributions I have tested. Anyway I think it is time to write another review.
Installation of the base system is really easy, and it can be performed from CD or USB and from the media or from the network, once you finish the installation, you will end up with a console screen in a very basic system. At this point you can start tuning your Arch Linux to perform the task or tasks you want it for.
Does not this way demand more job from your part, than with other distributions like CentOS, Fedora or Ubuntu?, the answer is yes, but you will end up with no extra daemons, no extra software besides the one you really need to meet your needs. Yes, once again “keep it simple.”.
Arch Linux is a lightweight operating system, but not because it has smaller and faster packages, but because it has fewer packages installed. As I said before, it only installs the packages you need to perform your task. One thing you should know is that those packages are optimized for i686 and x86_64 platforms, and are usually the vanilla packages, and not patched for Arch Linux. All these things together make Arch Linux run more smooth than other Linux distributions.
I also like the way Arch Linux manage the applications you install on it, let’s say you install squid, because you want to test it, once installed, it does not mean it will start every time you restart the computer, you need to start it manually or add it in the list of daemons you want to automatically start at boot time. This, unlike other distribution keeps more memory free, and the maintenance is easier for perform. Another way to say this, is: Arch Linux let you opt-in instead of opt-out for daemons installation.
BSD-like init scripts
Arch Linux uses the BSD-like init scripts instead of the SysV like init scripts, the differences are:
- Startup scripts are generally kept in /etc/rc.d/
- A small number of files (/etc/rc.sysinit, /etc/rc.local, etc.) control the startup process
- Startup scripts are generally kept in /etc/init.d/
- There are also a number of /etc/rcX.d/ directories — one for every run-level (i.e. X represents 0 through 6 and S, so, 8 altogether)
- The contents of each /etc/rcX.d/ directory is a collection of soft-links to scripts in /etc/init.d/
- Each soft-link in a specific /etc/rcX.d/ directory is named so it will execute in the order of it’s alphabetical relationship to the other soft-links
As you can see, once again, Arch Linux way is simplier, not better not worse, both of them work, but BSD-like way is simplier.
Binary or build from sources
Arch Linux default packages are, as I said optimized binaries for i686 or x86_64 machines, but you can also compile them from the sources using ABS (Arch Build System). From the Arch Linux Wiki.
The Arch Build System (ABS for short) is a ‘ports-like’ system for building and packaging software from source code. While pacman is the specialized Arch tool for binary package management (including packages built with the ABS), ABS is a collection of tools for compiling source into installable .pkg.tar.gz/.pkg.tar.xz packages.
What is great about this tool, is that it makes it easier than in any other distribution I have tested before (maybe apart from Gentoo), to compile a custom version of any package, using ABS I manage to compile Nginx with gzip static support.
It works somehow apt-get source, in Debian. Once the source is download you can edit the config file, PKGBUILD file in this case, to add or subtract options at compile time.
No preferred GUI
Arch Linux does not suggest the use of any Desktop or window manager like Gnome or KDE over any other, so it is fully up to the user the choice of what to install and use.
I like to install OpenBox and have a system a la Crunchbang, but you may prefer Gnome or KDE, and that is O.K., you can install whatever you would like, or even two or three, and alternate the use of them, total freedom for you.
Arch User Repository AUR
In addition to the repositories, the Arch User Repository provides user-made PKGBUILD scripts for packages not included in the repositories. The PKGBUILD scripts simplify building from source by explicitly listing and checking for dependencies and configuring the install to match the Arch architecture. The scripts are available for download from http://aur.archlinux.org. Arch User Repository helper programs can further streamline the downloading and building process. However, such tools that search, download and run PKGBUILD scripts automatically will never be included in the official repositories because of potential security risks.[specify]
The Arch User Repository provides the community with packages that are not included in the repositories. Reasons include: - License issues. Software that cannot be redistributed, but is free to use, can be included in the Arch User Repository since all that is hosted by the Arch Linux web site is a shell script that downloads the actual software from elsewhere. Examples include proprietary freeware such as Google Earth and RealPlayer. - Modified official packages. The Arch User Repository also contains many variations on the official packaging as well as beta versions of software that is contained within the repositories as stable releases. - Rarity of the software. Some new or rarely used programs have not been added to the official repositories (yet). DeaDBeeF music player is an example of this.
PKGBUILDs for any software can be contributed by ordinary users and any PKGBUILD that is not confined to the Arch User Repository for policy reasons can be voted into the community repositories.
Arch Linux certainly has less packages available than for example Debian, but until now I have never found a package that is not at least in the AUR, of course you should consider only install packages from AUR in your Desktop computer, and not in your Server.
One good tool, you may use to install automatically packages from AUR is YAOURT, which is a tool that does the job for you, downloads the PKGBUILD file, downloads the dependency packages, installs them, downloads the source files, compiles them, and finally installs them, YAOURT also gives you the option to edit the PKGBUILD file, so you can customize the resulting binary.
Community and Documentation
The community of Arch Linux might not be as big as Fedora’s, Debian’s or Ubuntu’s, but it is certainly a really savvy one, and it is always prone to help you.
It has a really great wiki site, I think only the Gentoo one is better, there are a lot step by step tutorials, that guide you through the whole process of any configuration, installation you may need.
Arch Linux is a rolling release distribution, but what is rolling release after all?. It means that there are no cycles for releasing new versions, so there are no snapshots or versions in Arch Linux, it is constantly evolving, and you will never need to re-install it, or anything else than frequent updates to stay with the last version of software.
Arch Linux usually has the last versions of any packages you can install, as soon as any new version of any package is released by its maintainers, it is then distributed to Arch Linux users, just after a very little test period, so with Arch Linux you will be living on the edge of the software versions.
Well, this has its pros and cons, we’ll see them.
- There is no need to re-install the software never.
- You can always have the latest versions of any package, this is nice for example for Firefox, or Thunderbird, while other distribution’s users should wait for the next release cycle, you can have it, by just running sudo pacman -Syu, some days after the release of any these packages.
This behavior also has its cons? well actually there are issues, but not because of the rolling release feature of Arch Linux, they’re because it releases the software almost as soon, as it is released by the developers or maintainers.
Some days ago, I have posted an article about the possibility of a Debian Rolling release brand, and due to the Debian style, those packages will be more tested before releasing them to the end user, therefore, avoiding some of the issues usually attributed to the rolling release style of Arch Linux.
So, there is actually no cons in having a rolling release distribution, there are issues and things can break in Arch Linux but, because its “Living on the edge philosophy”.
Problems in working with Arch Linux
As mentioned before, things may break down in Arch Linux, there are usually easy solutions, and the community is really fast into finding these solutions, and sharing them, but you may lose some time. So it is always a good idea, to read the forums before any system upgrade you may want to do. Also consider, that just because there are new versions of software, it does not mean, you must upgrade to them, Actually it is not a good idea to run upgrades every day on Arch Linux, you better pick a day, when you have some time, to fix something if something gets broken, and then upgrade your system. If you do not have a lot of bandwidth, you may want to consider this article.
So, if you take some considerations, you should almost never face real problems while working with Arch Linux, I have been with it, for more than a year, actually almost two, facing almost no problems.
And usually if a package breaks your system, you can always roll back to a previous version, as the previous version should be stored at /var/cache/pacman/pkg/ folder.
Arch Linux for Servers
Once I have been called insane because I said I was using Arch Linux for production servers, the thing is, that I use it in my Desktop and Laptop, and Linode, where my servers are hosted offers Arch Linux as one option, so I picked it, to give it a try.
Did I had any problems?. Well no, and I have been running some servers on Arch Linux for some months now, If you plan to do this, be careful anyway, I always take a snapshot of my server, before any upgrade, or before installing any new package, so if something goes wrong, I can always roll back, until I find how to solve the problem. But I think this should be a practice for any admin, no matter if running Arch Linux, Gentoo, Debian or CentOS.
Some other Linux distributions have come from Arch Linux, just like Chakra, and ArchBang, these distributions make it easier to use and run Arch Linux for the newbie user, it is somehow like Sabayon for Gentoo lovers.
If after reading this, you want to try Arch Linux, it is a great idea, but it might not be as good as you think if you are beginning with Linux, if you are a newbie, start with Linux Mint, Ubuntu, or Fedora.
Once you know more about Linux, switch to Arch Linux, you will never miss any other distribution. Arch Linux gives you almost the same control you may find in Gentoo, but it is a lot easier to run.
The more user friendly distributions, make a lot of things for you, but then, maybe that is not what you need. I mean not always the same configuration is good for everybody, you need to tweak your configuration to fit your needs, and your likes.
My advice is, as soon as you can, install Arch Linux in a virtual machine, start playing with it, and sooner than you might think you will be using it as you default Linux distribution.
Here is how my Arch Linux looks like in my Laptop.