Hi!
I'm seeking some advice and sanity check on hopping from Ubuntu to Fedora on my personal PC.
I've been using Ubuntu LTS for almost two years now, switched from Windows and never looked back. But I cannot say I know Linux well. I use my PC for browsing, some gaming with Steam (I have AMD GPU), occasional video editing, tinkering with some self-hosted stuff that is on separate hardware.
I don't like the way Ubuntu is moving with snaps. And LTS version falls behind too much. So I decided to move to Fedora.
My plan is simple:
I will install Fedora on a fresh nvme drive. I want disk encryption, so I'm going to have LUKS over btrfs for /home, and the root will remain unencrypted.
I will copy all files from old /home to new /home, with the exception of dot-files.
I plan to make use of flatpaks, so I don't think configuration for my apps is easily transferable. I'll have to install and configure apps from scratch, unless I'll have to use an RPM package.
Does all of this make sense? Is there a way to simplify app re-configuration in my case?
And as I never used Fedora extensively (booting from live image doesn't count), are there any caveats I should be aware of?
Two more things that came to mind. If you want to use another desktop environment than gnome (default), you should be aware of spins: https://fedoraproject.org/spins/
Spins work against the same repositories, they just come with other sets of packages preinstalled.
Also, you said you're using amd gpu. Fedora has the drivers for that out of the box. But due to fedora's strict FOSS policy, some hardware acceleration features are stripped out of the amd driver. I mentioned you can get the unstripped drivers from rpmfusion. That is detailed here: https://rpmfusion.org/Howto/Multimedia
Those packages work together with the drivers from the official repos. They can get out of sync. That never happened to me, yet. But if an update mentions some conflict with mesa-*, just don't do that update until that conflict disappears. If you ever run into the issue you can also undo the last update with the dnf history commands.
Why not move to Debian? Ubuntu was born in a time when Debian stable had a really long release cycle and wasn't desktop ready. But times have changed. Debian is a great desktop without all of Canonical's Ubuntu "experiments" like snap.
I second this. I have been using Ubuntu for at least 10 years by I really do not like snaps or flatpaks for that matter.
So, after some disappointing attempts using Debian in the past, I had a new go at it 1-2 years ago and I was positively surprised: Ubuntu without the useless bloat - kind of normal because Ubuntu is based on Debian.
For sure the my next PC will be using Debian: efficient, highly configurable, and quite user friendly once you understand it's ways of configuring things.
I see your point... I use Debian for my self-hosted environment, so having similar system on desktop may save some cognitive load. My main arguments against Debian are (maybe misinformed though):
No btrfs support in installer OK, Debian wiki says it's there
Major annual upgrades to keep up with stable look more scary than more incremental and frequent updates of Fedora. And using Sid as someone suggested sounds too crazy for main PC
So yeah, looks like it's just upgrades... Gives me something to think about while I'm moving my apps to flatpaks
Honestly, if you like Ubuntu but dislike Snaps, Linux Mint might be a better choice than Fedora if you're not as comfortable with Linux. Mint is basically "Ubuntu without all Canonical's garbage."
I agree with this, Fedora is pretty boring. It's polished and well thought out. Just wait a few weeks before upgrading to new versions, but that goes for pretty much everyone besides Debian stable.
Do not use Mint. Ubuntu uses GNOME which is modern and secure. Mint will need a year or so to get Wayland support, and it will always be behind on security updates. Just run unsnap, install the apps and Gnome tweaks you want I would say.
Why don't you install flatpak on Ubuntu, make the packaging migration before doing the OS migration so you can evaluate your workflow with the new packaging system? Afer you're used and confident with flatpak, backup and restore the flatpak folder into fedora and you transition should be smoother (don't need to worry with 2 stuff at the same time)
Don't forget your passwords and bookmarks stored in browser when doing the copy over.
Personally, I'd use Full Disk Encryption (FDE) because it's a default option on the Fedora installer and is more secure, and well-tested, and easier to configure.
For your planned installables, I'd keep a list of apps you regularly install in a file somewhere (even better would be a script which installs them all) then when you distro-hop it's easier as you can just change your script for whatever package manager.
Some of your apps will store their configuration in your home directory in a dot file, you might be able to copy these over one-by-one for each app.
Have you decided on Fedora Workstation or Fedora Silverblue? Each have their merits and demerits, and its worth investigating.
Bookmarks and passwords are taken care of. And for the apps I'll try to get migrated to flatpaks as many as I can while still on original system.
I also see that full disk encryption is being recommended a lot, and I don't have any solid reasons to encrypt only /home.
I have not given much thought on Silverblue. Is it "flatpak-only"? If so I'll need to go through my apps to see if that could work. And my backup strategy will need to change - I use Duplicacy that is not available as a Flatpak
Flatpak apps will use the same dotfiles as apps installed via traditional methods, however the storage location will likely be different. Most dotfiles will be contained within their respective flatpak app directory under ~/.var, so you can cherry pick which settings you want to bring over.
Great tool! Funny that after removing snapd all those mounts appear. Afaik a reboot solved this for me, did it on a Ubuntu install already, and everything works fine
Are you leaving behind the dotfiles because you don't want to bring over any of your old configuration?
For whatever it's worth, you can remove Snap support from your Ubuntu system. If you want more current software, AppImage and Flatpaks are good for that.
Removing snap is somewhat unwise. Ignoring it is the safe way to go. Ubuntu might ship a system component you're not aware of via snap. If you kill snap support you may end up with a broken system. To avoid headaches, simply ignore snap.
That's what I mostly do now. But it requires some extra work, as some apps are not available in Ubuntu DEB repository. Also, I don't like the approach that Canonical takes, pushing snaps so much
Well, my original plan was to copy configuration over after I install apos that are not available as flatpaks. Looks like I can copy configuration for those too, just to another location
You don't have to use an LTS version if you don't want to stick to it... Also Fedora is on a yearly upgrade cycle too, just so you know, it's not a rolling distro. You can actually upgrade sooner on Ubuntu because it's on a 6-month upgrade cycle.
Fedora is on a six monthly cycle just like non-LTS Ubuntu; neither distro is on a yearly release cycle. The previous release is just supported for an extra six months, for one year of support per release for Fedora.
Fedora itself isn't rolling but the kernel and mesa packages do roll between releases, and it is more bleeding edge than Ubuntu generally.
Not really. Dnf is slower and Fedora prompts to reboot to install updates.
There also is a slight different system setup with a different kernel and different automatic mounts. It won't make any difference unless you are tweaking your system at a fairly low level.
I want to write a script for this app config backup stuff once. Also working on Windows, but maan I have low motivation on that one haha.
You can use your configs, relevant for me are
firefox: ~/.mozilla/firefox can stay if you keep using Fedora Firefox
thunderbird ~/.thunderbird/ copied to ~/.var/app/org.mozilla.Thunderbird/.thunderbird
libreoffice from somewhere to the flatpak directory (useful if you have a custom dictionary, autocompletions or interface)
qgis, element
Many other apps use the same structure with a profile folder so easily transferrable.
In firefox and thunderbird you either delete the whole contents and replace everything, or you only paste the contents of your *-default-release folder in the new default release folder, after deleting its contents.
Flatpak apps need to be ran once, to create the ~/.var/app/ subfolder. After that you can close them and replace everything. If you delete that folder, or move it somewhere as a backup, the settings are reset to default. Pretty cool.
If you want to try the new image-based distro model, I can highly recommend ublue and their installer. It has all the codecs out of the box and also an nvidia version which will never break basically, if it should, you can roll back to your previous system that worked.
It is a very cool distro model, and ublue has loots of customizations. If you never tried KDE I recommend their kinoite-main (do not use any -nokmods, these images are outdated as they removed kmods from -main !)