Official website for Linux User & Developer
FOLLOW US ON:
Oct
20

Under the Hood with Arch and Gentoo

by Richard Hillesley

Arch and Gentoo are rolling community distributions that emphasise self-help and choice for the adventurous user. Richard Hillesley investigates…

As rolling distributions – by which we mean distros that are installed once only and updated on the fly – and distros that are intended for the kind of users who don’t mind getting involved with the internal workings of their systems, Arch and Gentoo share many characteristics. Both have been influenced by the BSDs, and both have package systems which owe something to FreeBSD’s ports system. They are community distributions that have little or no significant commercial pretensions, and their primary objective is to serve the interests of their own communities and their own particular philosophies, with no obligation to appeal to ‘every’ user.

In so much as this is true, they are alike, but they are very different in the specifics of their policies and application. Neither comes with a preset configuration or choice of packages. Arch Linux packages come pre-compiled and optimised for i686 and x86_64 architectures. Gentoo packages are compiled from source to the specification of the user and the hardware, and every installation of either Gentoo or Arch is unique, and unlike any other installation of the same software.

Both utilise their own automated build scripts which guide the user through the build process but allow for user discrimination and choice. Arch uses the Arch Build System (ABS), while Gentoo uses ebuild. Neither is about ease of use or making installation easier for the new user. Computers are what you do with them, and most users have little or no knowledge of how their systems are put together, and care even less. Distributions like Gentoo and Arch are for the users who want to reach under the hood, get their hands dirty and find out how their system works.

Teach a man to fish

Aaron Griffin, the lead developer of Arch Linux, says of Arch that it is not “made for ‘user friendliness’. It is a distribution designed to be a platform – a ‘base’ for the user to do what they want. This means that we don’t try to force a user’s hand into our way of doing things, with our configuration tools, and our ideas. It should be about their ideas.”

If the user of an Arch or Gentoo system makes the right choices, the result is a customised installation that suits the wants and needs of the individual user. The installation may take hours or days, but the pay-off is that it only happens once and the user has a system optimised to fulfil their own wants and desires – which is likely to be leaner and faster than a run-of-the-mill ‘easy to use’ distribution, where the priority is a quick install and a running system that just works, where choices are made on the user’s behalf and unwanted programs and daemons are run and seldom used.

This doesn’t mean that either Arch or Gentoo are ‘difficult’, but that the onus is on the user to follow the manual and make his or her choices carefully. Distros like Arch and Gentoo are best suited to the patient user who is not in a hurry and doesn’t mind making a mistake and learning from it – or in the case of Gentoo, waiting while the code compiles and going through several iterations to get the choices right.

Installation is hands-on, and slow and painstaking, but is worth the effort if you have the time and the inclination to work your way through the process. The culture for both distributions is not to hold your hand, but to walk you through the process with sound and useful documentation.

As Griffin says of Arch: “Every Arch user is expected to be able to help themselves – to be able to look up information, configuration files, bugs etc. You’re expected to be able to do a little research when you have a problem. Teach a man to fish, and all that… We’re not about hand-holding. If you want to learn something, you better be prepared to learn it for yourself rather than have someone sit down and explain it to you.”

An active process

Both Arch and Gentoo are about exercising the initiative of the user, and giving the user greater control and flexibility, but they have very different emphases. Unlike Arch, Gentoo is a source-based distribution, where code is compiled on the fly, and the emphasis has always been on maximising speed and performance, and getting the best out of both the hardware and the software. Arch is more approachable for less experienced users, and it is possible to install a fully working version in a relatively short time.

Arch sees itself as an adventure in simplicity, where simplicity is defined “from a technical standpoint, not a usability standpoint. It is better to be technically elegant with a higher learning curve, than to be easy to use and technically crap,” according to Griffin.

The result is worth the effort of the guided install process, with the installation guide in front of you, in the knowledge that the install is a one-off process. Like Gentoo, Arch is a rolling release, updated and upgraded as you go along, and tidily documents the installation process.

