Wednesday 17 March 2010

Bleak and industrial, we're not and never will be

why Linux will never succeed in the mainstream

I have been running Linux Mint for 8 weeks now and I've been delighted with it. My desktop PC is fast and responsive and I am hugely impressed by the sheer amount and quality of software available for Linux. Printing, scanning, wireless networking, audio, DVD writing and all my USB devices just work.

I don't have a virus scanner consuming memory and chewing clock cycles. I am no longer considering a memory upgrade as Linux works fine with my paltry 512MB.

I have all my favourite applications available (Picasa, Chrome, FileZilla, Emacs). Linux is brilliant as a development platform and installing software is easy. The Mint desktop looks great and with the addition of Microsoft TrueType fonts, my display is razor sharp and crystal clear.

Finally, and perhaps, most importantly, my wife has also embraced the change. She now uses Thunderbird instead of Outlook Express, Firefox instead of Internet Explorer, OpenOffice instead of Microsoft Word and Excel and Nautilus instead of Windows Explorer. All of this was fairly transparent and painless.

This fulsome praise all sounds like an advert for the wonders of freedom loving, a precursor for some open source software evangelism and a concerted attempt to convert the great unwashed to Linux. However, there is an elephant sitting in the room. Right there - in the corner.

The Ubuntu and Linux Mint (which is based on Ubuntu) distributions have a 6 month development cycle. This means that a new release will appear twice a year which is great because users know when the next major release is due. In addition, minor fixes, security patches and improvements are continually being pushed out via automatic updates. What is not so good is the actual process of upgrading to a major release which, in my opinion, is relatively complicated and risky for an inexperienced, new user.

To be fair, Linux Mint are upfront and honest and describe the upgrade process fully, the options available and the pros and cons of each approach.

'There is no guarantee that it will work for you. In fact, this [dist upgrade] is quite a risky process. If you’re experienced and if you know how to troubleshoot and solve common Linux problems then you’re probably OK. If you’re a novice user we recommend you perform a fresh installation of Linux Mint 8 instead.'

David Marsden is an experienced Linux user and comments that he is comfortable performing Ubuntu upgrades, quickly and reliably without losing his data. He claims that Ubuntu upgrades are quicker and easier than applying a Windows Service Pack.

Of course, David's absolutely right. Even I managed to upgrade to Linux Mint 8 at the first attempt without losing any of my user data and even managed to preserve the configuration settings for all my favourite applications. In fact, apart from the modified login screen and wallpaper, the four people who use the Linux computer would have struggled to notice the change, it was that transparent.

In fact, all I needed to do was:

  • When originally installing Linux, create dedicated, separate partitions for user home directories and data. I use '/home' (user directories) and '/data' (music, photos, documents).
  • Try to stick to the default Mint (and Ubuntu) software repositories.
  • Note down the additional applications and software packages you have installed.
  • Jot down user and group id's (copy '/etc/passwd' and '/etc/group').
  • Backup the home and data file systems (twice). Check the numbers of files. Check the size of the directories. Check the checksums. Check the backups are readable. Check the hidden directories. Check the backup disk isn't full. Check everything.
  • Burn the Install CD and install the 'upgrade'.
  • Preserve the '/home' and '/data' file systems, leaving all existing data intact. You did remember to jot down that '/home' is '/dev/sda6' and '/data' is '/dev/sda8', didn't you ?
  • Move '/home/user' to '/home/user.backup'. Repeat for each user account. This ensures that Gnome and desktop related settings are re-created.
  • Re-create the necessary user accounts and ensure the user and group identifiers are the same as before.
  • Selectively, copy the various, 'hidden' dot directories for applications (Rythmbox, Picasa, Pidgin) back into the user directory to preserve the application settings.
  • Reconfigure wireless networking.
  • Reconfigure the printer.
  • Remove the irritating fortune cookie from 'Terminal' (Mint only).

Now I am fairly technical and understand most of this. I have no problem whatsoever doing all of this. David is correct - all of this is common sense, quick to do and the whole process takes less than 2 hours. I don't even mind repeating this process every six months because, as David points out, I have a new, shiny operating system with new features, additional applications, bug fixes and improvements.

