Table of Contents

Ubuntu 10.04 (LTS) Lucid Lynx

The last long-term support version of Ubuntu to ship with GNOME 2, no Unity, and support the old brown and orange official Ubuntu GTK theme. It's the one I'm most nostalgic for.

Setting up the system

It's important to keep a couple of things in mind when setting up an older Linux system in order to make it a little bit more useful, these are some of my initial setup indications.

APT repository for older releases

After a while old and unmaintained versions of Ubuntu have their APT repository moved to a different server. In order to grab some era appropriate software, or at least the minimum in order to get a usable system for bootstrapping more modern software we need to change the repositories defined in /etc/apt/sources.list. All that's needed is to change everything that references archive.ubuntu.com and security.ubuntu.com to old-releases.ubuntu.com. A user on Ask Ubuntu did supply a nice one-liner to make the change:

sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
sudo apt-get update
sudo apt-get dist-upgrade

You should now have a system that has the latest versions ever released of every package for your system.

VMWare Guest Tools

If you're running this version of Ubuntu under a virtual machine it's important in order to get compositing and other features working to get the guest VM tools installed. For VMWare you can simply install the open-vm-tools package that's available in the official repository.

Getting the old look back

One of the most important things about this release of Ubuntu is that it supports installing all of the old GTK themes and wallpapers, making it capable of looking exactly like Ubuntu of this era should look like.

Wallpapers

Ubuntu makes their wallpapers for older releases available through APT. They are in packages with the ubuntu-wallpapers-<release> naming scheme, although older ones follow a <release>-wallpapers scheme. You can install all of them with the following command:

sudo apt-get install ubuntu-wallpapers-* edgy-wallpapers feisty-wallpapers gutsy-wallpapers

GTK Theme and Icons

Ubuntu's iconic brown and orange theme was named Human. The packages responsible for everything related to them are:

human-cursors-theme  human-icon-theme     human-netbook-theme
human-gtk-theme      human-theme

Upgrading software

In order to make the system usable in the modern era it's important to have access to more modern version of the software that's available through the official repositories. One of the most effective way of doing this is to install pkgsrc. There's an amazing talk by Carsten Strotmann about using pkgsrc on older systems.

Due to incompatibilities (described in the bootstrap/README.Linux file) releases newer than 2021Q4 will fail to build on systems that ship with gcc 4.8 as is the case of Ubuntu 10.04. Due to this issue we'll first have to bootstrap an older version of the pkgsrc tree and upgrade to newer ones if needed after bootstrapping and installing the necessary compilation requirements. This can be done with the following commands:

On a modern machine download the 2021Q4 release of pkgsrc from the CVS repository, since they don't make older releases available via tarballs. The reason for this is due to the fact that you won't be able to fetch the CVS repository from the older version of Ubuntu with its ancient SSH client.

cvs -q -z2 -d anoncvs@anoncvs.NetBSD.org:/cvsroot checkout -r pkgsrc-2021Q4 -P pkgsrc-2021Q4
# On old Ubuntu system:
nc -l -q 1 12345 | sudo tar xz -C /usr/pkgsrc
# On the modern system:
tar czf - ./pkgsrc-2021Q4 | netcat old-ubuntu.lan 12345

Because of the ancient version of Ubuntu we are using you'll also need to upgrade your GCC to a newer version, in order to do this you'll have to add the following lines to your /etc/apt/sources.list:

deb http://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu lucid main
#deb-src http://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu lucid main

After adding those make sure to install the gcc-5 package with the following commands:

sudo apt-get --allow-unauthenticated update
sudo apt-get --allow-unauthenticated install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 20
sudo update-alternatives --config gcc
sudo update-alternatives --config g++

With the pkgsrc ports tree in your older Ubuntu system and a “newer” version of GCC, we are now ready to start bootstrapping:

sudo apt-get install cvs libncurses5 libncurses5-dev gcc g++ zlib1g-dev \
    zlib1g libssl-dev libudev-dev build-essential
sudo mv /usr/pkgsrc-2021Q4 /usr/pkgsrc
cd /usr/pkgsrc/bootstrap
sudo ./bootstrap --cwrappers=no --varbase=/usr/pkg/var