At the end of the process the user has an operating system that is leaner and meaner, less weighed down with bloat and flab, and configured to fulfil the user’s objectives.

The Arch Way

The Arch philosophy is defined as The Arch Way, as set out on the Arch Linux wiki. For the Arch developer “simplicity is the primary principle,” and elegance, versatility and expedience are the secondary virtues. “The simple, elegant and versatile system must offer expedience where practical, but expedience can and will be sacrificed in favour of any of the above. It must be sacrificed whenever implementation simplicity is jeopardised. When expedience is compromised by a resulting complexity of user interface, it must present its complexity without unnecessary complication. All other principles must be sacrificed in favour of design simplicity. Implementation simplicity is more important than interface simplicity.”

Reducing complexity refines the possibilities and gives the user greater control. Greater access to the levers of power opens the door to other possibilities. The starting place is not at the point the end-user sees, in the form of a graphical user environment or a super- quick graphical installer, but at the point of the lowest-level system configuration
feature – where many distributions hide a mass of unnecessary clutter.
Arch is a KISS distribution, where KISS is an acronym for ‘Keep It Simple, Stupid’. The philosophy is, as stated by Aaron Griffin, “if you try to hide the complexity of the system, you’ll end up with a more complex system”, and that “layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they need no hiding.”

Arch is about simplicity and the art of minimalism – and simplicity, in the context of Arch Linux, refers to what lies under the hood. Arch is not about user-friendliness, but does consider itself to be user-centric. According to Griffin, “Arch is not primarily concerned about the user. The user is important,” he says. “Sure, but most important are simplicity and elegance. The user is important as long as it does not interfere with these doctrines.”

Changing the landscape

In recent years Arch Linux has benefited from an influx of developers and users who are inquisitive and have an interest in exploring how their system is put together and how it works, and don’t mind how many iterations it takes. Gentoo and other source-based distributions, in contrast, have lost some of their appeal and popularity, but continue to challenge the status quo. Back in 2007 it was said, in a DistroWatch commentary, that “Gentoo has become a distribution without any clear goals, without the drive to implement new ideas, and without the ability to deliver products that its users want…

“Unless they wake up soon, Gentoo Linux, once the most innovative and refreshing of all distributions, will become nothing more than an average, buggy operating system characterised by endless bickering among the few developers that will bother to remain with it.”

But despite the dire warnings, Gentoo has not hit the buffers. Indeed, it has inspired Saboyan Linux, an out-of-the-box desktop Linux based on Gentoo. Gentoo’s place is assured as a place to learn, or as a building block to roll your own desktop or distribution.