What I have a problem with is trying to explain this whole, convoluted process to my father. Or rather, rescuing his system after he has failed to follow this process. Remotely.

Of course, my father has a few options available. If it ain't broke, don't fix it - if Mint Gloria works fine than stick rather than twist. Alternatively, he could use a distribution that automatically performs rolling upgrades so his software is always the latest and greatest.

inside the open source confessional

'Dear Father - It is 6 weeks since my last confession. Since then I have...'

  • Installed Thunderbird 3 which handles all my work email. This upgrade went smoothly enough although there were some minor glitches with server authentication and message filters. Thunderbird 3 adds tabs, UI enhancements, IMAP synchronisation, much needed improvements to the address book in addition to faster searching.
  • Upgraded my desktop PC to Linux Mint 8. Again, this went smoothly enough, mainly because I did a full blown install while carefully preserving my user data. Until Linux upgrades are 'rolling' and as easy as applying a Windows Service Pack, Linux will never succeed in the mainstream.
  • Installed Google Chrome on Mint 8. This was probably the only software I missed from Windows and God, I had forgotten how much faster Chrome is than Firefox. Chrome is blindingly fast on Linux, staggeringly fast, unbelievably fast.
  • Playing around with DokuWiki to replace Diigo and Google Notebook in an effort to use more open source software and get more of my data under my control.
  • Installed Laconica 0.8.2 so Billy has his very own sandpit to play with spammers in.
  • Upgraded this blog to the latest bleeding edge of Habari (0.7 alpha) and was relieved to see it still worked.

'Go in peace, my son. Admirable efforts but my sources tell me you are flagrantly continuing to use freedom hating, Microsoft TrueType Fonts to enhance your browsing experience on Linux, so please say three Hail Mary's and an Our Father as penance. Go in peace to love and serve RMS.'

how I ditched Windows and embraced Gloria

After the Yak was shaved, we suddenly realised we had missed 'Football Focus' and proceeded directly to the casting couch.

I fully appreciate that evaluating a Linux distribution is just 18 minutes and 32 seconds isn't probably sufficient to probably gain a full picture of the capabilities (or otherwise) of any software let alone a full blown operating system.

However, this superficial, high level, cursory review of all the distros below is useful as it solely focusses on the installation process, ease of use - both of which are key for prospective Linux users; particularly those people who might be looking to migrate, as in my case, from Windows.

Ubuntu (Hardy Heron)

As I have installed Ubuntu before, this was fairly straightforward. As I now had the full 80GB disk to play with, I allocated four 20GB partitions (root, home, apps and data).

The installation prompted for my timezone, keyboard type and was pretty quick. Once I rebooted, I was able to configure my Linksys wireless adapter and access the network. As I was using a Ubuntu version that was 12 months old, the system update utility soon notified me that I had over 800MB of available updates which I downloaded.

I was mortified to see the file transfer speeds was variable. Very variable - it ranged between 35-50 KB/sec and I also noticed the strength of the wireless signal was incredibly sporadic. On Windows, I would consistently get a signal strength between 75 and 95%. This computer was in the same room as the router with clear line of sight. I tried browsing the Web - the experience was painful, It was like the bad old days of 56KB dialup modems. I killed the system update which only improved the state of affairs slightly.

I then discovered that there was a Ubuntu mirror hosted by my ISP (Virgin Media) so reconfigured system update appropriately but still - no improvement. A ping to ubuntu.virginmedia.com took 4-5 seconds - yes seconds - not milliseconds. A ping from another Windows PC in the house took 20 ms. This was a major concern and might kill this experiment dead in its tracks with yet another Windows install beckoning.

Another of my concerns about adopting Linux full-time was printer support so I was delighted to see that drivers for my Canon IP4000 inkjet printer were included in a comprehensive list and printed a test page to prove it.

