gdt: Kangaroo road sign (Default)
Glen Turner ([personal profile] gdt) wrote2013-12-23 10:49 pm
Entry tags:

fedup with Fedora :-)

Fedup is Fedora's online update tool. It downloads packages and an installation boot image, the next reboot runs the installation boot image by default. Although this is theoretically nicer than Debian's apt-get dist-upgrade in practice fedup has been a ongoing disaster where the slightest variation from stock hardware or configuration causes a failure.

Anyway, there doesn't seem to be a decent set of notes for getting from Fedora 19 to Fedora 20 on a real system. So here's mine. Enjoy.

-----

Fedup needs to be ≥0.8

sudo yum update
sudo yum --enablerepo=updates-testing update fedup

Check that kernel is passed UUID as a parameter.

sudo awk '/^[ \t]*linux[ \t]+/ {print}' /boot/grub2/grub.cfg

Check that /var is not a distinct filesystem.

mount | grep /var

Load the keys and kick on. Need to enable updates as TexLive packages have a conflict.\

sudo rpm --import https://fedoraproject.org/static/246110C1.txt
sudo fedup -v --network 20 --enablerepo updates

It will crash as the RPMfusion keys for their Fedora 20 repo aren't in RPM. That is fine, fedup will have downloaded them to the filesystem. You could have downloaded them from RPMfusion, but their Wiki doesn't make that easy.

sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-20
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-20

And try again

sudo fedup -v --network 20 --enablerepo updates

Check /boot/grub2/grub.cfg if you care to.

Your life will be easier if you find all files named *.rpmnew and *.rpmold, consider the changes within those files, then delete them. The upgrade will write new *.rpmnew or *.rpmold files when it encounters a conflict. Truncate the old fedup log to avoid confusion

sudo tee /var/log/fedup.log < /dev/null

There's a terrible bug in SystemD's journal which sends rsyslogd to 100% CPU in Fedora ≥ 19 due to corrupted binary journal files. If you have journal files written by Fedora ≤ 18 then archive the journals in /var/log/journal and delete them prior to the upgrade.

Then

shutdown -r now "System upgrade to Fedora 20"

If you can get a console fedup has about the right level of chatiness: one line per package, one line per error. It doesn't fill the screen with meaningless drivel like apt-get. It would be nice if it allowed SSH or pushed lines to a syslog server, but the console is the only way to see what is happening.

Have a look at the log, at /var/log/fedup.log. Resolve the issues raised by any new *.rpmnew and *.rpmold files.

(Anonymous) 2013-12-25 05:30 am (UTC)(link)
Might also be a good idea to run "yum distro-sync" after a successful upgrade to make sure your package set matches the f20 repo.

Cheers,
Chris

[identity profile] vk5tu.livejournal.com 2013-12-25 11:01 am (UTC)(link)
package-cleanup from yum-tools is also good value.