Gentoo and Arch and the distributions like them, which provide for more adventurous users, may lack the celebrity and acclaim of Ubuntu or Mint, but are, and always have been, a vital part of the Linux landscape.

  • Tell a Friend
  • Follow our Twitter to find out about all the latest Linux news, reviews, previews, interviews, features and a whole more.
    • Shawn

      How can you bunch Arch Linux and Gentoo into the same sentence (other than the fact that they both are rolling distributions?) I have used both distributions for years and Arch is better than Gentoo in every single way. I highly recommend Arch Linux to anyone that wants a solid system with transparent internals. I only recommend Gentoo as an installation experiment. Gentoo systems break constantly.

    • https://fitzcarraldoblog.wordpress.com/ Fitzcarraldo

      @Shawn:

      I have Gentoo x86 Stable running on a legacy laptop and it doesn’t ‘break constantly’. It works, and upgrades are normally trouble-free (which is to be expected with Stable).

      My main laptop has Gentoo ~amd64 and it is my sole machine for all my professional work (reports, spreadsheets, accounts, e-mail, graphics, etc.) at a number of sites on various networks (wired/wireless, DHCP/Static) with numerous networked printers, and it gets heavy use at home too. It doesn’t ‘break constantly’ either. Granted, by using the testing/unstable branch I am living more dangerously than I should (a recent example would be an upstream bug in CUPS 1.6.1 that Gentoo Stable users, who are still using CUPS 1.5.3, don’t experience). But I wouldn’t still be using Gentoo on a mission-critical machine after several years if it broke constantly.

    • http://www.rosehosting.com josh

      I have been using Arch Linux and Gentoo for a couple of years and I can say that Gentoo is very stable, more stable than Arch Linux. The choice of distro is largely a matter of preference.

    • Josep Bonet

      If you want to control your distribution but you want a Gentoo box working, I’d start by Calculate-linux (http://www.calculate-linux.org/). It installs a working environment for desktops and then you can tune your software.
      Gentoo is very stable, but if you want bleeding edge software it starts to be more unstable.
      Either way, I love it.

    • billy

      Both awesome distros. Gentoo on my desktop. Arch was on laptop.sabayon replaced it for now

    • John

      I’ve used both for years. They are very similar and both excellent. I happen to prefer Gentoo for my own personal use, and while Gentoo is unlikely to have the mammoth community it once did, it has overcome the challenges you mentioned. Source-based distros may become more important in coming years, with the proliferation of Linux onto a wide variety of devices.

      As to the differences between these two distributions, I think the main one is that Arch provides pre-built packages and a secondary capability to customize and build your own, while Gentoo provides source packages and assumes you want to build your own (and if you have multiple similar machines, or you want to create your own distribution, you may create your own repository of binaries).

      The Gentoo build system is constantly being improved and is extremely powerful. If you have a deep understanding of Linux as well as end user computing hardware and software, and you really want a highly-customized, highly optimized source-based distribution, then Gentoo may be the better choice. If you’re skilled but more “intermediate” than “expert”, or you don’t want to ‘waste time watching crap scroll by’ while you compile packages for which your needs are no different than anybody else’s, but you do want the flexibility to do without unwanted software and to build a few packages from source in order to obtain the customizations you want, then Arch may be the better choice.

      If I were an Ubuntu (or similar) user looking to start getting “under the hood”, I’d probably opt for Arch and then maybe explore Gentoo later on. Gentoo is a bit overwhelming for some people, particularly if they jump into its somewhat ‘bleeding edge’ testing branch without having the skills to overcome problems they may encounter.

    • http://twitter.com/cbemerine cb

      Great article that does a good job exposing users to a little bit about Arch and a little bit about Gentoo. I can agree with the statement by Aaron Griffin,

      “if you try to hide the complexity of the system, you’ll end up with a more complex system”, and that “layers of abstraction that serve to hide internals are never a good thing. Instead, the internals should be designed in a way such that they need no hiding.”

      I have never been a fan of security by obscurity which many Linux distros seem to prefer. Of course not much a fan of the rolling release either, but what are you going to do as that ship sailed long ago. I know its better than most alternatives.

      I had already planned to use Arch on an old netbook, because of this article, I will give gentoo a try as well. Sounds like a great learning experience on how to build a lean, fast system… always good to know how to do. Thank you for writing it.

    • Johnson

      @shawn :
      I do not want to sound like a fanboy, but gentoo is quite stable. I have learned a lot (and possibly sometimes the hard way) but gentoo is a stable system, and very much so. It broke on me, yes, but it was my fault. No system is perfect. RHEL broke one me, SUSE broke on me, Ubuntu broke one me, but with gentoo, I knew I could fix it myself, and quickly so. Read below and see that companies like NASDAQ use it, and I guess it has a good reason. I use it at home, on my laptop, and in my company.

      http://www.itworld.com/open-source/193823/how-linux-mastered-wall-street?page=0,2

    • Pingback: Evaluando Gentoo Linux | Kensai

    • hadrons123

      I have used Arch for years. There is definitely lot of FUD about Gentoo on the internet with most of the reviewers who doesn’t understand Gentoo. Gentoo is stable and very good compared to Arch or Fedora. I have a core i7 and I love to compile, but still kernel compilation in Gentoo doesn’t take more than 3 mins. I love Gentoo.