Monday, August 20, 2007

Gentoo Linux - power versus complexity

Those readers who follow DistroWatch Weekly know that I replace my main production distribution every six months in order to better evaluate the different products on the market. Right now I am on Sabayon Linux; more so by accident than intention, but it has been working well, so I can't complain. However, as a general rule, I prefer to stay with larger, more prominent distributions rather than these small-team development efforts. The reason? All the big ones provide security and bug-fix updates, usually through an easy-to-use online update utility integrated into their desktops.

Unfortunately, building security updates for a distribution is often seen as a boring, unglamorous task that many developers would rather avoid. As a result, most distributions with small development teams (including Sabayon) don't provide any and if you are concerned about this, you have to find your own solution. The good news is that with Sabayon you aren't completely abandoned; since it is based on Gentoo and all the usual Gentoo tools are included, ensuring that your Sabayon system is up-to-date is not that hard - even if it isn't exactly a one-click proposition.

So after running Sabayon Linux 3.3 without any updates since about April, I finally decided last week to do some security and version updates on the system. Using Gentoo's "emerge" command, things went well and I was pleased with the outcome. Encouraged by this success (bear in mind that the last time I played with Gentoo was several years ago and many things have changed since then), I even attempted to upgrade the entire system - over a thousand packages. This didn't go as smoothly - a few packages (about twenty or so) refused to compile, although the vast majority upgraded just fine.

Unfortunately, a major disaster struck at a most inopportune moment. While the emerge upgrade was going on in the background, my screen froze! This -- as I found out later -- was caused by a faulty memory module, so it had nothing to do with either Sabayon or Gentoo, but a hard reset was still the only course of action I could take. After removing the faulty RAM block from the motherboard, I was finally able to start the machine - only to be greeted with a boot failure due to a missing libpam.so library!

I am not going to bore you with all the details of what I did next, but here is a short recap: I rebooted into my Fedora 7 installation on the second hard disk and tried (and failed) to repair the Sabayon/Gentoo system, before deciding that the best course of action would be to re-install Sabayon Linux. Or more precisely, install the latest version, since the developers have since released Sabayon Linux 3.4. This went fine and soon I was running and enjoying the very latest version of the distribution. After that I reached for the "emerge" command once again in order to install a few applications which I need on my desktop, but which are not present on the 4 GB Sabayon DVD: the Apache web server, Liferea, GnuCash, Gnumeric, Mutt, SpamAssassin, gFTP, etc.

I learnt a lot about Gentoo during the past week. I admired the well-oiled machinery of thousands of software applications neatly packaged to work together flawlessly. I appreciated the power of the emerge command, I marvelled at the ingenuity of the USE variables, I enjoyed the many configuration options and system utilities. On the other hand, I was also frequently lost, like a child walking through a toy store trying to decide what to buy. Those who have used Gentoo for years would probably disagree with me, but for a new Gentoo convert, the complexity of the operating system is nothing short of overwhelming and the famous Gentoo documentation, as I was to find out, is not without its flaws either.

Here is an example. It took me a while to install Apache with PHP and SQLite support. This was done with "emerge apache", followed by "emerge php"; however, before the latter command, I had to make sure that the USE variable included "apache2" and "sqlite". Now, why "apache2" if the package itself is called "apache"? The next question was - since there are about five (if not more) different ways to enable the said USE variables, which one should I choose? Sure, the Gentoo project provides a long document explaining in detail all the different options, but did I really want to spend an hour or two studying it? In the end I just randomly picked one of the options without really knowing what would be the correct or best in my circumstances. Various other "gotchas" accompanied several other installations and I often found myself recompiling a certain piece of software several times just to enable a needed functionality.

In the end, I have to admit that I enjoyed the experience. Although I barely touched the surface of Gentoo Linux, it's clear to me why so many power users prefer to run it - its customisability and sheer power are unparalleled anywhere in the world of operating systems. The ability to tweak and tune it to one's exact needs is another attraction that many Linux power users will enjoy.

That said, one has to ask the old question: is it all worth the time and effort? You can easily spend weeks learning Gentoo, but you still won't know everything. Worse, much of this knowledge is useless outside of Gentoo - if one day you find yourself in a situation where you have to run a different distribution, all those specialist Gentoo commands and the location of the Gentoo configuration files will mean nothing. Sure, this is also true -- to an extent -- of other distributions, but Gentoo has probably taken this specialisation further than any other operating system. And that's before we start talking about all the alternative, less often used tools that also exist in the Portage tree...

