Sunday, April 27, 2008

Ubuntu Linux


The Latest release of the Linux distribution Ubuntu was released officially on April 4th, 2008. This version has been long anticipated. In my estimation, possibly since version 6.06, the previous version which promised long-term-support, a.k.a., LTS. LTS, according to Canonical, the company that markets and supports Ubuntu, simply means that you'll get support for at least five years on the server side and three on the desktop.

Ubuntu release cycles are every six months. The numbering (or versioning) method is quite interesting. The version is based on the year and month that the upgrade is officially released. The very first Ubuntu version was released in October, 2004. Therefore, the very first Ubuntu is versioned 4.10. The single digit year comes first, followed by a two digit month. The second one came on time, six months later in April, 2005. It's version number was 5.04. And so on.

Another interesting tidbit is the product name, or code name, assigned to each new version. The first Ubuntu (4.10) was code named Warty Warthog. The next one was Hoary Hedgehog. I just love it. Ubuntu users even use these names in discussing the product. Take a brief visit to the support pages of Ubuntu and you'll read sentences like, "...I'm trying to upgrade from Gutsy to Hardy and...," or, "... is it possible to use the same NIC drivers in Hardy that are supported in Feisty?"

Most vendors normally have code names, mainly used by the developers, for their products. Even stiff-upper-lipped Microsoft. Windows 95 was code-named Detroit. Windows 2000 didn't have a code name, but service pack 1 was called Asteroid. Windows XP - Whistler. Windows Vista - Longhorn.

I definitely prefer the creativity of Ubuntu names.

What makes Ubuntu really exciting for me is the fact that it's really trying hard to bridge a gap between commercial (and that might not be the right word) products and the Open Source world. When you pay for something, you expect it to work. The vendors supposedly put a lot of time polishing the product. Making it easy to install and use. Full of features, robust and supported when things ultimately go wrong. In the early days, Linux distributions required a lot of knowledge on how computers work. Installing Linux was an introduction to a computer science course. Over time, the user-friendliness of Linux has matured. Linux, especially Ubuntu, is comparable to Microsoft Windows in ease of installation. Ubuntu's not alone. Red Hat Enterprise, Fedora, SuSE Linux and Linspire are a few that come to mind immediately. When installing these products, it's no longer necessary to have an intimate knowledge of your hardware as was the case before.

But Linux distributions go further than Microsoft Windows when it comes to putting together a computer system. When you install Windows, all you get is a multimedia player (Windows Media Player), a couple of featureless text editors (notepad and wordpad), a rudimentary painting program (Microsoft Paint) and a few distractions such as games and system tools. From a users perspective, there's not much you can do yet. You need to spend a little bit more money. Purchase a full featured graphics program for editing those photos. A comprehensive office suite that includes spreadsheets (for those accountants), presentation packages and perhaps a better word processor that includes spell checking and complex formatting.

When you install a Linux distribution, you get a wealth of applications that make you immediately productive. The Gimp, for image manipulation, Open Office for business documents, sophisticated DVD tools, Internet applications and much more. With Ubuntu, you also get a system, second to none, for adding new software and keeping the system up to date. Even the task of moving from one version of the operating system to the next one is a simple upgrade using the same tool. That would be like updating Microsoft Windows XP to Vista by a simple visit to the Microsoft Update site. Unlikely.

I'm writing this on a Dell Latitude D620 notebook computer. It has 4GB of RAM and a 100GB disk. The wireless card has a broadcom chipset. The video card is an nVidia GForce 7300.

The laptop was purchased in March 2007 and as soon as Feisty Fawn (Ubuntu 7.04) was released it was relieved of the burden of Windows XP. I was never able to get the wireless networking part stabilised. Even though I used the ndiswrapper package, almost foolproof when it comes to Windows-only driver devices, the card was detected, would work, but was very unstable. Every other part of the system was excellent. I used Envy to install the nVidia video driver.

Six months later when Gutsy Gibbon (Ubuntu 7.10) was released I upgraded the system online. Keeping the same Windows XP drivers and the ndiswrapper package, wireless networking was absolutely stable. I could connect seamlessly from network to network with the excellent Network Manager application.

Upgrading Ubuntu has always been easy. Other than wireless connectivity, and sometimes problems with video and some USB devices, everything seems to work without additional effort. This was not the case in the early days of Linux since most hardware vendors really concentrated on providing support for Microsoft. In any case, this last upgrade (Gutsy 7.10 to Hardy Heron 8.04) wasn't very pleasant. Here's how it went.

