Description of Problem: In my recent experience of updating an older Red Hat installation in the middle of upgrading packages anaconda spat "fatal errors" with, in the given situation, obviously bogus claims that likely there is not enough of a disk space or maybe media errors. A closer examination revealed that a symbolic link was found where a new package expected a directory. This happened _twice_. The first time while installing new 'filesystem' and the second time 'kdebase'. While the first instance is somewhat comprehensible (/var/tmp from a rather small /var partition was made into a link to /usr/tmp on a sizeable /usr partition instead of vice-versa) in the second one it is _highly unlikely_ that any changes in the original 'kdebase' were ever made. An underlying "trip wire" is easily and trivially fixable "by hand" (and most likely 'anaconda' could do that "automagically" as well) but there is no way to induce, after mods, a "retry and continue". Most non-hackers almost surely will immediately hit "OK" which reboots to a system at this moment quite likely unbootable as there will be a mismatch between assorted programs and libraries. Moreover before making 'anaconda' happy another attempt to install from scratch will fail in the same manner for exactly the same reason. To add an insult to injury after switching links and restarting from scratch all packages which were already "installed" are copied from a distribution media once again eating time and making wonders to all .rpmsave files. Sigh! In the past I was scratching my head why some people claim "updating never works for me and I prefer to erase and reinstall". While I definitely do not share that opinion I think that I found one of possible reasons why. This problem is reported for 7.3 distribution as this is where it hit me but I would be somewhat surprised if this would be that version specific.
Unfortunately, rpm does not support going from directory to symlink on an upgrade (there are several bugs on the subject) so there's nothing that anaconda can really do unless we're to check every file both on your system and that's about to be upgraded which is extremely unfeasible, especially when people already complain about the time required in upgrade prep. There are some checks in place for some of the more common symlink/directory problems, though in current anaconda.