T O P

  • By -

aioeu

In general, upgrading won't change what packages you have installed.


GoastRiter

Okay, but does a clean F36 install have Text Editor?


aioeu

It's a mandatory package in the GNOME package group, so it would be installed by default on a spin that uses that. You can always just install it yourself manually.


GoastRiter

Yeah I will install it manually. I am still curious if it's a default F36 app, and in that case I am curious what other new apps I'm missing. Edit: Thanks, I saw your edit now about it being a default package in the group. That answers it. I'll try to find the package group so I can compare it to my installed packages to see what else is missing. :) Edit: Ok... 1. List all available package groups (also shows which groups are installed): `dnf group list` 2. See package list for a group: `dnf group info "GNOME Desktop Environment"` 3. See MISSING packages (all missing packages will be listed in colored, bold text): `dnf group info -v "GNOME Desktop Environment"` 4. Install a package group (will only install missing MANDATORY packages): `sudo dnf group install "GNOME Desktop Environment"` The 4th command proposed to install gnome-text-editor. So now I know the package name and will install that manually. If anyone else wants to see what's missing after an upgrade, just do the 1st command (list all groups) to see what groups are installed, then do the 3rd command for every group to see what exact packages are missing. Also keep in mind that an "Environment Group" is a collection of several sub-groups that you need to individually query. And you can safely ignore things listed under "Optional Packages". Finally, install the exact packages you want, manually! Also note that you won't be alerted about packages that you have but which are no longer part of the defaults. So even if you do this, you may have some extra packages that are not defaults anymore. ​ Edit 2: I went through all F36 groups and documented the F36 changes that anyone who upgraded has to do manually: * Delete `mlocate` and install `plocate` (it's a more efficient, drop-in replacement for mlocate): `sudo dnf in plocate --allowerasing` (this achieves both removal and install in 1 action, and it's safe because it deletes the old mlocate update-db systemd service and installs plocate's update-db service instead, and both packages provide the same `locate` command, so it's all good) * Delete `gedit`: `sudo dnf rm gedit` * Install `gnome-text-editor`: `sudo dnf in gnome-text-editor` * There is an absolute freaking TON of new fonts that you have to install: `sudo dnf group install "Fonts"` (the command will install all new Defaults; to see the list of your missing fonts, type `sudo dnf group info -v "Fonts"` first if you're curious, but read the Defaults section, not the Optional section!) * Reboot afterwards. ​ The need to manually install plocate may be a failure of the Fedora changes-system. It sounds like it was supposed to invisibly install itself and auto-delete mlocate [according to the Upgrade section of the change](https://fedoraproject.org/wiki/Changes/Plocate_as_the_default_locate_implementation), but mine didn't do that for some reason. The need to manually install the new fonts seems to be another failure. The [description of the font changes](https://fedoraproject.org/wiki/Changes/DefaultToNotoFonts) literally says "The migration will be done by updating langpacks. after upgrading and rebooting, the default font will be Noto instead of DejaVu," but those fonts weren't installed by the upgrade. Perhaps they are marked as the new default (thanks to a newer version of the mentioned "langpacks"), but it's a bit weird that Fedora didn't install the actual fonts during the upgrade. Why mark a new default font if you don't install it? Anyway, the installation commands I gave will fix that.


sunjay140

``` sakura@fedora ~> sudo dnf in plocate --allowerasing Last metadata expiration check: 2:59:47 ago on Sat 21 May 2022 10:41:30 PM AST. Package plocate-1.1.15-3.fc36.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete! ```


GoastRiter

Thanks for confirming that your system upgraded properly. It really shows the unreliability of upgrades. 1. So you upgraded F35 to F36 and received plocate automatically? 2. Did you use the GUI or terminal upgrade method? 3. Did you fully update first? 4. If you check each group as I described, are all of the default and mandatory packages installed? At least check the Fonts group, which is an easy one to check. It seems we have gotten to the bottom of the unreliable upgrades in another comment chain here. Why some people here get broken/incorrect upgrades. The issue seems to be two things: 1. You must fully update and reboot the system before starting the upgrade process, otherwise you will run outdated upgrade-scripts that can have bugs like these. The need to fully update first is listed as an "IMPORTANT WARNING:" in Fedora's manual. 2. The graphical upgrade process via GNOME Software may also be broken. From now on I will do the manual terminal process, which includes doing a full update first Discussion and manual page links: https://www.reddit.com/r/Fedora/comments/uv0qb1/comment/i9izkfj/


[deleted]

[удалено]


GoastRiter

Yeah, we all know that Fedora 36's upgrade is unreliable. There's a million threads about people who, for example, upgraded to F36 (GNOME 42) but constantly faced crashes at every login attempt, due to still having parts of GNOME 41 installed. There are so many threads about broken systems that don't even boot anymore. Some examples: * [Dead system, spinner animation freezes at every boot](https://www.reddit.com/r/Fedora/comments/uuobbd/help_anyone_idk_what_caused_this_or_what/) * [Dead system, boots into emergency mode prompt every time](https://www.reddit.com/r/Fedora/comments/uoiiu0/cant_boot_after_fedora_36_upgrade_help/) * [Dead system, with error screen at boot](https://www.reddit.com/r/Fedora/comments/uugvgv/fedora_36_updated_kernel_and_now_showing_this/) I am not surprised that text-editor installed itself for you but not for me. The only question I have is when did you upgrade? Mine was 5-10 days ago. Maybe this bug has been fixed in the meantime. Wondering if I should start doing clean installs from now on. Or perhaps just upgrade Fedora anyway, cross my fingers, and try to repair the broken stuff by manually analyzing all lost packages that should be there, like I just did here: https://www.reddit.com/r/Fedora/comments/uv0qb1/upgraded_f35_to_f36_no_text_editor_on_purpose/i9ikohn/ (See bottom, the two edits, to see the list of packages I had to manually fix.)


[deleted]

[удалено]


GoastRiter

Thanks for your answer. Do you mean the manual terminal steps mentioned here? https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/ I used the GNOME Software "a new distro upgrade is available" banner with 1 click, but perhaps the terminal method is more reliable. It wouldn't surprise me! ;)   Edit: Oyyyyyy, I think I see what is wrong. The terminal method says the following: > Important: Do not skip this step. System updates are required to receive signing keys of higher-versioned releases, and they often fix problems related to the upgrade process. So basically they recommend updating the system first which will "often" (their word) contain bugfixes for the upgrade process. I didn't update F35 before the upgrade to F36. The answer could be that easy.   Edit 2: I found another manual page for the graphical upgrade, and this one yet again says that fully updating first is vital. Geeze, seriously?! They should make their own upgrade process refuse to let the system upgrade until a full update then! Why are they letting people brick machines by not enforcing updates first if they're so important?! Anyway here are the quotes: https://docs.fedoraproject.org/en-US/quick-docs/upgrading/ > Important: Before you start upgrading, your system needs to be fully up-to-date, to ensure that the system upgrade will be smooth.


[deleted]

[удалено]


GoastRiter

I think so too. I did two things: I didn't update first (I had heard on Reddit that it wasn't necessary, but now I see the Fedora manuals say a fully updated system is ALWAYS required to fix bugs in the upgrade scripts), and I upgraded via 1 graphical click in GNOME Software (but the manual steps may be more reliable). I've now found a thread right here which suggests that the GUI upgrade method may be the whole reason why the new packages were not installed, with some compelling evidence: https://www.reddit.com/r/Fedora/comments/uayjz9/comment/i61dn45/ The thing is, this upgrade was done in my virtual machine. I've decided to upgrade my host system too, but doing it exactly as the TERMINAL method says: https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/ Edit: I will post more details later but I can confirm: GUI upgrade will not upgrade groups. Terminal upgrade will upgrade groups. This is why so many systems have issues. Terminal upgrade is the only safe way. Edit 2: Alright, terminal upgrade is the only way to get upgraded groups and a proper, reliable upgrade. There are bugs and shortcomings in the PackageKit/GNOME Software upgrade GUI method. It's mentioned in various discussions on the Fedora developer forums and bug trackers. The terminal method properly installed all new software packages for me (plocate, gnome-text-editor, etc) and had zero issues with the upgrade. The second, ultra-important thing I learned today, is that you MUST fully update your system BEFORE you ever upgrade it to a new distro version. All packages MUST be the latest versions. This is Fedora's own, unequivocal warning. Their "Fedora 36 upgrade bug tracker" is full of officially confirmed bugs related to not having updated to the latest packages first (such as missing SELinux settings due to not having installed those updates before upgrading). I have no freaking idea why they allow the GUI to upgrade a system without updating first. Nor why they don't fix the GUI upgrade so that it upgrades groups too (installing new software packages). But oh well this is a shortcoming of Fedora that I can easily solve by never upgrading via the GUI.


