Moving To a New Site

I have just decided that it's time to move on and have my own domain. All the posts in this blog will be moved to:

www.pinoygeek.org

Personal posts will be transferred to: raldz.pinoygeek.org

Sunday, October 16, 2005

THE UBUNTU JUGGERNAUT: Resistance Is Futile

By: Robert Storey

Introduction
Ubuntu LinuxUbuntu has stormed the Linux distribution scene like no other project before. Although barely a year old, it has already succeeded in attracting thousands of satisfied users ranging from absolute Linux beginners to seasoned UNIX administrators. What are the secrets of this tremendous success? A quality product combined with friendly community resources and clearly stated objectives. Robert Storey, no longer able to resist the forces of humanity, set out to investigate this new king of Linux distributions.

Greatest Hits


Don't look back; something might be gaining on you.
- Satchel Paige, baseball player


The first release of Ubuntu Linux (version 4.10) occurred on 2004/10/20, and life hasn't been the same since. Unless you've been living under a rock in Antarctica, then surely you've heard of Ubuntu, which now tops the charts on the DistroWatch greatest hits list.

I must confess that I was caught off guard by the overnight success of Ubuntu, and thus neglected to review it (or even download it) when it first arrived on the servers. However, it's just as well that I didn't bother, because for the past year, not a week has gone by without somebody writing an Ubuntu review and posting it to one (or all) of the popular geek web sites. Indeed, it's become something of a joke that the only things you can't avoid in life are death, taxes and Ubuntu reviews.

The first anniversary of Ubuntu has just passed, and as of last week, the world has once again been treated to a new release (version 5.10), code-named Breezy Badger. Unable to avoid the onslaught of the Ubuntu steamroller, I have decided to at last concede defeat. I downloaded the CD, installed it, hacked it, contemplated it, meditated over it for a whole weekend, and now it's time for me to share my thoughts about this operating system with the rest of the world.

Money Talks

Ubuntu is Debian-based, a fact which warms my heart because I've been a Debian fan since the time of The Ark. There was a time when Debianistas were regarded as a small and mysterious cult, admired as "quaint" but doomed to extinction because (as everyone knew) RPM-based distros were destined to rule the universe.

Fast forward a few years, and the Linux world looks very different. Debian-based distros have experienced a renaissance which more or less began with the release of Knoppix in 2003. In the beginning Knoppix was just a live CD, but once it acquired a decent installation program, developers swiftly jumped on the bandwagon and hardly a week went by without yet another "Knoppix knock-off" being released.

Needless to say, not all of these distros have been successful - many disappeared soon after version 0.1-alpha was announced. Fortunately, some of the better ones have endured. Debian is clearly on a roll, which raises the question - why choose Ubuntu? What does it offer that the rest of the Debian family doesn't?

The answer to this mystery appears to have as much to do with marketing as technical excellence. Like some of its commercial competitors, Ubuntu is available on a two-CD set enclosed in a slick-looking cardboard case. Unlike commercial distros, Ubuntu is considerably cheaper with a price tag of US$0.00, shipping included. Furthermore, if you request one set, you'll probably receive 10 with instructions to hand out the other nine to friends and enemies alike. Of course, CDs sent by snail mail take time to arrive, so if you want Ubuntu fast the simple solution is to download it. In fact, if you can forego the sophisticated look and feel of the packaged CDs, downloading is the socially responsible thing to do since somebody does in fact pay for those CDs.

The "somebody" in this case is South African multi-millionaire, Mark Shuttleworth, who generously donated US$10 million to create the Ubuntu Foundation. The foundation's philosophy is that Ubuntu is free and will always be free. Furthermore, it is released under the GPL, meaning that if ever it somehow becomes unfree, anybody can grab the source code and morph it into a new operating system with no need to pay royalties.

Can't We Just Get Along?

