aoakley.com

Migrating to Ubuntu and the Linux Desktop

Many, many thanks to those in the Gloucestershire Linux User Group who gave tips and hints about migrating my home RAID1 fileserver from Fedora to Ubuntu or Debian.

Here's a (rather long, sorry) write-up on how things went.

Old system:
Fedora Core 2 commandline only (no GUI)
128MB RAM, 900MHz AMD Duron CPU
Headless with 1MB PCI SVGA card for emergency use only
DVD reader
Samba fileserver off two pairs of RAID1 mirrors
Samba printer server
Public WiFi hotspot router/firewall using iptables and tc (bandwidth throttling) via spare NIC & AP.
Local SMTP and secondary MX
Secondary nameserver

New system:
Ubuntu 6.06 LTS Server + Ubuntu themed Gnome GUI with Firefox
384MB RAM, 1100MHZ AMD Athlon CPU
KVM with 16MB 3DFX Voodoo Banshee PCI graphics card
CD-RW with DVD reader combo
Hotspot router, secondary MX & nameserver, Samba RAID1 fileserver all running as before
Update: I have now upgraded to 768MB RAM, 1500MHz CPU and GeForce 2 MX graphics card, to run Beryl - see this YouTube demo video.

It is important to note that I have never used nor installed a Linux desktop before.