I imported photos, music and documents from my external USB Windows (NTFS) drive (which just needed to be mounted as 'root'). OpenOffice was able to read all my Word 2003 (and 2007) documents, Excel spreadsheets (and PDF's were also accessible using Document Viewer. I could view photos fine and I intended to use F-Spot to manage my photo library.

I was puzzled to see Evolution installed as the default email client so I installed Thunderbird and configured it to access Virgin Media email servers to send and receive email which worked fine.

Mint 5

Next, I installed another year old distribution - Mint 5 with the XFCE desktop interface (as opposed to the more common Gnome desktop which comes with Ubuntu).

Again, I simply reformatted the root partition and left the user data well alone. Mint looked impressive and has a slightly better utility to manage the wireless network. I was offered the chance to install 'Restricted' packages for proprietary software (e.g. the nVidia drivers, Flash). Open source purists may object but I accepted the invitation. I was rewarded by being able to play YouTube videos straight away with no fuss. I recall hunting around on Ubuntu for ages until I discovered the 'Restricted-Extras' package.

My main concern, the performance of the networking seemed unchanged (not wholly surprising as I believe Mint 5 is also based on Hardy Heron).

OpenSUSE

Next up was OpenSUSE which offered a slightly different administration interface and a green theme. This was another old CD and I was gratified and hugely relieved to see that OpenSUSE started loading system updates at a decent speed (500-705KB/sec). If all else failed, I could also revert to this distro although I wasn't entirely comfortable with the Nautilus File Manager after becoming accustomed to Gnome.

CrunchBang

CrunchBang was an interesting distro with a very different interface - Black background, very minimalist with a handy system dashboard (CPU, memory, disk utilisation) with all applications were available from a right-click menu.

I really liked CrunchBang as it appeared to have a small set of carefully selected and useful packages without being overly cluttered with megabytes of additional software. I prefer distros with a compact base where I can then install additional software as required.

If I was the sole user of the computer, I probably would have gone for CrunchBang as the monochrome, minimalist beauty of the desktop was appealing. However I doubted that Norma would be as comfortable with the cut-down interface and funereal colour scheme.

Fedora

I embarked on the now familiar installation process but once Fedora booted, I got a couple of disconcerting kernel diagnostic error messages when using Firefox and the automatic system update failed. There was also a worrying amount of blue - both during the installation process and on the default theme.

Debian

I dearly wanted to love Debian as I get the impression it is the distribution of choice for Linux officiandos and the technically minded crowd. Also, it had lots of red during the installation process which was very promising.

By now, I was getting bored of these time consuming full blown installations onto hard disk so thought I would evaluate the remaining distros simply using the Live CD approach and make allowances for any sluggish performance.

Unfortunately, Debian assume that Debian is the one and only and the best Linux distribution for you so you will obviously be installing the software on to the hard disk. For some reason, (as far as I could see) Debian don't see fit to provide a Live CD so people can choose to evaluate their software so, once again, I found myself performing a full blown installation.

Thus far, every single Linux distro had correctly auto-detected, configured my Linksys wireless adapter and managed to connect to my Linksys Router (running Tomato firmware) which was a pleasant surprise.

But not Debian. Oh no - although the WiFi card was recognised and I could enable wireless networking, see the available networks, enter my WPA credentials, Debian stubbornly refused to connect. There seemed to be a worrying assumption that all wireless networks used WEP and I felt I would have to do some serious digging to fix this and that somehow because I wasn't prepared to do so, I was unworthy to have the privilege of running Debian. Maybe it's some sort of Debian initiation ceremony. In any case, life's too short.

Arch

Arch is an interesting distro - it uses a character based installer. It reminded me of installing SUSE Linux way back in November 1999 when I had to recompile the kernel in order to get the mouse to work. Having been spoiled by all the GUI installers, I was tempted to give up on Arch there and then but proceeded until the partitioning utility decided that I had overlapping partitions (which was odd as every other distribution disagreed) and refused to go any further.

PCLinuxOS

Another short lived experiment - some obtuse failure meant I wasn't able to evaluate this distro.

Mandriva

Finally, I looked at Mandriva which was a great looking distro and very user friendly. I particularly liked the WiFi management utility. It also performed well (even booting off the Live CD).

Ubuntu 9.04

After all this effort, I still had a nagging doubt, that I was using dated versions of Ubuntu and Mint that were more than 12 months old. As there will have been a lot of updates and two full releases during this period, I decided to burned two more CD's for Ubuntu 9.04 (Jaunty) and Mint 7 (Gloria). My main reason was to see if the problems with my wireless Linksys card was resolved in the current stable version of Ubuntu and I also wanted to try the Gnome version of Mint.

Sure enough, support for the wireless USB adapter in Jaunty seemed much, much better and I was able to use the network normally and large downloads were now as quick as with Windows and Open SUSE.

Mint 7 (Gloria)

The Linux Mint distribution is based on Ubuntu which means you can also access the Ubuntu repositories which have a wealth of software packages.

I liked the look and feel of Mint 5 (using the smaller, lightweight XFCE desktop) and was similarly impressed by Mint 7 (using Gnome).

The software update process is slightly more refined on Mint than Ubuntu - updates are classified based on priority.

The clinching factor in Mint's favour was the new Mint Menu introduced in Mint 7 which offered a (I hesitate to say it), a start menu that would be reassuringly familiar to Windows users.

The desktop interface was simple, stylish and uncluttered and I liked the Mint management tools. Also, support for an Ubuntu based distro would be easily available.

So that was it - after a day of evaluating various Linux distributions, I decided to go for Mint 7. Now the boring bit was over with, it was time to sit back and enjoy my new computer.

Yak shaving

'How I ditched Windows and embraced Linux' - the prequel.

On Saturday morning, I thought it might be fun to install Linux on my home computer. A year ago, I had experimented with a few Live CD's and actually installed Ubuntu (not officially supported) followed by Oracle Enterprise Linux (officially supported) on my work laptop (Thinkpad T61). For various reasons, I subsequently had to reverse that change so I thought it might be worthwhile and interesting to install Ubuntu on my own computer (an aging but reliable Dell 4500).

There was no problem with the computer, there was no problem with Windows XP. I am not a rabid, freedom loving, Microsoft hating individual. I just wanted to play around with Linux before 'Football Focus'.

As Norma also uses this computer (email, Web, Word documents), I decided to install Ubuntu as a dual-boot option alongside the existing stable Windows environment. This was firstly to evaluate whether Linux supported all my various peripherals and software requirements and secondly, let people continue to use Windows.

I dug out an old Ubuntu (8.04 - Hardy Heron) Live CD and started the installation process. When I came to partition the hard disk, I chose the 'Advanced' option so I could preserve all my existing data with 60GB allocated to Windows with another 20GB for Linux.

The re-partitioning failed; the 'ntfsresize' program helpfully told me with a typically cryptic Unix style error that '1028 is greater than 1024'. No matter - just get a Windows recovery disk and use the 'fdisk' utility to re-partition.

I booted from the Windows recovery CD. After a while I saw 'Files being copied for installation...' and wondered if I had missed the prompt to enter a DOS prompt enabling me to run fdisk. So, I hit 'Control-C' and rebooted. As I expected, my computer was now completely screwed as I had aborted during a full installation.

I sighed inwardly at my impetuousness and stupidity. I also blamed David Marsden who had helped sow this original tiny, little seed in my brain which was now turning into a long running saga and a complete waste of time and effort. Just to get back to where we had started. Almost.

This whole exercise was a classic example of Yak shaving as its finest. I was justifiably proud of myself.

I decided to postpone the Linux experiment to another day and simply re-installed Windows. One hour later, the machine was usable again. All my data was preserved so I took a full backup to an external USB drive. However, although none of my programs were installed and the Windows registry was pure and virginal, the 'Program Files' directory was horrendously cluttered with lots of unused folders.

Now I had a choice; dig out all those drivers and install disks for my Linksys Wireless Adapter, Canon printer, scanner, reinstall and reconfigure all the important software (Picasa, Firefox, Office, Outlook Express) so the machine would actually be usable again. Preferably before Norma got home and asked 'Can I just quickly check my email ?'

Alternatively, now I had a full backup, I could do the right thing, rebuild the computer completely and install Linux. So that's what I did. Only I didn't because I wasn't entirely sure Ubuntu was the best Linux distribution for me. Using the excellent, open source program InfraRecorder. I embarked on burning ISO images for all those distributions I was aware of, have seen recommended or reviewed recently.

I also perused DistroWatch to look for the most popular and used Dan Lynch's excellent, comprehensive, honest, balanced reviews of various Linux distributions.

The cast list, in no particular order:

how I lost my Linux virginity

This week I am attending an excellent training course on Linux System Administration at Oracle's offices in Moorgate, near London. The course is given by Harald van Breederode, an excellent trainer who manages to combine deep technical, real-life expertise with a rare ability to explain complex things in simple terms with a sense of humour.

As is traditional, each attendee was asked to give a precis of his/her job role, star sign, experience with Oracle, most embarrassing professional moment, any exposure to Unix (Linux), favourite band and expectations for the course.

Although I have used various flavours of Unix since embarking on a degree in Computer Science at Warwick University in 1981 and then working for a variety of software houses, my first experience of Linux didn't come until December 1999.

At that time, I was working at Sequent and had ported a lot of GNU software utilities and tools to Dynix/ptx so I had an interest in GNU software. In the midst of the dot com boom, I had responded to a job posting on Usenet and subsequently been interviewed for a Oracle developer role at a small UK Internet company. The embryonic company had less than 10 employees and provided marketing reports, segmentation and campaign management based on click-stream analysis.

If successful, my first task would be to migrate 15 production Oracle databases from Oracle 8.0.5 on Windows NT to Oracle 8.1.6 on Linux. After the interview, I figured it might be prudent to actually familiarise myself with Linux and how to install and configure Oracle on this platform.

Back then, our house possessed a single desktop computer running Windows 95 so the first step was to obtain a copy of the Linux operating system. I sent off the princely sum of £3 (including postage and packing) to the wonderfully named Linux Emporium (which I am pleased to see survives to this day) and waited patiently for my CD to arrive in the post. Norma raised her eyebrows at a blank CD anonymously packaged in a plain brown envelope but still.

This method of Linux distribution seems a little quaint and old-fashioned when, nowadays, you can download and burn a Live CD in a matter of minutes but back than I had a dial-up 56K modem and downloading a full Linux distribution would probably have taken 3 weeks.

As I recall, I had sole use of the PC back then (Norma didn't use it for anything) so I didn't have to bother with a dual-boot system or any pesky backups so I simply inserted the CD, immediately made a pigs ear of partitioning the hard disk, inadvertently formatting it in the process and proceeded to install RedHat.

Given that I knew that my prospective employer had already selected as SuSE the preferred platform (they offered a bundled support package for Oracle and SuSE), the choice of RedHat seems a rather odd decision. I can only assume it was because I had already seen more FAQ's, HOWTO's and community support available for RedHat than SuSE. Although, knowing me, the fact that the RedHat CD was 50p cheaper than SuSE can not be ruled out.

Obviously the years, coupled with the drink and drugs, have taken their toll, so my memory is slightly hazy after 9 years but I do remember a tinge of excitement as white text on a black background announcing system messages detecting (or more likely failing to detect) various elements of hardware and peripherals rapidly scrolled past my eyes.

Eventually, I was surprised and delighted to see a desktop complete with a login box rendered on my screen. However, I was equally nonplussed but not wholly surprised when my mouse didn't work. Now although 'Tools are for fools', the Oracle 8i installer is normally run as a GUI (Java) application so, unfortunately, I had to resolve this issue.

Not for the first time, I was now completely stuck as I only had one computer. My impetuousness meant I couldn't simply boot back into Windows to research the problem so I did 'Altavista'ed at work, printing out a wealth of similar looking issues and resolutions and started troubleshooting.

Norma was a little suspicious of me being locked away for hours on end, messing around on the computer with my new shiny, blank CD but graciously ignored the alternating screams of anguish and ecstasy emanating from the bedroom.

I soon got comfortable with booting to a command line with no Windows ('init 3') and actually managed to configure a device driver for my mouse and I believe I may have even recompiled the kernel. Not because I needed to but well, because I could.

When I eventually got movement out of the rodent and was able to log in, it was incredibly satisfying.

After that, installing Oracle was fairly straightforward as I had already used Oracle on Solaris. However, I recall running Oracle in my environment was a rather different matter as I was perilously close to the absolute minimum specification (64MB of of physical memory) required for Oracle 8i.

All of this work paid dividends as I was summoned back for a second interview and I was able to talk a little more knowledgeably about the potential issues and pitfalls of a Windows to Linux Oracle migration.

Needless to say, this was rather a verbose answer for the course so I just said 'I once blagged a job as an Oracle DBA managing Oracle 8i on a handful of self-built servers running SuSE.'