For those new to the world of Debian, a little bit of background is required to understand The Big ControversyTM that has erupted over Ubuntu's existence. Debian's great claim to fame has always been APT (Advanced Package Tool), which makes installing, removing and updating software a breeze. This is no small feat because Debian is the biggest of all distros, with over 15,000 packages in its repository. Juggling so much software is the work of about 1000 developers, most of whom are under-praised and unpaid for their monumental efforts.

To make this massive project manageable, Debian is segregated into three releases - stable (currently nicknamed Sarge), testing and unstable (nicknamed Sid for the mentally "unstable" kid in the movie Toy Story). Not surprisingly, all the latest and greatest software is found in the unstable branch. Therefore, the most up-to-date Debian-based distros tend to be based on Sid.

Despite the name, unstable does not mean that the operating system or its applications are likely to crash. However, it does mean that the package collection constantly changes. New packages are added and old ones are kicked out on a daily basis. The best way to think of unstable is that it's a moving target. This can cause problems when you go to install new software - thus, distros based on unstable can suffer from "package breakage", a serious disease that can lead to hair loss (as well as a smashed computer monitor).

To solve this problem, once every six months Ubuntu syncs with Debian's unstable package collection, but then goes its separate way. Thus, as time passes, the two distros get out of sync. This has some people concerned, among them, Ian Murdock, Debian's founder. In an interview at InternetNews.com, Ian pulled no punches:

"If anything, Ubuntu's popularity is a net negative for Debian. It's diverged so far from Sarge that packages built for Ubuntu often don't work on Sarge. And given the momentum behind Ubuntu, more and more packages are being built like this. The result is a potential compatibility nightmare."

Ian's main concern is that Ubuntu is not truly Debian compatible, and that development efforts are being sapped as everyone concentrates on Ubuntu. Contributing to the controversy is the fact that Ubuntu is not a member of the Debian Common Core (DCC) Alliance. In the true tradition of online discourse, this has generated some significant flame wars.

Going Live

As someone once said, politics is the world's second oldest profession. So let us now leave the political flame-fest behind and get down to what really matters, Ubuntu's technical prowess.

I've already mentioned that Ubuntu comes as a two-CD set, but actually that is a little misleading. There are two CDs in the spiffy cardboard package, but you don't really need both. One is a live CD which allows you to boot up and run Ubuntu without installing it to the hard drive. The other CD is for installation only.

I fired up the live CD to see what it could do. Most users will probably find it works as expected, but I found it to be a little bit awkward. Not bad, just not aesthetic. Booting the CD brings up what appears to be a text-mode installation program. You have to answer a few questions and then there is a lengthy wait while Ubuntu does hardware detection and configuration. Eventually, you will be presented with a brownish GNOME-based graphical desktop. I was slightly disappointed to see that the live CD did not automatically recognize the computer's hard drive, but I was able to mount it manually. Mounting the hard drive may not be important to you, but it would be crucial if you were trying to rescue data (one of the best uses of a live CD). Rescuers will probably be somewhat dismayed to discover that logging on as user root is not allowed (fortunately, buried in the menus is the ability to open a root window).

Aesthetics aside, the Ubuntu live CD works OK as a demo. You can use it to show off for your friends, test your hardware compatibility before installing, or to perform emergency surgery on a crippled hard drive.

Taking the Plunge

Ubuntu gets a lot more interesting when you actually install it. The installer is a slightly modified version of Debian's, and is ncurses-based (that is, text-mode with menus) rather than graphical. Although some users seem perturbed that there are no fancy graphics, the whole installation procedure is really very simple and even greenest of newbies should have little problem with it.

Although not required, you'll get far more mileage out of the installer if your computer is plugged into the Internet (preferably broadband). Ubuntu will attempt to use DHCP to find the network, but if you're not connected to a router or DHCP server you'll be given the chance to type in network parameters (necessary if you want to connect via pppoe or dial-up). Once the network is found, considerable additional software will be downloaded and installed. The only drawback to all this is that it can take quite a while, and if your network connection is slow or the servers are very busy, installing Ubuntu could occupy several hours. This is why you might consider downloading the DVD edition.

