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.


ssorbom wrote on 2014-12-11 02:15:
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!
adamw wrote on 2014-12-11 02:24:
Haha :) Note, the network install image works mostly identically to the DVD install image - they're very similar, in fact you can boot a DVD image and change the repo from the DVD image to 'Closest mirror' and then they're pretty much identical. So as long as you don't really need it to be offline, you can have the same installer experience in F21.
Diego wrote on 2014-12-11 09:01:
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
Máirín Duffy wrote on 2014-12-11 14:37:
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."
Diego wrote on 2014-12-11 16:15:
Hi Mairin, I got that quote from the getfedora website: https://getfedora.org/en/
Máirín Duffy wrote on 2014-12-11 14:35:
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)
adamw wrote on 2014-12-11 17:35:
/etc/hosts is listed as %config(noreplace) in the spec, so it must be a script that's nerfing it, were there any clues in the contents as to what it might be? Do the extensions in question show as compatible with 3.14 on gnome.org? The others sound like fileabug :/ I just upgraded to Rawhide yesterday and openssh-askpass seems to be OK, well, the *first* time I ran a git pull I didn't get a passphrase prompt and it failed, but the *second* time I did...I don't use gnote.
Máirín Duffy wrote on 2014-12-11 17:42:
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.
adamw wrote on 2014-12-11 17:48:
ah, name resolution, beware the rabbit hole, but check /etc/nsswitch.conf and look at the 'hosts:' line. Does 'files' come first? What else is in there?
Phil wrote on 2014-12-15 03:05:
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.
adamw wrote on 2014-12-15 06:01:
You don't need to manually specify that repo. The default repo set includes that one.
Phil wrote on 2014-12-16 00:31:
For the pxe install? I just setup pxe to use the pxeboot {vmlinuz,initrd.img} from the Server branch and used the Server repo path for the command line repo= option and there was no workstation or other option at all, only Server. I wasn't aware that you could specify two repos and the UEFI pxe setup doesn't/shouldn't invoke different options. The Everything branch can't be used because it only has the rpms and not the stage 2 install files, but including it as an additional repo enables you to select all of the other products with a single click. See the three photos of: http://imgur.com/0Z88MZs,v8VlKVm,FYNtuFu#0 My EFI PXE entry for installation: menuentry 'Install Fedora 21 EFI' --class fedora --class gnu-linux --class gnu --class os { echo 'Downloading kernel' linux (tftp)/vmlinuz.f21 repo=http://repo/pub/fedora/linux/releases/21/Server/x86_64/os echo 'Downloading installation image...' initrd (tftp)/initrd.img.f21 echo 'Booting' }
adamw wrote on 2014-12-16 00:55:
"and used the Server repo path for the command line repo= option" that's where you went wrong. Don't do that. :) You can pass inst.stage2= instead of inst.repo= - it'll just use the specified location for finding the installer images, but then use the default package repository locations.
François wrote on 2014-12-29 07:18:
On my side, i've also been searching for a while for a workstation DVD install to setup PXE install to finally setup a NFS server with FC21-server DVD whom i replaced all of the packages dirs with 'closest mirror'. However, since i also have a bunch of workstation/laptop, i really wanted to have a kind of 'Workstation PXE install' and I finally discovered that you need to install the following group to change to server install to a workstation install: yum -y groupinstall "Core" yum -y groupinstall "Standard" yum -y groupinstall "Hardware Support" yum -y install vim if [ $(is_curnode_a_server; echo $?) -ne 0 -a $(is_curnode_a_VM; echo $?) -ne 0 ]; then echo -e "\n\tinstalling LAPTOP / DESKTOP rpms ..." yum -y groupinstall "Fonts" yum -y groupinstall "KDE" "KDE Applications" "KDE Multimedia support" yum -y groupinstall "Multimedia" yum -y groupinstall "Printing Support" yum -y groupinstall "base-x" especially the last one is a hidden group containing all of the xorg drivers that will enable sddm to start.
adamw wrote on 2014-12-29 17:31:

That doesn't "turn it into a workstation install", it installs KDE.

The group definitions aren't hidden, or anything - you can find them at https://git.fedorahosted.org/cgit/comps.git/tree/comps-f21.xml.in in a surprisingly readable XML format. You could simplify all of that to 'yum groupinstall kde-desktop-environment' to get a standard KDE install.

If you're fine with using remote mirrors, I repeat, you don't need to go through any of that stuff, you can pick the package set you want at install time. If you want a local mirror from which to run non-Server PXE installs, at present, you'd have to mirror both the Server tree (as a source of the 'stage2' installer image) and the Everything tree (for the rest of the packages), and pass inst.stage2=(Server tree) inst.repo=(Everything tree).

Phil wrote on 2014-12-17 12:39:
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 :)
adamw wrote on 2014-12-17 17:13:
Thank you kindly for saying "the instructions were completely wrong, you idiotic monkey" in a very diplomatic way. ;) Fixed now.
Paul M wrote on 2015-02-24 22:34:
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.
Paul M wrote on 2015-02-28 22:39:
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
Paul M wrote on 2015-03-04 18:51:
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
Paul M wrote on 2015-02-28 22:40:
p.s. of course you need to fix the hostnames and not use my private mirror ;-)
Osqui wrote on 2016-11-01 23:01:
"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.
adamw wrote on 2016-11-02 01:20:

Not really my decision, I'm just documenting it.

As of Fedora 25 there will be a Workstation Atomic installer image as well as the Workstation live image (it's not a release-blocking image yet, though).