Upgrade Fedora 34 from Fedora 33 using DNF - Comment Page: 1

This is guide, howto upgrade Fedora 33 to Fedora 34 using DNF. This method works on desktop and server machines. You can also upgrade older Fedora installations (example Fedora 32/31/30) directly to Fedora 34. I have tested this method on several machines, but if you have problems, please let me know. Always remember backup, before upgrade! Check video version of guide: 1. Before Upgrade [inttf_post_ad1] 1.1 Backup Your Data Before doing anything, do full system backup or backup at least your important data: documents, pictures, videos, config files, log files, databases etc. This is very important step, because if something goes wrong and you have to do fresh install,...

27 comments on “Upgrade Fedora 34 from Fedora 33 using DNF - Comment Page: 1

    1. If you’re on a spin, do you need to do anything different to maintain your existing spin (e.g. I’m on Cinnamon)?

      Reply
      • Nope, it should be fine with this guide commands.

        Reply
    2. Your instructions were perfect! Took longer than I expected though!

      Reply
      • Hello Alan,

        Nice to hear that this worked for you! This is slow process, especially if there is a lot of packages to upgrade.

        Reply
    3. –rebuilddb is not an option for rpm in Fedora 34.

      Reply
      • Did you tried it? I just checked my Fedora 34 installation and rpm --rebuilddb is working normally:

        [[email protected] ~]# lsb_release -a
        LSB Version:	:core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
        Distributor ID:	Fedora
        Description:	Fedora release 34 (Thirty Four)
        Release:	34
        Codename:	ThirtyFour
        [[email protected] ~]# uname -a
        Linux fedora 5.11.13-300.fc34.x86_64 #1 SMP Sun Apr 11 15:07:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
        [[email protected] ~]# rpm --version
        RPM version 4.16.1.3
        [[email protected] ~]# rpm --rebuilddb -vv
        ...
        D: SAVEPOINT 'rwlock': 0
        D: SAVEPOINT 'Packages': 0
        D: RELEASE 'Packages': 0
        D: SAVEPOINT 'Name': 0
        D: adding "perl" to Name index.
        D: RELEASE 'Name': 0
        D: SAVEPOINT 'Group': 0
        D: adding "Unspecified" to Group index.
        D: RELEASE 'Group': 0
        D: SAVEPOINT 'Requirename': 0
        D: adding 190 entries to Requirename index.
        D: RELEASE 'Requirename': 0
        D: SAVEPOINT 'Providename': 0
        D: adding 4 entries to Providename index.
        D: RELEASE 'Providename': 0
        D: SAVEPOINT 'Obsoletename': 0
        D: adding 1 entries to Obsoletename index.
        D: RELEASE 'Obsoletename': 0
        D: SAVEPOINT 'Installtid': 0
        D: adding 1 entries to Installtid index.
        D: RELEASE 'Installtid': 0
        D: SAVEPOINT 'Sigmd5': 0
        D: adding 1 entries to Sigmd5 index.
        D: RELEASE 'Sigmd5': 0
        D: SAVEPOINT 'Sha1header': 0
        D: adding "a0b786f7c6fbe3b79420d5c7c294bd7643d19153" to Sha1header index.
        D: RELEASE 'Sha1header': 0
        D: RELEASE 'rwlock': 0
        D:  read h#    2228 
        Header SHA256 digest: OK
        Header SHA1 digest: OK
        D: SAVEPOINT 'rwlock': 0
        D: SAVEPOINT 'Packages': 0
        D: RELEASE 'Packages': 0
        D: SAVEPOINT 'Name': 0
        D: adding "redhat-lsb-languages" to Name index.
        D: RELEASE 'Name': 0
        D: SAVEPOINT 'Basenames': 0
        D: adding 13 entries to Basenames index.
        D: RELEASE 'Basenames': 0
        D: SAVEPOINT 'Group': 0
        D: adding "Unspecified" to Group index.
        D: RELEASE 'Group': 0
        D: SAVEPOINT 'Requirename': 0
        D: adding 31 entries to Requirename index.
        D: RELEASE 'Requirename': 0
        D: SAVEPOINT 'Providename': 0
        D: adding 5 entries to Providename index.
        D: RELEASE 'Providename': 0
        D: SAVEPOINT 'Dirnames': 0
        D: adding 5 entries to Dirnames index.
        D: RELEASE 'Dirnames': 0
        D: SAVEPOINT 'Installtid': 0
        D: adding 1 entries to Installtid index.
        D: RELEASE 'Installtid': 0
        D: SAVEPOINT 'Sigmd5': 0
        D: adding 1 entries to Sigmd5 index.
        D: RELEASE 'Sigmd5': 0
        D: SAVEPOINT 'Sha1header': 0
        D: adding "afd0f14879420bbe2b54f39b1948e6673b7d2905" to Sha1header index.
        D: RELEASE 'Sha1header': 0
        D: RELEASE 'rwlock': 0
        D:  read h#    2229 
        Header SHA256 digest: OK
        Header SHA1 digest: OK
        D: SAVEPOINT 'rwlock': 0
        D: SAVEPOINT 'Packages': 0
        D: RELEASE 'Packages': 0
        D: SAVEPOINT 'Name': 0
        D: adding "redhat-lsb" to Name index.
        D: RELEASE 'Name': 0
        D: SAVEPOINT 'Basenames': 0
        D: adding 70 entries to Basenames index.
        D: RELEASE 'Basenames': 0
        D: SAVEPOINT 'Group': 0
        D: adding "Unspecified" to Group index.
        D: RELEASE 'Group': 0
        D: SAVEPOINT 'Requirename': 0
        D: adding 11 entries to Requirename index.
        D: RELEASE 'Requirename': 0
        D: SAVEPOINT 'Providename': 0
        D: adding 5 entries to Providename index.
        D: RELEASE 'Providename': 0
        D: SAVEPOINT 'Triggername': 0
        D: adding 1 entries to Triggername index.
        D: RELEASE 'Triggername': 0
        D: SAVEPOINT 'Dirnames': 0
        D: adding 11 entries to Dirnames index.
        D: RELEASE 'Dirnames': 0
        D: SAVEPOINT 'Installtid': 0
        D: adding 1 entries to Installtid index.
        D: RELEASE 'Installtid': 0
        D: SAVEPOINT 'Sigmd5': 0
        D: adding 1 entries to Sigmd5 index.
        D: RELEASE 'Sigmd5': 0
        D: SAVEPOINT 'Sha1header': 0
        D: adding "b04ad97168a36eb67a43f2ce9fc9d894af96d8fa" to Sha1header index.
        D: RELEASE 'Sha1header': 0
        D: RELEASE 'rwlock': 0
        D:  read h#    2230 
        Header SHA256 digest: OK
        Header SHA1 digest: OK
        D: SAVEPOINT 'rwlock': 0
        D: SAVEPOINT 'Packages': 0
        D: RELEASE 'Packages': 0
        D: SAVEPOINT 'Name': 0
        D: adding "gcc-gdb-plugin" to Name index.
        D: RELEASE 'Name': 0
        D: SAVEPOINT 'Basenames': 0
        D: adding 22 entries to Basenames index.
        D: RELEASE 'Basenames': 0
        D: SAVEPOINT 'Group': 0
        D: adding "Unspecified" to Group index.
        D: RELEASE 'Group': 0
        D: SAVEPOINT 'Requirename': 0
        D: adding 24 entries to Requirename index.
        D: RELEASE 'Requirename': 0
        D: SAVEPOINT 'Providename': 0
        D: adding 5 entries to Providename index.
        D: RELEASE 'Providename': 0
        D: SAVEPOINT 'Dirnames': 0
        D: adding 12 entries to Dirnames index.
        D: RELEASE 'Dirnames': 0
        D: SAVEPOINT 'Installtid': 0
        D: adding 1 entries to Installtid index.
        D: RELEASE 'Installtid': 0
        D: SAVEPOINT 'Sigmd5': 0
        D: adding 1 entries to Sigmd5 index.
        D: RELEASE 'Sigmd5': 0
        D: SAVEPOINT 'Sha1header': 0
        D: adding "261f9a1598190ab324ce429dec605b64c050bb5b" to Sha1header index.
        D: RELEASE 'Sha1header': 0
        D: RELEASE 'rwlock': 0
        D: PRAGMA synchronous = FULL: 0
        D: CREATE INDEX IF NOT EXISTS 'Enhancename_key_idx' ON 'Enhancename'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Enhancename_hnum_idx' ON 'Enhancename'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Supplementname_key_idx' ON 'Supplementname'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Supplementname_hnum_idx' ON 'Supplementname'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Suggestname_key_idx' ON 'Suggestname'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Suggestname_hnum_idx' ON 'Suggestname'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Recommendname_key_idx' ON 'Recommendname'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Recommendname_hnum_idx' ON 'Recommendname'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Transfiletriggername_key_idx' ON 'Transfiletriggername'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Transfiletriggername_hnum_idx' ON 'Transfiletriggername'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Filetriggername_key_idx' ON 'Filetriggername'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Filetriggername_hnum_idx' ON 'Filetriggername'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Sha1header_key_idx' ON 'Sha1header'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Dirnames_key_idx' ON 'Dirnames'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Dirnames_hnum_idx' ON 'Dirnames'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Triggername_key_idx' ON 'Triggername'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Triggername_hnum_idx' ON 'Triggername'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Obsoletename_key_idx' ON 'Obsoletename'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Obsoletename_hnum_idx' ON 'Obsoletename'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Conflictname_key_idx' ON 'Conflictname'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Conflictname_hnum_idx' ON 'Conflictname'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Providename_key_idx' ON 'Providename'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Providename_hnum_idx' ON 'Providename'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Requirename_key_idx' ON 'Requirename'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Requirename_hnum_idx' ON 'Requirename'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Group_key_idx' ON 'Group'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Basenames_key_idx' ON 'Basenames'(key ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Basenames_hnum_idx' ON 'Basenames'(hnum ASC): 0
        D: CREATE INDEX IF NOT EXISTS 'Name_key_idx' ON 'Name'(key ASC): 0
        D: PRAGMA optimize: 0
        D: PRAGMA wal_checkpoint = TRUNCATE: 0
        
        Reply
    4. Nice job and thanks for sharing!

      Reply
    5. Great works out-of-box with –allowerasing

      Reply
    6. Thanks for the article JR. Worked fine with 33-to-34 GNOME.

      Reply
    7. Thank you very much :) I could update my Fedora to 34 without any issues.

      thank you!

      Reply
    8. I’ve been upgrading via dnf since fedora 29 or so; Not this time, nothing but silly error to be seen:

      No match for group package “xorg-x11-drv-armsoc”
      No match for group package “xorg-x11-drv-geode”
      No match for group package “paratype-pt-sans-fonts”
      No match for group package “lsvpd”
      No match for group package “oflb-roadstencil-fonts”
      No match for group package “google-noto-sans-balinese-fonts”
      No match for group package “bcm283x-firmware”
      No match for group package “senamirmir-washra-wookianos-fonts”
      No match for group package “pagul-fonts”
      No match for group package “senamirmir-washra-zelan-fonts”
      No match for group package “senamirmir-washra-yigezu-bisrat-goffer-fonts”
      No match for group package “impallari-lobster-fonts”
      No match for group package “oflb-brett-fonts”
      No match for group package “mph-2b-damase-fonts”
      No match for group package “google-crosextra-carlito-fonts”
      No match for group package “smc-kalyani-fonts”
      No match for group package “almas-mongolian-title-fonts”
      No match for group package “astloch-fonts”
      No match for group package “senamirmir-washra-tint-fonts”
      No match for group package “reeniebeanie-fonts”
      No match for group package “trabajo-fonts”
      No match for group package “google-croscore-symbolneu-fonts”
      No match for group package “cf-sorts-mill-goudy-fonts”
      No match for group package “senamirmir-washra-yigezu-bisrat-gothic-fonts”
      No match for group package “isight-firmware-tools”
      No match for group package “google-croscore-cousine-fonts”
      No match for group package “khmeros-metal-chrieng-fonts”
      No match for group package “google-croscore-tinos-fonts”
      No match for group package “ht-alegreya-smallcaps-fonts”
      No match for group package “monofett-fonts”
      No match for group package “oflb-sportrop-fonts”
      No match for group package “carterone-fonts”
      No match for group package “stix-math-fonts”
      No match for group package “min12xxw”
      No match for group package “cockpit-docker”
      No match for group package “powerpc-utils”
      No match for group package “apanov-edrip-fonts”
      No match for group package “cyreal-wireone-fonts”
      No match for group package “specialelite-fonts”
      No match for group package “khmeros-handwritten-fonts”
      No match for group package “tharlon-fonts”
      No match for group package “xorg-x11-drv-omap”
      No match for group package “atomic”
      No match for group package “smc-raghumalayalam-fonts”
      No match for group package “shadowsintolight-fonts”
      No match for group package “khmeros-battambang-fonts”
      No match for group package “moyogo-molengo-fonts”
      No match for group package “google-noto-sans-ui-fonts”
      No match for group package “senamirmir-washra-hiwua-fonts”
      No match for group package “ecolier-court-lignes-fonts”
      No match for group package “google-droid-kufi-fonts”
      No match for group package “khmeros-siemreap-fonts”
      No match for group package “khmeros-muol-fonts”
      No match for group package “tlomt-orbitron-fonts”
      No match for group package “tangerine-fonts”
      No match for group package “inkboy-fonts”
      No match for group package “google-crosextra-caladea-fonts”
      No match for group package “google-croscore-arimo-fonts”
      No match for group package “paratype-pt-sans-caption-fonts”
      No match for group package “tabish-eeyek-fonts”
      No match for group package “labelleaurore-fonts”
      No match for group package “docker”
      No match for group package “khmeros-bokor-fonts”
      No match for group package “senamirmir-washra-yebse-fonts”
      No match for group package “vt323-fonts”
      No match for group package “oflb-icelandic-fonts”
      No match for group package “senamirmir-washra-jiret-fonts”
      No match for group package “aldusleaf-crimson-text-fonts”
      No match for group package “wallpoet-fonts”
      No match for group package “tuladha-jejeg-fonts”
      No match for group package “senamirmir-washra-fantuwua-fonts”
      No match for group package “typemade-josefinsansstd-light-fonts”
      No match for group package “phetsarath-fonts”
      No match for group package “sarai-fonts”
      No match for group package “kranky-fonts”
      Error:
      Problem: cannot install the best update candidate for package iptables-1.8.5-6.fc33.x86_64
      – problem with installed package iptables-1.8.5-6.fc33.x86_64
      – package iptables-1.8.7-3.fc34.x86_64 requires iptables-libs(x86-64) = 1.8.7-3.fc34, but none of the providers can be installed
      – cannot install the best update candidate for package iptables-libs-1.8.5-6.fc33.x86_64
      – cannot install both iptables-libs-1.8.7-7.fc34.x86_64 and iptables-libs-1.8.7-3.fc34.x86_64
      – iptables-1.8.5-6.fc33.x86_64 does not belong to a distupgrade repository
      (try to add ‘–skip-broken’ to skip uninstallable packages)

      Reply
    9. does it need any extra steps if Nvidia drivers are installed via RPMfusion? does this guide cover such a thing? and if I’m still using fedora 32, will that make any difference while upgrading to fedora 34? thanks in advance :)

      Reply
      • Hello Aliy,

        I haven’t tested it, but there shouldn’t be any problems, because RPM Fusion have Fedora 34 repos and works normally when you update Fedora 34.

        Also this upgrade from Fedora 32 should work too.

        As always I recommend to backup your whole system or at least important files before upgrade.

        Reply
    10. if everything goes right, will it keep applications and data installed in previous version?

      Reply
      • Hello Wesin,

        Yes. All data and apps remains the same. If everything goes wrong and you can’t boot your system, still you can rescue your data using some live linux. Of course backup before upgrade is highly recommend.

        Reply
    11. In step 4.1 ran into permission problems.

      # rpm –rebuilddb
      error: can’t create transaction lock on /var/lib/rpm/.rpm.lock (Permission denied)

      The following worked for me:

      restorecon -v /var/lib/rpm/.rpm.lock

      restorecon -v /var/lib/rpm/Packages

      Reply
        • lol, ‘#’ means he is doing it as root, so “Make sure you use sudo” won’t help him

          Reply
    12. Thanks! It looks as if it all worked, although there were a couple of glitches where I had my doubts. At step 2.5 there was one package that could not be downloaded, even after adding –best and –allowerasing. There was a conflict between two versions of iptables, so I removed the earlier version and repeated 2.5 with –best and –allowerasing, which worked.

      Then at step 2.8 I had to wait for several minutes before anything showed on the progress bar. I thought everything had frozen, but it eventually showed more than 0% on the progress bar, with each percentage increase taking anywhere from 10 seconds to over 200 seconds. However, it eventually completed and rebooted.

      In step 4.3 I answered “Y” to each of the six or so items of rpmconf -a, and so far that seems to be OK.

      Many thanks.

      Reply
    13. Unable to update Fedora 34 due to following error

      Error: Transaction test error:
      file /usr/share/pixmaps/poweredby.png conflicts between attempted installs of generic-logos-httpd-18.0.0-12.fc34.noarch and fedora-logos-httpd-34.0.4-1.fc34.noarch

      Reply
      • Maybe easiest way to fix this is simply remove another one and try again.

        Reply
        • Hi JR,

          Thank you for your response. Could you please evaluate, how I can delete it as this is out of my understanding?

          Pls help

          Reply

Leave a Reply to Alan F Altmann Cancel reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close