1 of 16Image
Fedora 20 (Heisenbug)
Every Linux distribution has to have an installer program. Hmm. Well, that's not strictly true, is it?
Some of us still vaguely remember building Linux systems manually, copying the right things into the right places, saying a prayer and then trying to boot.
But it is accurate to say that every modern Linux distribution has some kind of installer. The degree of complexity, completeness, flexibility and user friendliness varies wildly between different distributions, though.
It hasn't been all that long since Debian still had only a text-based installer, and Slackware: but those days are fading fast. My personal hands-down favorite of all the installers I have tried is Fedora's 'Anaconda' installer.
I think it is an excellent example of software engineering - and I really mean that in the literal sense, it is a program that seems to have been carefully designed, specified, developed and tested for its purpose. It seems like anaconda has always got a lot of criticism, and that has been particularly intense over the past few Fedora releases, when it underwent a major overhaul. But I think that criticism is not justified, and I want to walk through a complete installation with my own comments to show why I believe this.
Please note, I am not involved in writing, maintaining or anything else to do with Anaconda. I don't know anyone who is involved, I have never met or corresponded with any of them. I know from their work that they are a very talented and hard-working team, but that is the extent of my connection to them.
Anaconda Welcome Screen and Language Selection
This is the Anaconda welcome screen, where you select the language. The language you select will be used for the installation dialog and as the default language of the installed system. If you have an active internet connection at this point, anaconda will try to determine your location from your IP address and will choose an appropriate default value based on that.