Fedora 20's Anaconda installer, hands on

Fedora 20's Anaconda installer, hands on

Summary: A screen-shot walk-through of the excellent Fedora Linux 20 installer - and why I love it.

SHARE:

 |  Image 1 of 16

  • 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.

  • Thumbnail 1
  • Thumbnail 2
  • Thumbnail 3
  • Thumbnail 4
  • Thumbnail 5
  • Thumbnail 6
  • Thumbnail 7
  • Thumbnail 8
  • Thumbnail 9
  • Thumbnail 10
  • Thumbnail 11
  • Thumbnail 12
  • Thumbnail 13
  • Thumbnail 14
  • Thumbnail 15
  • Thumbnail 16

Topics: Linux, Open Source, Operating Systems

J.A. Watson

About J.A. Watson

I started working with what we called "analog computers" in aircraft maintenance with the United States Air Force in 1970. After finishing military service and returning to university, I was introduced to microprocessors and machine language programming on Intel 4040 processors. After that I also worked on, operated and programmed Digital Equipment Corporation PDP-8, PDP-11 (/45 and /70) and VAX minicomputers. I was involved with the first wave of Unix-based microcomputers, in the early '80s. I have been working in software development, operation, installation and support since then.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

12 comments
Log in or register to join the discussion
  • I like Anaconda better than Ubiquity.

    If there's only thing that I'd like to see is have the language/country selection in the summary/dispatcher screen. That would make things very quick since I can glance at the screen very quickly. The most I'd spend a lot of time is manual partition. I'm very good at partitioning my hard drive. / for root, swap for swap, /boot for boot partition, and /home for home partition. The installer is a bit expert-friendly, which is not a bad thing.

    I prefer to get into hard drive partitioning as my first step of installation. The last step will be to fill in my hostname, username, and password. Bam! Two steps! Less number of clicks or hitting "Enter, Enter, Enter..." :)

    The text-based Ubuntu-based installer required me to hit enter 5 times for language and keyboard selection, a couple more for time zone, etc. until I get to the disk partitioning step. Then I'll have to wait until I fill in the username/password. Installers do require me too much of hand-holding.

    My favorite partitioning editer is gparted, though even a text-based installer in Ubuntu is as good as the GUI counterpart.
    Grayson Peddie
    • Two ways to look at it

      I think there are two ways to look at this - either move everything into a single screen that you fill in before hitting "Go", then once it starts you can just ignore it while it runs, or move as much as possible into a single screen that comes up after you hit "Go", so the installation is being done while you scratch your head over the rest. Neither really works completely, so maybe anaconda has hit the right balance between them - they have actually consolidated a bit more since the earlier releases is this version of anaconda. Anyway, I agree with you about moving Language into the dispatcher, but I think there may be some reluctance to do that because of the amount of text presented on that screen, they want to figure out the language to show that in first.

      Oh, and I also agree with you whole-heartedly about gparted.

      Thanks for reading and commenting.

      jw
      j.a.watson@...
      • Yup

        On the language screen, yes, it kind of has to be pre-hub to minimize the amount of English necessary. If it's part of the hub, it's very confusing to someone who doesn't speak English, and they may not be able to figure out how to get to their native language, or just assume it's not possible and give up.
        AdamWill
        • Oh

          Oh, and there's another case - sometimes we have to show a network configuration screen before the hub screen, and so if you need to see that in a language other than English, we need to know...
          AdamWill
        • Gtk

          There is also one technical reason for the language selection being done in advance and that's the fact, that Gtk is really terrible in switching language of a loaded UI.
          vpodzime
  • May be Me

    but, I do not see anything here to get excited over. I do not do large volumes of Linux installs of different distros so, I may be missing something. Seems no different in the than the installer in OpenSUSE 12.3, the last distro I installed or several other distros with graphic installers.
    BrianLevyEsq
    • Basically Right

      You're right, for the average user a Linux installer is something you deal with somewhere between once in your life and once every six months, so in that respect it's not something to get really worked up about. But it is also something that has to get everything right, every time, because even a small mistake can have large consequences, and it has to be able to handle a lot of very different and very strange edge cases, and I think anaconda is particularly good at that. Your other example, openSuSE, is another that I think is well above average. A prime example of a less-than-stellar installer is Ubuntu's Ubiquity; it was better than average when it was first developed and released, but today it is showing the effects of age and neglect.

      Thanks for reading and commenting.

      jw
      j.a.watson@...
  • Article: "Every Linux distribution has to have an installer program"

    Not strictly true. The best, current counter-example I know of is Puppy Linux which, while it can be installed onto one's hard drive using it's own installer, is designed to run *by default* in RAM booting from a LiveCD/DVD. Optionally, one can choose to perform multisession saves when powering down or rebooting to Windows (if installed on the hard drive).

    Puppy Linux, more than any other distro, is recommended to Windows users for safe online banking. Just remember to download+burn to CD/DVD the most current ISO for the Puppy version you use AND to reboot prior to initiating online banking, trading, etc. sessions.

    Finally, note that Puppy Linux has consistently been at or very near no. 10 at distrowatch.com for the last few years.
    Rabid Howler Monkey
  • Too many screens in 2013

    Upgrading to Windows 8.1 just required I open the Store icon from Start Screen and click upgrade, done, up and running in 10 mins.
    adacosta38
    • Upgrade != installation

      Upgrading is different from installation from scratch which is the main topic. Installing Windows 8 in the same manner has "too many screens".
      finalzone
  • Timezone pre-selection

    "If I did not have an active internet connection, this would have been set to some default in the US and I would have to choose Switzerland."

    I'd just like to mention that if "German (Switzerland)" was chosen as a language, the timezone would be pre-selected to Europe/Zurich even without an Internet connection. Thanks to the great langtable [1] project!

    [1] https://github.com/mike-fabian/langtable
    vpodzime
  • Layout for the Anaconda session

    "The layout for this session in Anaconda has changed to "ch" (Swiss German)! Hooray! Whoopie! This is new, it didn't used to do this, and whoever made this change, I love you. I worship you. You are my hero/heroine. Thank you, thank you, thank you."

    You're welcome. :) But the real thanks goes to the people who suggested and discussed that change request in the bugzilla (not going to search for the particular bug # now, sorry).
    vpodzime