Gentoo hasn't always been this complex. But the nature of the distribution and its attractiveness to the more technical users and developers means that it is unlikely to regain its original simplicity again. This is not necessarily a bad thing. However, I do feel that the ever growing complexity, together with the increasing number of packages and features, are bound to introduce new bugs and incompatibilities. This in turn might discourage its wider adoption, especially beyond the developer and power user circles. The ever steeper learning curve is another factor that could drag Gentoo Linux further down in terms of deployment figures.

What do you think? Has Gentoo gone too far in making itself powerful? Has its complexity discouraged you from running it? If you run Gentoo Linux on your desktop, can you truly say that you know all there is to know about it? Has the famous Gentoo documentation ever let you down? Or do you enjoy its power so much that you would never consider another distribution? Please discuss below.

Saturday, August 4, 2007

Linux in Paradise

"Everything is very hard to do around here," explained Bertrand Cherrier, the president of the Linux User Group of New Caledonia, with a grim face. "Bandwidth is limited and extremely pricey." But then his visage brightened. "On the other hand," he added, "all of our ISPs and most major web sites run on either Linux or FreeBSD, so things are not too bad, after all."

New Caledonia is a French overseas territory in the South Pacific, about 1,500 km east of Australia. Like most of the islands in the region, it is not wired by an undersea telecommunications cable; instead, all of its Internet traffic comes courtesy of a satellite. Although ADSL Internet has been widely available in Nouméa, the capital city, for some time, due to the limits of a satellite connection and growing user demand, connections to the World Wide Web are often slow and unreliable. New Caledonia, despite being one of the most prosperous territories in the South Pacific, is a place where Linux magazines with cover CDs containing Linux distributions are still in high demand.

Sitting in a small outdoor restaurant in Anse Vata, a popular beachfront area of Nouméa, Bernard, myself and a few other Linux enthusiasts discussed the perils of being an Internet and Linux user in a distant and relatively isolated part of our planet. Of course, when you live on a breathtakingly beautiful island like New Caledonia's Grand Terre, with its healthy, pleasant climate, you probably won't want to spend as much time in front of a computer as when your domicile is in a crowded and polluted Asian megalopolis. Still, having fast, cheap and reliable Internet connection is not a bad thing....

I'll have a more detailed report about the meeting with Linux user community in New Caledonia in a few days at Linux.com. In the meantime, here is a discussion for this week's DistroWatch Weekly: are any of our readers located in small, isolated islands? If so, what is your Internet connection like? Do you get decent speeds and trouble-free downloads or do you rely on Linux magazines and online Linux CD shops to get your distributions? Is being a Linux enthusiast a costly hobby for you in terms of bandwidth? Please discuss below.

Finally, here is a year-on-year tabular comparison of interest in DistroWatch among the residents of the South Pacific islands, plus Australia and New Zealand. The figures in the 2006 and 2007 columns represent the total number of visits on the DistroWatch.com index page from each country or territory during the first seven months of each of the two years.

Rank Country 2006 2007 % Change
1 New Caledonia (NC) 1,320 1,700 +28.8%
2 French Polynesia (PF) 1,922 999 -48.0%
3 Fiji (FJ) 70 275 +292.9%
4 Niue (NU) 4 79 +1,875.0%
5 Vanuatu (VU) 12 50 +316.7%
6 Samoa (WS) 12 24 +100.0%
7 Solomon Islands (SB) 9 13 +44.4%
8 Cook Islands (CK) 70 9 -87.1%
Tonga (TO) 8 9 +12.5%
10 American Samoa (AS) 17 6 -64.7%
11 Pitcairn (PN) 2 0 -100.0%
Tokelau (TK) 1 0 -100.0%
Tuvalu (TV) 4 0 -100.0%
Walis and Futuna (WF) 4 0 -100.0%
Total South Pacific 3,455 3,164 -8.4%
-- Australia (AU) 349,493 402,241 +15.1%
-- New Zealand (NZ) 61,684 73,588 +19.3%

from : Distrowatch