08 June 2005

Tips for updating very, very old Mandrake distributions to Mandriva LE2005

  • Do an RPM listing before you start, and filter it through egrep -v '(^lib|^kernel|pubkey)';
  • The older RPMs don’t try to update themselves first, so after establishing your package sources, start with urpmi urpmi libkrb53 iptables libstdc++6;
  • The libstdc++6 part might be optional if the machine will never run a GUI, but I still recommend it;
  • The iptables part might be optional if the machine does not run a firewall, masquerade or anything, but I still recommend it;
  • The libkrb53 is not optional, without it you will break rpm – oops – and will have to hand-install it by rpm2cpio-ing the rpm (on another machine), tarring it up and unpacking it by hand;
  • Do not attempt this over a mere 256kb ADSL uplink unless you have a day or so to spare;
  • Do have plenty of space free on /var, since the older urpmi will download everything (typically ~300 packages) it thinks it needs before trying to install anything;
  • If you cannot easily get to the machine (in case it breaks during this step), add the --test option, come back to it after it’s finished downloading, and re-run urpmi without --test;
  • You will probably have to make the new initrd by hand, and tell the boot-loader about it;
  • (update) AMaViS-NG will clobber its configuration and the die horribly (ie silently on each connection even with full logging) when you restore the configuration; replace it with amavisd-new instead;
  • You will probably have to uninstall devfs by hand, and use chkconfig to tee up udev to start automatically;
  • An older urpmi will probably not work correctly with rsync, so be prepared with correct HTTP or FTP URLs;
  • When the first bout of installing has finished, reboot into the newer kernel. At this stage, you will also have a newer installer;
  • Re-run urpmi like this urpmi $(cat list.of.rpms); when it breaks, either uninstall the offending (obsolete) packages from the system or delete them from the list, and try again; be prepared to iterate three or four times until urpmi is willing to fly solo;
  • Watch the first twenty or so packages install; they will be “unimportant” things like basesystem and glibc.
Simple, really, compared with upgrading from, say, Win95 to WinXP in one jump.

No comments: