Fedora 21 greatest hits: non-Server non-live installs, fedup product behaviour

Hi, Fedora-ites!

So here’s a couple of things I’ve seen popping up multiple times with the Fedora 21 release. I thought I’d note them down here for my readers, Planet Fedora, and also as a handy link target for answering them in future.

Traditional installs – how do I install something other than Server? Where’s the network install bits? Where’s the DVD?!

So, the answer to all of these is both simple and kinda dumb: use Server.

Trying to do a network install of something other than Server? Use the Server network install image (yup, really). Trying to do a kickstart install? Use the Server network install image or tree (doesn’t matter what package set you want to install). Trying to do a direct kernel boot of the installer (e.g. for PXE)? Use the Server/ tree on the mirrors as your inst.stage2 parameter: inst.stage2=https://download.fedoraproject.org/pub/fedora/linux/releases/21/Server/x86_64/os/, for e.g. (If you use inst.repo instead of inst.stage2 it will restrict you to the Server package set.)

The Server network install image is really, practically speaking, a generic network install image. It’s not much different from the netinst ISO in previous releases. It has Server visual branding and it defaults to the Server package set, but that’s really all that’s Server-y about it. It can happily install any package set, even with its default repository configuration. You can pick any of the other package groups graphically, and your kickstarts will work as before. Basically, for anything you would previously have used Fedora-netinst for, you can use Fedora-Server-netinst for instead. It’ll be fine.

For bonus points, though it’s hidden from the user quite well, if you poke around behind the scenes, you’d find that fedup also gets its upgrade.img (which is a custom initramfs containing all the bits to make fedup’s upgrade step work) from the Server tree.

The reasons why things are this way for Fedora 21 are extremely long-winded and boring – if you really want the story, poke me or Dennis Gilmore or Matthew Miller on IRC and we can probably explain. For Fedora 22 onwards, I very much hope this will be cleaned up somehow (probably by reviving the Fedora/ tree just for building the generic installer images, or by making it possible to build images out of the Everything/ tree, which isn’t currently possible.)

The Fedora DVD, though, really is gone with Fedora 21. There’s no direct replacement. The Server DVD is the same type of image, but doesn’t contain a cross-section of package sets like the old DVD did, it really is strictly a Server product – it only contains the Server packages. You can use the Server netinst to do generic non-live deployments with a network connection (see above), and you can use the various live images to do offline live deployments with various package sets, but there is no way to do an offline non-live deployment of anything but Server. Sorry about that, but something had to give in the whole Product plan.

What does fedup --product really do?

This is one I’m not sure we’re entirely clearly communicating, so here goes:

When you run fedup --product foo, as part of the upgrade, fedup will try and install the foo-product-environment package group as well as upgrading your existing installed packages.

In practice this only affects Server and Workstation, as they’re the only products which have those package groups. If you pick nonproduct or cloud, no additional packages will be installed for Product purposes as part of the upgrade (new packages might still come in as deps or as members of installed package groups).

But I suspect people might be thinking ‘if I’m running anything that’s vaguely like a desktop I should pick workstation’ and ‘if I’m running anything that’s vaguely like a server I should pick server’, and it’s probably not quite that straightforward.

If you’re running a desktop other than GNOME and you don’t want GNOME, then don’t go for --product workstation. Go for --product nonproduct. If your existing system has GNOME, --product workstation probably makes sense, but be aware it might install a few additional packages.

If you’re running a server-ish system, you may want --product server, but then again, you may not. The Server product isn’t strictly minimal, it’s aimed at providing a sort of ‘comfortable’ default environment. Particularly, it includes the new rolekit bits, Cockpit, and various other bits. You can see what it includes right from the source – where you see the <environment> with <id>server-product-environment</id>, all the groups in the <grouplist> entry a few lines down are what get installed as part of server-product-environment. You can see what packages are in those groups in the same file – just look for their <group> entries, e.g. the <group> with <id>container-management</id> will pull in package docker-io. Note that packages listed as optional won’t be included.

So if you’ve got a fairly task-focused server install and you’re really happy with its configuration and you want to update it to Fedora 21-level packages but you don’t want the new shiny bits of the Fedora Server product added on, you will want to pass --product nonproduct to fedup, not --product server.

There’s also another rather large gotcha with upgrades to Server and Workstation: they will replace any existing firewall configuration with their default.

23 Responses

  1. ssorbom
    ssorbom December 10, 2014 at 6:15 pm | | Reply

    So, this is kind of ironic but…
    I must be living under a rock because I didn’t find out about the Fedora 21 release date until *after* I downloaded Fedora 20 (pretty much my first time too) on Dec 7.
    It was the dvd image, and I have to say, I LOVED the installer. I’m sorry to hear the DVD is going the way of the dodo. Personally I think the ability to do non-live, offline install is under-valued. But I see why you have to make cuts somewhere.
    Anyway, thank you so much for the work you guys do!
    Fedora 21 looks really cool!

  2. Diego
    Diego December 11, 2014 at 1:01 am | | Reply

    It is a bit sad that at the doors of 2015 Fedora, a distributions that self-defines as “a polished, easy to use operating system for laptop and desktop computers”, still hasn’t a graphical way to update to a following version… The sad part is that Fedora used to had one (Preupgrade), but it has been replaced by a better one (fedup), which lack UI since it introduction 3 Fedora versions ago.

    As a Fedora user and fan I’m always a bit puzzled by Fedora calling itself “easy to use” and then ignoring unexperienced users use cases.

    Sincerely,
    Diego

    1. Máirín Duffy
      Máirín Duffy December 11, 2014 at 6:37 am | | Reply

      Where did you get that quote? The website actually says:

      “Fedora Workstation is a reliable, user-friendly, and powerful operating system for your laptop or desktop computer.”

      1. Diego
        Diego December 11, 2014 at 8:15 am | | Reply

        Hi Mairin,

        I got that quote from the getfedora website:
        https://getfedora.org/en/

  3. Máirín Duffy
    Máirín Duffy December 11, 2014 at 6:35 am | | Reply

    I did fedup on two systems both from F20 to F21 Workstation, issues I ran into:

    – nautilus wouldn’t launch. had to yum reinstall tracker to fix it
    – /etc/hosts was overwritten
    – a bunch of extensions (including the show minimize button) were disabled / turned off even though they had been turned on in f20
    – openssh-askpass broke, which broke sparkleshare. haven’t figured out a fix yet
    – gnote search provider broke, no fix afaict (ughhhh)

  4. Máirín Duffy
    Máirín Duffy December 11, 2014 at 9:42 am | | Reply

    huh. so the hostname is in /etc/hosts…. i have ‘vps’ mapped to my hosted vps. but if i do ssh duffy@vps it says ‘ssh: Could not resolve hostname vps: Name or service not known’ – but it’s clearly listed there in /etc/hosts so I don’t really know what is up with that.

    minimize isn’t an extension, it’s a knob in gnome-tweak-tool, and for some reason during the upgrade it got turned off (turning back on was trivial, but annoying.) the gnote extension probably isn’t compatible with 3.14. i am still stuck on askpass tho.

  5. Phil
    Phil December 14, 2014 at 7:05 pm | | Reply

    In the Server installer if you add the Everything repository (http://dl.fedoraproject.org/pub/fedora/linux/releases/21/Everything/x86_64/os/) you can select “Workstation” with ease so pxe booting to a workstation install is possible albeit not really obvious. Once you have done your first install you can inspect and modify the anaconda-ks.cfg to your needs and use it for all future installs.

  6. Phil
    Phil December 17, 2014 at 4:39 am | | Reply

    PRIMA! That does the trick. From the instructions above that wasn’t very clear, so a bit of a rewrite to make it clearer may be a good thing. We need to ensure that instruction oh how to achieve a goal using best practice is as accessible as possible. Thanks for the tip as you have saved me from an overly complex reinstall of my home server and all supporting infra 🙂

  7. Paul M
    Paul M February 24, 2015 at 2:34 pm | | Reply

    Hi,
    thanks for the very useful blog posts. I’ve been trying to find how to have PXE server make it possible to boot a live environmentt, ideally XFCE.

    all the official docs are for going into the installer.

    any clues would be gratefully received.

  8. Paul M
    Paul M February 28, 2015 at 2:39 pm | | Reply

    solved the problem. you have to use the kernel from Fedora Server

    this works:

    LABEL FEDORA_21-5x64_LX_SRVR_KI
    MENU LABEL Fedora 21-5 x64 Live XFCE srvr krnl initrd
    KERNEL fedora/f21-server/vmlinuz
    APPEND initrd=fedora/f21-server/initrd.img repo=http://repo/F215LX/ root=live:http://repo.home.mansfield.co.uk/F215LX/LiveOS/squashfs.img

    this doesn’t work, can’t find root:

    LABEL FEDORA_21-5x64_LX
    MENU LABEL Fedora 21-5 x64 Live XFCE
    KERNEL fedora/f21-5/vmlinuz0
    APPEND initrd=fedora/f21-5/initrd0.img repo=http://repo/F215LX/ root=live:http://repo.home.mansfield.co.uk/F215LX/LiveOS/squashfs.img

    hope this saves someone some time

    1. Paul M
      Paul M March 4, 2015 at 10:51 am | | Reply

      unfortunately, whilst you get the appearance of a working instance of XFCE, you can’t log in. If you boot off the CD/DVs you in straight to a working desktop, but PXE booting like that gives you a login prompt.

      I raised it on the Fedoraforum as I think adamw is quite busy and unable to spare the time.

      http://forums.fedoraforum.org/showthread.php?t=303363

  9. Paul M
    Paul M February 28, 2015 at 2:40 pm | | Reply

    p.s. of course you need to fix the hostnames and not use my private mirror 😉

  10. Osqui
    Osqui November 1, 2016 at 4:01 pm | | Reply

    “You can use the Server netinst to do generic non-live deployments with a network connection (see above), and you can use the various live images to do offline live deployments with various package sets, but there is no way to do an offline non-live deployment of anything but Server.”

    What a real step back. Please reconsider it.

Leave a Reply

Your email address will not be published. Required fields are marked *