The first article I wrote for LFY in Jan 2005 was on the need for creating a custom distribution. I would have liked to send my parents an installation CD with just what they needed without asking any questions during installation. Obviously, the need was not uncommon. Fedora 7 introduced spins which makes that possible. I did not use it as I have moved in with my parents, but I now believe the time has come to stop introducing new versions of distributions.
Fedora 9 is on its way but I hope that there will not be a Fedora 10 for many years to come. It is not to say that new developments are not needed. Rather the manner in which they are introduced needs to change.
The first and foremost is that there need not be any pre-built ISO's. Downloading a distribution should be like creating a spin on the fly. Standard spins can be predefined, not unlike Ubuntu, Kubuntu, Xubuntu, etc. The spin created will have all the updates up to the download date.
Let's see how we can create a custom spin. Unfortunately, there is not much to tell thanks to the revisor package. It has made the creation of a custom distro trivial. However, since I did not wish to download the packages again, I created a little more excitement for myself.
I created a custom repository of all the packages from a dvd and the additional packages I had downloaded. I added that repository to f8-x86_64 configuration section. I enabled only my custom repository and selected the packages I wanted.
The repository needed to have a group file and I used the group file which came on the installation DVD for my custom repository.
The one difficulty I had was that revisor added a line
in the /etc/revisor/conf.d/revisor-f8-x86_64.conf. Although revisor gave an error in yum, it took a while to figure that the repository was not being used. I needed to remove the offending line.
There was still another small hiccup. Revisor required the 'joe' package, which is no longer included in Fedora 8. After a bit of a struggle, it was easy to fix it by removing the entry from the cfg.py in the site-packages/revisor directory.
If one has a working kickstart file, pungi is an excellent solution for creating the spin.
However, a custom spin is more likely to be created by the hardware supplier and installed on the systems supplied by him. We can now take it for granted that a large number of hardware integrators will provide pre-installed Linux options. They cannot leave the field to major suppliers like Dell, HP and Lenovo or a maverick like the ASUS eeePC.
We already have the example of the Linux kernel. It is “stuck” on version 2.6 with no signs of version 2.7 on the way. That has not stopped it from being enhanced substantially. The significant advantage has been that the enhancements have been available much faster. That does not mean that the changes have been minor.
Memory management algorithm changes were hardly minor. They are an example of major changes though, largely, invisible to the users. Changing the partition names from /dev/hdaN to /dev/sdaN was a change visible to the users as well. This change required significant changes in the configuration files of the distributions.
So, the challenge before the distributions is how to manage upgrades so that deployments can make use of the enhancements as they become available. This is not easy because the maintainers have to ensure that the dependencies do not cascade and affect numerous packages.
A major tool in the management of updates for Fedora is the Presto plugin for yum based on DeltaRPM's (introduced by Suse a couple of years ago). This yum plugin ensures that the full rpm does not have to be downloaded if only a part has changed. However, a more intelligent update manager may be needed. It should be easy for a user to know which packages have or have not been used. It should be easy to specify that not to bother to upgrade some packages or upgrade only if some conditions are satisfied.
For the last few upgrades in Fedora, the changes have been hardly noticeable. Certainly, the themes have changed. The 3D effects have come in. But operationally, switching from version 7 to 8 was hardly noticeable by my parents. Fedora 8 though includes the switch to PulseAudio, which is a major change under the covers. This is as it should be because the last thing we need is for the users to have to re-learn. So far, no one has succeeded in moving us away from the QWERTY keyboard! The nearest we have come to it is the use of thumbs on the cell phone.
The problems I faced in upgrading were related to PulseAudio and the proper display of fonts for them in Thunderbird. The distribution builders will have to ensure that even the administrative modifications are easy. It is likely that if we are dealing with incremental updates, it will be easier to visualize the potential problems and plan for them.
When a distribution decides to replace a package with an alternate, the update application should advise the user about the alternate and make it easy to switch.
My experiences in the problems with upgrades have primarily been related to the packages from third party repositories. In some cases, a number of packages had to be un-installed, and then reinstalled after the upgrade. At times, it seemed easier to just carry out a fresh install and then install the additional packages as and when I needed them. The process, in either case, is too disruptive and inappropriate for non-technical users. Further, it would also be inconvenient for the hardware integrators.
It would be desirable for Debian, Fedora, Ubuntu, Suse, Mandriva, et al to move towards creation and maintenance of repositories which contain all the supported versions. We buy machines with pre-installed spins. Smart updates ensure that we never have to upgrade or re-install a Linux distribution. Sales and marketing departments will be very unhappy; but wait, at least, Debian, Fedora and Ubuntu don't have any!
Other Articles >