An issue that has produced much comment (and the requisite flame wars) is that Ubuntu randomly chooses a password for root, and you will have no way of knowing what it is. Therefore, unless you make an incredibly lucky guess, you will not initially be able to log on as root. This sounds disastrous, but really isn't. What actually happens is that the installer requires you to create one user, and that (first) user will automatically be given membership in the exclusive admin group. This user will then have almost as many privileges as root, including the ability to change the root password. Thus, without ever knowing the original root password, you'll be able to change it to your liking and then you can log in as root. Presumably, this convoluted process is to prevent inexperienced newbies from logging in as root and running amuck, gleefully trashing the file system with commands like "rm -fr *".

The exact procedure to change the root password: click System --> Administration --> Users and Groups, and then click Show all users and groups. Then choose root and click Properties.

As an alternative, you can open up an xterm and type:

sudo passwd root

Although not required, it might not be a bad idea to give your privileged first user a special name - I chose the name "big-cheese". You can later create at least one other user who will lack admin privileges. Although the Ubuntu FAQ assures us that it is safe to be surfing the Internet as big-cheese, I don't get a warm and fuzzy feeling doing this. One of the first laws of network security is to keep user privileges to a minimum.

Upgrading to Breezy Badger

If you've already installed a previous version of Ubuntu and now want to update to Breezy Badger, there is no need to start from scratch. In the true Debian tradition, updating is dead easy.

If you're updating from a Breezy Badger beta or release candidate, all you've to do (as root) is open an xterm and type:

apt-get update
apt-get upgrade

If you're upgrading from Hoary Hedgehog to Breezy Badger, the process is just a little more complicated. First edit file /etc/apt/sources.list and change all occurrences of the word "hoary" to "breezy". If you're updating from a beta or RC version, you will probably also have to comment out the first line in /etc/apt/sources.list which refers to the cdrom - it should look something like this:

deb cdrom:[Ubuntu 5.10 _Breezy Badger_
- Release Candidate i386 (20051005)]/ breezy main restricted

Commenting out the above line means that Ubuntu will no longer nag you to insert a CD into the drive - it will go directly to the Internet in search of packages. Thus, with your /etc/apt/sources.list properly altered, you can now run these commands:

apt-get update
apt-get dist-upgrade

It should be noted that upgrading can take quite a long time. Just how long depends on the number of packages that need upgrading, and the speed of your Internet connection. It definitely helps to have broadband, but even then be prepared to let your machine run overnight.

Updating and Installing Software

Even if you've installed from scratch, don't be surprised when the very first time you log in, a message will pop up informing you that updates are available. To perform the required magic, you will need to log in as the privileged user (big-cheese?), and then run the Ubuntu Update Manager. Just follow the menus, as so:

System --> Administration --> Ubuntu Update Manager

Packages are being added and updated all the time, so you will no doubt be seeing new messages every few days admonishing you to update again. Although that may get wearisome, it is in fact a good idea to keep your package collection up-to-date for security reasons and to stamp out bugs.

Ubuntu also includes Synaptic, the famous user-friendly GUI package manager. It's so easy to install/remove software with this tool that I won't bother explaining it. Just point-and-click, and you'll know.

That having been said, one little "gotcha" is that, by default, Ubuntu limits itself to a relatively small package collection. Most users will not be satisfied with this for very long, but there is a simple little secret for fixing the problem. As the privileged user (or as root) fire up an editor and take look at the self-explanatory file /etc/apt.sources.list, which should contain (among other things) the following:

## Uncomment the following two lines to add software
## from the 'universe' repository.
## N.B. software from this repository is ENTIRELY
## UNSUPPORTED by the Ubuntu team, and may not be under
## a free licence. Please satisfy yourself as to your rights
## to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the
## Ubuntu security team.

# deb http://us.archive.ubuntu.com/ubuntu hoary universe
# deb-src http://us.archive.ubuntu.com/ubuntu hoary universe

# deb http://security.ubuntu.com/ubuntu hoary-security main restricted
# deb-src http://security.ubuntu.com/ubuntu hoary-security main restricted