As usual, my system notified me that there was an upgrade available. As in the past, I clicked the "Upgrade" button to start the process. A dialog window jumped to the front of the screen indicating that things were happening. Messages indicating that files were being fetched from the Internet, local settings were being altered and so on flooded the screen. But after a minute or so, everything stopped. The dialog window turned an unhealthy shade of gray and nothing seemed to be happening.

I tried to close it by clicking on the little button in the top-right corner with an "X" on it, but it wouldn't respond. I even launched the handy "xkill" program which normally destroys any Linux window application by clicking on it, but this didn't work. Eventually, I had to open a terminal window, find the program by using the "ps" command and then issue another command to get rid of it.

Oh, another nasty side-effect of this partial upgrade, and the subsequent murder of the frozen dialog window was that my system was left in a state of confusion. For some reason, it now thought that it was in the new version, however, there were still five-hundred programs that needed upgrading. I discovered the reason for this but I won't get into it here. It had to do with the way Ubuntu records the locations where it fetches updates to programs. They're called "repositories" in Ubuntu-speak.

After fixing the side-effect and attempting the upgrade a zillion times, I realised that I may have to, for the very first time, actually upgrade by installing from scratch. I've been so used to upgrading a system "intact," including Microsoft Windows, that the possibility of backing everything up, installing a fresh copy of an operating system, and then having to put everything back, was quite daunting. I had everything installed and configured exactly the way I wanted it and I would have to find all my software and try to remember every single tweak.

So I soldiered on. Jumped onto the Ubuntu forums and asked, no begged, for help. I finally found something that sounded promising. By killing the failed attempt at an upgrade, it was then possible to open a terminal and complete it manually. I know what you're thinking. This sounds very much like hacking, but as a true Linux aficionado, I knew that I wasn't doing anything that the operating system couldn't take. Microsoft Windows people would never dream of doing this. If an upgrade of Windows jammed in the middle, and by the grace of God the system was still usable, the only solution would be to salvage any work on the disk and reformat it.

I proceeded to hijack the installation and it completed six hours later. Fetching all the updated files from the Internet took a very long time. The video resolution was completely off. My screen is able to handle 1440 pixels across by 900 pixels down. The maximum resolution that I was getting was 800 by 600. This was because the video driver that had been installed by the upgrade was the wrong one. Getting a copy of the latest version of Envy (EnvyNG) seemed to install the driver, but still I could not fix the resolution problem. I thought I'd tried everything that I could but I've since learned that there was an additional solution that I could have tried. A solution that seems to be helping others with the same problem.

The wireless card was detected. Miraculously I didn't need to use the ndiswrapper package. I knew this since I had used the live-cd version of the upgrade to test my hardware. What was confusing is that in the live-cd, everything was perfect.

I started upgrading on Friday April 25th at about 10pm. I fought with the upgrade till I discovered the hijack work-around at about 3am at which time I went to sleep and allowed the upgrade to complete. When I woke up to go for my morning run at 7am, the upgrade still wasn't finished. It seemed to have completed sometime between 7am and when I got back at 8am. Between 8am and 10:30am I fought arduously with the video card.

At 10:30am EDT on Saturday April 26th, 2008, the date that will be remembered as the date the Toronto Transit Commission stranded commuters in downtown Toronto, I finally gave up and started backing up the documents on my system in preparation for a clean installation. By 12pm, my backups completed and intact, I bid goodbye to my (crippled) system, inserted the fresh CD of Ubuntu and began to wipe the system.

The entire installation took between forty and fifty minutes to complete. When the CD ejected from the drive and I rebooted into the brand new system, everything was good. The video even looked sharper, clearer than it did in the previous version. A few mouse clicks later, which were necessary to download the proprietary drivers for the wireless card, and I had full wireless connectivity. I pulled the Ethernet cable from the jack behind the laptop and enjoyed an unfettered surfing experience. Oh the joys of being able to move freely about and not worry about cables and other hindrances.

Hardy Heron is a must-have upgrade. I needed to download proprietary drivers also for the nVidia card, this is only because the desktop that I wanted needed full hardware acceleration capabilities of the video card which the Ubuntu provided one.

Hardy Heron installs a beta version of the Firefox web browser. At first I was sceptical about using beta software and wondered why a released version of an operating system would tolerate beta software. But after using it for the entire weekend, Firefox 3 is close to being a production release and feels more stable than it's version 2 parent. Firefox 2 was very unstable and notorious for freezing and destroying every Internet session that you were using.

The fact that Ubuntu provides a live-cd is an excellent method of testing your hardware for compatibility. This used to be the case in the Microsoft Windows world, however, the new version of Vista is extremely demanding on hardware, and even though it might install on a computer that was perfectly happy with Windows XP,