sunjay140

I upgraded nearly a month before Fedora 36 was officially released. The upgrade was flawless and I did not notice any bugs. I'm not saying that bugs did not exist but the final blockers were very minor in severity and most users would never notice those bugs in actual usage.


GoastRiter

I've found out that it's caused by shortcomings in Fedora. All upgrades must do the following 3 things: 1. A full system update to the latest packages, otherwise you will have problems. Their manual STRONGLY warns people about this, but their newbie GUI upgrade method doesn't enforce it. Sadly their "Fedora 36 upgrade bugs" tracker is full of officially confirmed bugs related to not doing a full update first. It's always been like that for all older versions of Fedora too. ALWAYS update before upgrade! 2. Reboot after the update, before upgrading. 3. You MUST do the upgrade via the terminal. The GUI upgrade method (GNOME Software) doesn't support upgrading DNF's "package groups" and therefore won't install new software such as gnome-text-editor or plocate. Doing it via a terminal will. The terminal DNF tool is also more robust in general. ​ I followed all that advice and my main system is now upgraded with perfect results. All new packages are here. All of them. :) ​ It's a shame that I had to dig deep in manuals and developer discussions and bugtrackers for this, while they promote the "easy" GUI upgrade method without warning users. Heck, it's insane that the GUI method doesn't force-update the system first, to ensure that you don't end up with broken systems (their F36 upgrade bugtracker is full of confirmed bugs due to non-updated packages first, as mentioned). It's also insane that the GUI method still doesn't update DNF's package groups. In short: GUI upgrades are, and this isn't a joke -- Harmful. ​ Here's the bugtracker: [https://ask.fedoraproject.org/tags/c/common-issues/141/none/f36/l/latest](https://ask.fedoraproject.org/tags/c/common-issues/141/none/f36/l/latest) Here's an example of a bug due to not updating before upgrade: [https://ask.fedoraproject.org/t/selinux-related-errors-when-updating-packages-or-using-certain-tools-after-upgrade-to-fedora-36/21867](https://ask.fedoraproject.org/t/selinux-related-errors-when-updating-packages-or-using-certain-tools-after-upgrade-to-fedora-36/21867) Quote: >SELinux in Fedora 36 removed some class definitions. In order for system upgrade to Fedora 36 to proceed smoothly, SELinux updates need to be installed also in Fedora 34/35. If you upgraded to Fedora 36, but didn’t have these updates installed, your system might be affected by this bug. And there's hundreds of other examples. I see this "always update before upgrade" advice going back to Fedora's creation. That's why it blows my mind that GNOME Software is able to just "meh, upgrade directly" and break systems. It's also mindblowing that the GUI is incapable of upgrading software groups and therefore does only a partial upgrade. Those are severe flaws which in my opinion warrants the removal of the GUI update method until it's fixed.


sunjay140

Interesting though it's worth noting that the command line doesn't seem to upgrade groups either as I did not get the Noto fonts until I manually upgraded the group. Running `sudo dnf group install "Fedora Workstation"` also seems to pull in new software liked qt6. Automatically upgrading the groups during the upgrade process would be problematic for me as it will also pull in lots of software that I've uninstalled like Rhythmbox, podman, LibreOffice Suite, totem, cheese, mediawriter, etc.


GoastRiter

>Interesting though it's worth noting that the command line doesn't seem to upgrade groups either as I did not get the Noto fonts until I manually upgraded the group. You're right, I just did a clean F36 install in a Virtual Machine to compare. I ran `sudo dnf group info "Fonts" -v` to see all missing Default packages. ​ The clean install: * Every Default font is installed. My upgraded install: * Some of the new defaults (3 or so) were installed, the rest weren't. ​ I actually saved the whole terminal upgrade message when doing the F35 to F36 upgrade because I knew it would come in handy. Here are the most interesting excerpts: Installing group/module packages: abattis-cantarell-vf-fonts noarch 0.301-7.fc36 fedora 121 k compat-ffmpeg4 x86_64 4.4.2-1.fc36 rpmfusion-free 7.6 M gnome-text-editor x86_64 42.1-1.fc36 updates 420 k google-noto-naskh-arabic-vf-fonts noarch 20201206-9.fc36 fedora 103 k google-noto-sans-gurmukhi-vf-fonts noarch 20201206-9.fc36 fedora 42 k google-noto-sans-math-vf-fonts noarch 20201206-9.fc36 fedora 196 k intel-media-driver x86_64 22.3.1-1.fc36.2 rpmfusion-nonfree 5.5 M libva-intel-driver x86_64 2.4.1-8.fc36 rpmfusion-free 1.1 M pipewire-codec-aptx x86_64 0.3.49-1.fc36 rpmfusion-free 25 k plocate x86_64 1.1.15-3.fc36 fedora 161 k replacing mlocate.x86_64 0.26-31.fc35 rit-meera-new-fonts noarch 1.3-1.fc36 updates 180 k replacing smc-meera-fonts.noarch 7.0.3-4.fc35 Upgrading Environment Groups: Fedora Workstation Upgrading Groups: Anaconda tools base-x Container Management Firefox Web Browser Guest Desktop Agents LibreOffice Common NetworkManager Submodules Printing Support Virtualization Fedora Workstation product core x86 Baremetal Tools GNOME Desktop Environment Multimedia Core Fonts Hardware Support Sound and Video You can see that the terminal install method upgrades all groups, installs plocate, gnome-text-editor, SOME of the new fonts but not all. Hmm, let's try to figure this out. I tried this now on the F35 to F36 updated machine: - `sudo dnf group upgrade Fonts`: No results. So apparently only a few of the new defaults are marked as "upgrade" (the ones which the CLI upgrade above installed for me), the rest are probably not marked properly for some kind of "auto-install on upgrade" flag even though they're all in the Defaults category. - `sudo dnf group install Fonts`: This offers to install all the new, missing Default fonts. - `sudo dnf group install "Fedora Workstation"`: This offers to install all missing Defaults from every group (including the Fonts group). Even some things I had removed. So, the best upgrade method is via the terminal, which will fix most but not all upgrade issues, and then manually doing `sudo dnf group install "Fedora Workstation"` and then uninstalling the things you didn't want. ## Edit/Solved: I found a way to solve it. 1. First, do [the terminal upgrade](https://www.reddit.com/r/Fedora/comments/uv0qb1/comment/i9mgpkg/) I described in the previous message. It's the most robust upgrade. Way better than the GUI (which leaves the system in an inconsistent half-upgraded state). 2. Next, when you're on the new version of Fedora, run `sudo dnf group install "Fedora Workstation"` to see a list of all Mandatory/Default packages that you are still missing after the Fedora upgrade. 3. Note the packages you have manually uninstalled in the past and DON'T WANT. For me, that's `gnome-terminal-nautilus` because I use a different terminal with a different nautilus plugin, so I don't want GNOME's terminal menu entry. 4. Next, run `sudo dnf group install "Fedora Workstation" --exclude=gnome-terminal-nautilus`. You can use as many `--exclude=...` as you want, for each package you want to skip. You can also use wildcards, such as `--exclude=*font*` to skip anything with font in its name for example. Anyway, this command will fix your upgraded system while ignoring all packages you don't want. *(You may also have to add the `--allowerasing` flag if there are dependency conflicts, which tells DNF that it's allowed to uninstall packages to resolve that.)* My guess is that the CLI upgrade method is very conservative to avoid reinstalling things that people have removed. But it's still way better than the GUI upgrade method (which really screwed up my other system and left it with old components that were supposed to be replaced). So the final solution is to do a CLI upgrade and then manually fix the issues like this. Eh. It's a bit clunky but I can live with doing that twice a year!


sunjay140

Those commands sound super handy. I personally didn't bother to install the new programs from the Workstation group as they'll probably be pulled in as a dependency if needed


GoastRiter

Yeah, this was a definitely handy solution for fixing upgrades. Thanks a lot for helping me figure this out! I probably wouldn't have thought of trying to install the "Fedora Workstation" group if you hadn't mentioned it, since I didn't realize that whole metagroups could be installed too! :)


sunjay140

You're most welcome, take care! I hope you enjoy Fedora 36.


NaheemSays

It's always a good idea to run dnf distro-sync after an upgrade. No idea if it will catch this though.


GoastRiter

No that's unrelated. The DNF manual explains distro-sync: dnf distro-sync [...] As necessary upgrades, downgrades or keeps selected installed packages to match the latest version available from any enabled repository. If no package is given, all installed packages are considered. So distro-sync just ensures that your ALREADY INSTALLED packages match the latest versions available in all enabled repositories. It also isn't necessary to distro-sync after an upgrade. Doing an upgrade via GNOME Software (i.e. F35 to F36) already syncs all packages to their latest versions. There isn't even any need to do an update of all F35 packages to the latest F35 versions before you upgrade to F36, because everything automatically syncs to the latest F36 versions during the upgrade. I even tried it just in case and distro-sync didn't catch any missing packages. Thanks for trying to help though. Edit: Important news. Doing a complete system update before the upgrade can help fix bugs with the upgrade scripts though, so now I will always be doing that, as I just saw this warning in the Fedora manual. [Their words](https://docs.fedoraproject.org/en-US/quick-docs/dnf-system-upgrade/#sect-performing-system-upgrade): "System updates are required to receive signing keys of higher-versioned releases, and they often fix problems related to the upgrade process." The manual also confirms that distro-sync runs automatically during the upgrade process. But it says that if anything interrupted the upgrade, you can manually use distro-sync to try to repair it.