How to upgrade from Fedora39 to Fedora40 with less stress.

Upgrade "By the book" instructions:

Update software and back up your system.
dnf upgrade --refresh

Install the DNF plugin.
dnf install dnf-plugin-system-upgrade

Start the update with DNF.
dnf system-upgrade download --releasever=40

Reboot and upgrade.
dnf system-upgrade reboot

Now let's fix the problems.
must resolve all .rpmnew and .rpmsave files rpmconf -a

must run hp-setup again to detect scanner
hp-setup -i 192.168.90.10

Terminal and Nautilis Menu Bar needs color
Tried this:
To file /home/.config/gtk-3.0 Add:
headerbar {
padding: 0 6px;
min-height: 46px;
border-width: 0 0 1px;
border-style: solid;
/* border-color: @border_color; */
background: @theme_bg_color linear-gradient(to bottom,
shade(@theme_bg_color,1.2),
shade(@theme_bg_color, 0.8));
box-shadow: inset 0 1px rgba(255, 255, 255, 0.8);
}

headerbar:backdrop {
background-image: linear-gradient(to bottom, shade(@theme_bg_color,1.2), shade(@theme_bg_color, 0.8));
box-shadow: inset 0 1px rgba(255, 255, 255, 0.8);
transition: 200ms ease-out;
}

Fedora install no longer asks for root password.
To change the root password type:
sudo passwd root

Tweaks no longer controls Applications and Places menus.
dnf install chrome-gnome-shell
https://extensions.gnome.org/extension/


The old extensions no longer work!
Delete them through gnome-extensions-app and be sure they are installed using dnf:
gnome-shell-extension-apps-menu
gnome-shell-extension-places-menu
gnome-shell-extension-window-list

Reinstall instead of Upgrade instructions:
If you are forced to reformat any disks:.
/boot must be on ext4 and one giga!
/boot/efi must be fat16 Efi system partition and 200 mega.
/ and swap; I used lvm 120 giga.

DANGER - iptables does not run automatically anymore. It was changed to iptables-legacy.
You need to convert to nftables and enable and start that service or you are unprotected!
They don't tell you this and you could be running your system for months before you find out!

/bin/bash /etc/rc.d/rc.firewall
iptables-save >/tmp/iptables.dump
iptables-restore-translate -f /tmp/iptables-dump >/etc/nftables/firewall.nft

test:
iptables-save
nft list ruleset

DANGER - php8.0 gets installed
Older Joomla, Craft and WordPress sites will not work - blankscreen!
You may need to install php 7.4 from the remi repo! Then:
dnf install php74-php-xml
dnf install php80-php-xml
dnf install php74-php-mysqln
dnf install php82 php82-php-cli php82-php-common php82-php-fpm php82-php-gd php82-php-mbstring php82-php-mysqlnd php82-php-pdo php82-php-xml php82-runtime systemctl restart httpd

Fedora 38 now by default ignores /etc/sysconfig/network-scripts!
Uncomment: plugins=keyfile,ifcfg-rh in file /etc/NetworkManager/NetworkManager.conf.
or
migrate to keyfiles.
check keyfiles and network-script files:
nmcli -f TYPE,FILENAME,NAME conn
nmcli conn show
nmcli conn show --active
dnf remove NetworkManager-initscripts-ifcfg-rh

biosdevname doesn't work anymore!
add net.ifnames=0 to grub command line otherwise your device names eth0 etc... get renamed to en??s??
OR
add these lines to our rc.local file:
ip link set dev enp0s31f6 down
ip link set dev enp0s31f6 name eth0
ip link set dev eth0 up

ip link set dev enp3s1 down
ip link set dev enp3s1 name eth1
ip link set dev eth1 up

sshd by default does not allow remote login by root!
block login from outside world in nftables and then add to file /etc/ssh/sshd_config:
PermitRootLogin yes
and systemctl restart sshd
using nvme drives: mvme list parted /dev/nvme0n1 p mount /dev/nvme1n1p6 /mnt/guest gnome-extensions-app

Updated 14 May 2024
by Kevin Gyllenberg.