# deb http://security.ubuntu.com/ubuntu hoary-security universe
# deb-src http://security.ubuntu.com/ubuntu hoary-security universe

Once you've uncommented the universe and (optionally) the security repositories, run the following command:

apt-get update

You will then find that the list of available packages has greatly expanded. Despite all the dire warnings from the developers, there are few risks in using these additional repositories. However, it has already been pointed out that Ubuntu's packages are seriously out of sync with Debian's, so don't try to add additional repositories to /etc/apt/sources.list. If you fail to heed this warning, you'll almost certainly experience the dreaded package breakage.

Once you've done the above, you should find that all the KDE apps are available for installation. Ubuntu is GNOME-based, but you can certainly run KDE as your desktop. However, if you want to work in KDE most or all of the time, consider installing Ubuntu's alter-ego, Kubuntu.

If you're a little more daring, you might want to add the debian-marillat repository to /etc/apt/sources.list (use testing/main). This will allow you to install Lame, MPlayer and other software which has "problems" with software patents and the DMCA. As for just where you can find the nearest debian-marillat repositories, you'll have to do some Googling.

Swatting Bugs

I don't expect any OS to be trouble-free, but I did encounter a few more bugs with Breezy Badger than anticipated. Fortunately, Ubuntu has a nice bug reporting form. I'm pleased to say that the first bug I reported was swiftly acknowledged and fixed. The second and third bugs are still pending. The others were acknowledged but the developers didn't feel that these were bugs.

The first bug involved the hdparm command. This has already been fixed, so I needn't say anything more about it.



The second bug involved my favorite text editor, Xemacs, when running under GNOME. The problem is that it won't recognize X fonts which, among other things, prevents me from typing in non-Roman scripts. As a temporary fix, I've solved the problem by not using GNOME and instead running IceWM.



The most serious bug still on my pending list concerns the video driver. Although the installer correctly identified my video card as radeon, I noticed that performance in graphics mode was sluggish. I attempted to confirm this by running glxgears, which revealed a further surprise - if you launch glxgears in an xterm on Hoary Hedgehog, it will report frame rate, but on Breezy Badger it fails to do so. I later learned that you can force it to do so by running the command:

glxgears -printfps

That's all very nice, but I discovered to my chagrin that when (using my mouse) I attempted to drag the window with the spinning gears, Ubuntu froze. I no longer had a mouse cursor and the keyboard was dead. Only a hard reboot could restore the system to normal. I repeated this experiment several times, with the same fatal result.

I have found the fix for the problem, but this bug definitely needs to be addressed by the developers. First, I searched for (and then installed) an accelerated video driver for the Radeon card. To find out what was available for Radeon, I did this:

bob@x31:~> apt-cache search radeon
xserver-xorg-driver-ati - X.Org X server -- ATI driver
fglrx-control - Control panel for the ATI graphics accelerators
xorg-driver-fglrx - Video driver for ATI graphics accelerators
xorg-driver-fglrx-dev - Video driver for ATI graphics accelerators
(devel files)
gatos - ATI All-in-Wonder TV capture software
radeontool - utility to control ATI Radeon backlight functions
on laptops

Then I checked to see if xorg-driver-fglrx was installed (it was not):

bob@x31:~> dpkg --get-selections | grep xorg-driver-fglrx

So then I installed it:

root@x31:~> apt-get install xorg-driver-fglrx

With the new driver, my video performance has improved and glxgears no longer crashes the system. However, esoteric bugs like this could easily blow away even experienced geeks, let alone newbies. Hopefully this issue will be resolved soon.

Minor Quibbles

A minor annoyance was that the wrong kernel was installed. In this case, "wrong" was not disastrous. What happened was that a 386 kernel was installed even though I have a 686 processor. The machine ran OK, but performance clearly suffered. I initially filed a bug report, but the developers replied that the Ubuntu CD just doesn't have room for multiple kernels so they have to go with the lowest common denominator, which is 386. You can check which kernel is installed as follows:

root@x31:~> uname -r
2.6.12-9-386