My goals:

  • Do everything I could do on the old system, PLUS:
  • Get off Fedora Core 2, given demise of Fedora Legacy.
  • Have a modern Linux distro with large community support
  • Have long term formal security support (minimum 3 years)
  • Have easy upgrades/fixes/package installs (preference for apt/deb NOT yum/rpm).
  • Learn to use a Linux GUI (as an accademic exercise in its own right, also as a test for possibly replacing MS Windows on my and my wife's desktops at some later date)
  • Avoid bloat (the machine was on reasonably old hardware, it had to perform functionally without choking on stupid 3D desktop effects. Also I did not want hundreds of megs of Office packages and whatnot. Since the system runs RAID1 - mirroring - I pay for every gigabyte twice. This will never be my primary desktop.)

    Firstly, I had to chose a distro. Pretty early I decided that I wanted a Debian-based distro, as I was well and truly fed up with yum/rpm hassles, and had heard good things from friends with apt/deb systems.

    I must admit, I was totally sold on the Ubuntu support hype. Sorry to be so vain, but the moment I saw "LTS Long Term Support" and their promise to provide server support for FIVE YEARS, that was pretty much the decision made. I couldn't even find reference to the formal life cycle on the Debian website. I don't doubt Debian has good long term support, but my point is that they don't publicise it well enough for me to be confident. I also realised that Ubuntu's five year claim applied only to the server - the desktop support was only three years. Of course, since Ubuntu is based on Debian, I guess the support will only be as good as Debian; but I got more confident reassurance from Ubuntu.

    Next, how to avoid bloat. First off, I tried a few live CDs. The default Ubuntu desktop CD looked good (Gnome desktop) but a bit sluggish and seemed to install lots of apps that I would never use. Xunbuntu was a lot faster (XFCE desktop) but still lots of apps I never intended to use.

    At the last GLUG meeting, Andy Cater suggested installing only a server distro (no desktop) and then installing only the desktop apps I required. This was the real turning point, at which I saw a way in to getting what I wanted.

    However, I did realise that I'd need more than 128MB of RAM to be happy, no matter what, so I added further 256MB and 128MB sticks, bringing me up to 512MB. I also stuck in a spare Athlon 1500+ (1100MHz) instead of the old Duron 900MHz.

    So, I backed everything (important!) up, disconnected the two RAID1 pairs, put in a spare hard drive, and installed Ubuntu 6.06 LTS Server.

    Straight away I had a real problem. The packages wouldn't verify. After re-burning the ISOs and verifying them, it soon became apparent that something was seriously wrong. I tried the install disc option to verify the CD, it failed every time. Then I noticed a little extra option on the install CD - "Memory Check". Guess what? The top 128MB of memory was corrupt. I removed that, bringing me down to 384MB, and everything installed like a dream.

    In the end I actually used the Mini ISO, as this was quicker to verify (in case my CD burner was also dodgy!) and installed the Server over the internet from the UK mirror. Nice to see the UK mirror already listed, selectable from the install menu - unlike the last Fedora network install I'd done, where I'd had to type the mirror URL in by hand.

    The Ubuntu 6.06 LTS Mini ISO is here.

    With the Server distro installed, the next question was how to install a minimal desktop. So, what did I consider to be a "minimal desktop"? Well, I certainly wanted something more than a grey screen with an X pointer. I wanted something that another regular Linux user would recognise as a "normal Linux desktop". If possible, I also wanted to keep the Ubuntu look and feel, so that I could follow Ubuntu how-to documents without having to think too hard.

    Digging around Ubuntu forums, mailing list archives and Usenet groups, the basic Ubuntu desktop appeared to need the following packages:

    gnome-panel gnome-applets gnome-control-center gnome-session gnome-utils metacity nautilus
    ...these give what most people would consider a Gnome desktop, with file browser, file search, menu/tool bars, clock, switcher, preferences etc. If I had wanted a 3D desktop, I gathered I could replace metacity with Beryl or Compiz.

    ubuntu-artwork
    ...this gives the Ubuntu theme to the desktop. Without it, I just got the default Gnome theme. For instance, this gives the Ubuntu "Circle of Friends" logo on the main desktop menu, rather than the Gnome "Footprint" logo. It also provides some basic Ubuntu themed backgrounds.

    gdm
    ...this gives a graphical login. Without this, I got just the text Login prompt (after logging in, I had to type startx to get the desktop going).

    synaptic
    ...this is Ubuntu's GUI front-end to apt-get, preconfigured for Ubuntu repositories. It provides a package browser together with an installer. You can search package titles or descriptions for keywords, for example.

    gnome-screensaver
    ...I don't care about screensavers, but I do want to be able to blank the screen and lock the desktop after N minutes of inactivity.

    This gave me the desktop I wanted. My Voodoo Banshee graphics card and Dell monitor were detected and correctly configured automatically. Additionally, I also installed:

    firefox
    ...I also installed Adobe Flash from within Firefox itself; trying to install it from Synaptic/apt didn't look like it would work without a lot of hassle.

    gedit
    ...WIMP text editor

    gnome-system-tools
    ...configure date/time, network, users and groups

    gpdf
    ...lightweight PDF viewer

    alacarte
    ...menu editor. Disappointingly, editing the Gnome menus isn't supported by default (you can add or remove stuff, but you can't move things between different sub-menus). This package provides a simple way to do it.

    x11vnc
    ...a VNC (remote desktop) server which uses the current X11 session. Whereas with Windows you only ever have one desktop, on Linux you can have multiple desktops - when you log in remotely, you get a new seperate desktop (a bit like MS Terminal Server- although I'm sure *nix came first). I wanted to be able to log in to the same desktop wherever I was, regardless of whether I was at home on the console or visiting the grandparents; the x11vnc package provides this "current desktop anywhere" ability.

    With these, I considered I had got the basic Linux desktop functionality that I required. It looked like the Ubuntu desktop, it worked like the Ubuntu desktop, yet I had no bloat; no Office applications, no stupid games. Finally, I downloaded a blue Ubuntu desktop background, as being red-green colour blind, I found the default brown backgrounds rather lifeless.

    Next step was to migrate my two RAID1 pairs over. This was done with relative ease (once I'd worked out that one of the drives was actually faulty anyway!) but this post is already long enough; I'll leave that story for another day, together with the (totally painless and amazingly quick) story of installing and configuring Samba, CUPS, SMTP, named, iptables etc.

    So, first impressions:

    Good:

  • All objectives achieved!
  • Ubuntu 6.06 LTS Server distro provides amazingly long 5 year support plus minimal lightweight commandline-only installation base.
  • Easily added Linux desktop without distro bloat. No fat OpenOffice nor AbiWord packages taking up space.
  • Apt and Synaptic provides very easy way to install packages. No rpm dependency hell, no yum breakdowns.
  • X and Gnome installation packages JUST WORKED. No scary hand-editing of the xorg.conf files like I feared from FC2. Auto-detected everything.
  • Gnome desktop works fine on my old hardware (well, not the 1MB SVGA card, but no problems on the 16MB Voodoo Banshee). Not sluggish at all. Didn't need to resort to XFCE.
  • Gloucestershire LUG provided good advice. Although I wanted to do all the "hard work" myself (as a learning exercise), they provided some very useful tips - notably about starting from the server and adding the desktop from that.

    Bad:

  • Had to hunt around a fair bit to discover what the "minimal" desktop packages were. Disapointed that there was no easy distro variant that didn't already do this. Would like to see "Minimal Desktop" option from the Ubuntu boot/install CD.
  • A lot of the individual packages are themselves bloated. For instance, I wanted the default Gnome solitaire game "Aisleriot", but as a package it only came as a bloated collection of other games I didn't want. Okay, so I could install it from source, but I wanted to stick with the package manager.
  • Firefox plugins under Linux aren't as easy to install as MSIE ones under MS Windows. In particular, the Ubuntu depository lists a Flash player that I couldn't get to install at all; would be better to just encourage people to rely on internal Firefox plugin install.

    Public Domain - Andrew Oakley - 2007-03-01

    Top - More Computing Articles - More Reviews Articles - Article Index - aoakley.com