Fedora Core 4's buggy Anaconda
I am quite irritated right now, because Fedora Core 4 has the most significantly buggy Anaconda installer that it has ever been my displeasure to have to try to make work. These are bugs that are both serious and obvious, one of them even introduced because of last-minute change. (Have people learned nothing from history? Hasty last-minute changes always have bugs; that's why you don't make them.)
- You cannot repartition drives, because Ananconda holds open a reference to an old partition, the kernel refuses to accept the new partitioning while there is such a reference, and Anaconda dies. (Bugzilla #160693.)
The 'workaround' is to exit out of the error alert, reboot again and this time don't repartition (this time around the partition table is right). Of course this works oh so well for automated installs, where you don't exactly want to visit each machine to reboot it out of the error. Our ugly hack is:
%pre mf=/proc/ide/hda/media if [ -f $mf -a `cat $mf` == "disk" ]; then dd if=/dev/zero of=/dev/hda bs=512 count=1 fi
(Of course, if another error happens later we're screwed; we've blown away the MBR, so we're not rebooting this machine without an external boot media.)
- Anaconda writes totally bogus entries for swap in
LABEL=values that have random non-ASCII characters in them. This is so broken that the fstab-parsing library code throws up its hands on the spot, rendering any filesystem listed later in the file totally unmountable and invisible. (Bugzilla #159087.)
We have all our data on NFS-mounted filesystems. Enough said.
(One can at least fix this in
- One cannot just say
-<package>' in the
%packagessection (which is normally used if you want a class of packages, minus some specific packages). If you do, Anaconda dies with an internal error. (Bugzilla #160209.)
There are workaround, such as performing a rain dance to make Anaconda use a lightly patched version of one Python sourcefile.
Ironically the '
-<package>' bug was apparently introduced
by a last-minute code change with the goal of supporting
-<package>.<architecture>'. In the process they cleverly broke (and
never tested) the more common variant.
So far, Red Hat doesn't seem to be showing any real signs of issuing a formal update. I have no idea why, especially given that the first problem affects even manual, non-Kickstart installs.