The solution is to upgrade your kernel. If you're upgrading to a 686-based kernel, the command would be as follows:

apt-get install linux-686

I assume the above is a non-issue if you install Ubuntu on an AMD64 or PPC.



Though by no means a bug, Ubuntu has been criticized for not including a built-in firewall. The official response to this complaint is that - since most services are turned off by default - no firewall is needed. Personally, I find that explanation as satisfying as saying you don't need to lock the door of your house because there's nothing to steal inside. If nothing else, I'd rather have a firewall for the warm fuzzy feeling it gives me. Fortunately, you can easily add one. Probably the easiest one to install and configure is firestarter. I actually prefer guarddog, because it gives more precise control over the firewall rules, but it's also a little more complex to set up.



Another little quibble is that Ubuntu doesn't protect you from accidentally deleting or overwriting files by careless use of certain commands. In particular, rm, cp and mv can cause you grief, but even cat can be dangerous. I know I've mentioned this problem too many times before in other reviews I've written, but in Ubuntu the situation is especially severe since not even the dangerous root user is protected. As an example of how disastrous this can be, if you meant to type rm -r *.bak but instead typed rm -r * .bak, you can kiss all the files in your current directory goodbye. The way to prevent this is to enable interactive mode with the -i option. You can also prevent overwriting files with cat by using the "noclobber" option. The way to do all this is edit files .bashrc and .bash_profile in your home directory (and especially in /root) and add these lines:

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
set -o noclobber

The Road Ahead

Various reviews I've seen about Ubuntu have attacked the release names (Hoary Hedgehog, Breezy Badger and upcoming Dapper Drake), or the "ugly" brown GNOME screen background (which is easily changed). I consider such "flaws" to be trivial. When push comes to shove, I want my operating system to "just work", and in this department Ubuntu delivers.

Despite a few fixable bugs, it's hard not to like this distro. I greatly appreciated the rock solid package management - never once did I have to pussyfoot around with the notorious broken packages which plague Debian unstable fans. Similarly, upgrading Ubuntu was a breeze. The default GNOME interface is very intuitive, a great relief to Linux novices as well as more jaded users. The installer might not be pretty, but it works as promised. There were lots of thoughtful little touches, such as powernowd (which keeps your processor cooler) being installed and started automatically.

Ubuntu is still not my favorite distro, but it comes very close. And I must confess that I've only been running it a few days, so I can't swear that it won't crash under worst case conditions (though my Ubuntu-loving friends assure me it's solid as the Rock of Gibraltar). There is some grumbling that Ubuntu's repository of packages is not quite as massive as Debian's, though it seems to be catching up fast.

A big plus is the helpful and friendly Ubuntu online community. When you're racking your brain with what seems like an insurmountable problem, it's good to know that assistance is just a few mouse clicks away. You probably won't be told to RTFM, but if you need an FM to R, some good references include the Unofficial Ubuntu Guide and the amazingly-detailed Debian Reference Manual.

Ubuntu started with a huge advantage by being well-funded, but ultimately a distro is judged successful only if it attracts a large and stable user base. With the number of Ubuntu converts increasing by leaps and bounds, it would seem that this is one operating system that won't go away anytime soon. Needless to say, some geeks will stubbornly refuse to test Ubuntu until the next ice age. Others will hesitate, experimenting with distro after distro, seeking the "perfect operating system" but never quite finding it. The huge collection of Linux/BSD systems listed on DistroWatch is a testimonial to how difficult it is to make a decision. However, after spending weeks trying to get XYZ distro to recognize your wireless card, it's really nice to have an OS that just works. Spending your life wandering in search of Utopia can have consequences. One might keep in mind the words of Aneurin Bevan... We know what happens to people who stay in the middle of the road. They get run down.

Copyright Notice
Copyright (C) 2005 Robert Storey
Verbatim copying and distribution of this article is permitted in any medium, provided this copyright notice is preserved.
Note: If you'd like to discuss this article, please do so on the DistroWatch Weekly page.