Monday, July 26, 2004

Moving on.

I tried logging into my workstation today and GNOME refused to start up properly. It said the program in charge of storing (and restoring) my settings was not starting up properly. It also complained it couldn't find out my workstation FQDN (fully qualified domain name (e.g. www.google.com)) and warned me that certain things were going to go wrong.

I think I have an idea of what was caused it. I tried changing the hostname of the PC recently. I do most of my administration using Webmin. I changed it in past on RedHat machines and they turned out OK. But this was Mandrake. In their efforts to make it easy on the user, they took away some liberties, or so I thought. Things had to be done using their tools or in a certain way for the workstatin to remain consistent. So when I changed the name of workstation via Webmin, it changed it most places. But not all. One of those places was now telling Gnome my old hostname which of course, did not match the current hostname. My guess these were client/server things, that the hostname was being used by the client to find the server.

Or maybe not. There is a big sin when using a distribution, it' called Distribution Mixing or Repository Mixing. A distribution is such because the people behind them made some decisions that affected a lot of Linux components, most of them core components. These were basically options that could be set when the components were compiled. Since these affected a whole lot of files, each addtional component or program were compiled against these core Linux components. And it builds and builds and builds that way until you have a distribution.

The way a distribution can add and remove pre-compiled programs to a PC is by using a package method. For example RPM is a pacakge method. And so it deb for the Debian distribution. A collection of these pre-compiled programs is stored and shared and called a respository.

Often, the way a program is pacakged is shared between distributions. For example, both RedHat and Mandrake use RPM. Mixing repositories is essentially using a program from another repository together with another distribution. An example of this would be using a RedHat RPM pacakge file to install a program on a Mandrake distribution.

Most of the time the differences are minimal but some are really critical. I have RedCarpet on my PC and I have it to download automatically the latest update. RedCarpet, being part of Ximian, maintains a repository for GNOME and it's components and programs. I was foolish enough to use that. My guess is that RedCarpet updated my GNOME with files from the Ximian repository. Those files worked all this while but maybe some recent changes caused my system to break. Even when I switched to KDE, Evolution still won't run.

The point it, I was not in the mood to hunt this down. I had faced it once in the past and I think I am going to take the MSWindow's All-fit-fix-it solution - reinstall. The workstation was running Mandrake 9.1 and I was running version 10 on the laptop without a major hitch. What a better reason to upgrade.

Which made me think about issues around workstation migration. How would this be done on a larger scale? What tool would I use? How much planning would it require?

My strategy was to simply dump everything in /home on another hard disk, reformat the disk, install Mandrake 10 and copy everything back. Of course there were several missing pieces. I'd have to take stock of what services running on the machine that affected others and plan for those services to be running on the new machine. This involves having a copy of /etc too. If I installed the services without using a package manager, I'd have to ensure I have a copy of the source or whatever was used to install these services. Installing Mandrake 10 also means a big fat update just after installation.

Well, reinstalling once every two years isn't so bad. Upgrade don't get me started on that.

No comments:

Post a Comment

Recently Popular