Hello. These questions are self-hosting related, but I feel they do partially belong here as they are also about fedora linux in general. I have a server which is currently running Debian. It has an arc GPU, and no matter what I do, video encoding refuses to work. I was thinking I might move it to Fedora, but have some questions first.
- How are Fedora’s updates? I believe they are about once a year, so how is it to switch between versions? I can deal with annual maintenance, but don’t want weird issues causing downtime.
- Also about updates, how should I do auto updates on fedora?
- I am currently on apparmor. I know seLinux has more features, but I have also heard that it can be annoying to deal with.
- I mentioned the arc GPU. Has anyone managed to get video encoding working on it on fedora? If so how?
Edit: also, how is it to move a raid over. It is mdadm raid 5 with ext4. It is VERY important that nothing happens to the data, unfortunately I have not yet implemented a backup, although I do intend to soon.
I’ve personally had issues with Fedora’s version updates - once with Fedora and another with Nobara (which is Fedora based). In both cases, dependency conflicts broke the update and they were a considerable pain to fix. It was enough for me to switch to a rolling release distro and never look back.
To answer some of your questions:
- Fedora has two major releases per year. I’ve only been using it long enough to do one upgrade, but it was basically seamless and the same as any normal incremental update, except it took longer to apply.
- I can’t speak for other DEs, but the Plasma spin provides a system setting to apply updates automatically. I haven’t used it myself, but it’s literally just a radio button so I imagine it’s pretty easy to get working.
- SELinux for the most part is unobtrusive, but it can definitely be a pain when trying to do more advanced things on the system. For instance, it needs to be specially configured to allow systemd-hibernate to work, and I still haven’t gotten hibernate-after-sleep to work at all (though that might not be SELinux’s fault, I haven’t found time to follow up on it. You can also disable it, though, if it gets too much in the way.
I can’t speak to Arc support or RAID specifically, although if the data on the RAID array is vital then you NEED to have at least one backup before you even think about installing a new OS.
- Fedora has a major update every 6 months, and every version is supported for 2 releases + 1 week (= ~1 year).
Updates have always been pretty painless for me. Most of my problems during updates have come from NVidia drivers (on a laptop), but a fix has always been available from the community. - Fedora has auto-update systemd services for both DNF and RPM-OSTree (more on this later). IIRC it’s just enabling a service and maybe editing a config file, but this is easy to search for, so I won’t tell you stuff I might not remember.
- SELinux mostly just works, and if it doesn’t it’s probably a bug (if something is a package for Fedora, SELinux should work OOTB. Browse Fedora Magazine for the quirks you need to know how to handle.
- I have no experience with ARC GPUs but Fedora might have better support as it tracks the latest kernel release = latest driver (depends on what was actually the issue, of course)
Concerning you RAID, just make sure the installer doesn’t touch it and mount it afterwards. You might have to do some kind of “restore” to give the files the needed SELinux metadata. The Discourse forum would probably be a good place to ask.
Now, a bit about DNF vs RPM-OSTree. Fedora with DNF is the standard distro much like most other distros. Use this if the next part doesn’t sound useful to you.
RPM-OSTree is used in a new family of distro that work a bit like git for your OS.
Your system runs off an “atomic” image. Atomic means unsplittable in Greek. Everything you change on your system is applied to your atomic image, like a file is added or removed from a git repo.
This is nice because upgrading to the next major version becomes a simple matter of rebasing you changes on top of the new version, and likewise, rolling back (in case of issues) becomes a single command and a reboot.Fedora IoT is the “Server” edition of the Atomic desktops. Fedora CoreOS is a more “immutable” approach.
Feel free to ask more questions if something doesn’t make sense.
If you’re interested in fedora atomic desktops, I would check out one of the uBlue projects (you can even switch back to plain old fedora atomic if you want)
- Fedora has a major update every 6 months, and every version is supported for 2 releases + 1 week (= ~1 year).
If your data is very important you should definitely prioritize implementing your backup for at least the most important stuff. You could probably move it over, but in case something happens your data will most likely be gone, or best case very hard to recover.
Fedora is a great distro, but they are decidedly bleeding edge on purpose and IMO not the best choice for a server hosting critical data.
A better option would be running a hypervisor like proxmox (you can even convert your existing Debian install, but I havent tried this personally) and passing your GPU to a virtual machine that runs fedora.
This gives you both a very stable environment for your data and and a bleeding edge environment where your hardware decoding likely works great. I do this exact thing personally and it works great.
I’m also thinking about moving my server from Debian to Fedora, especially the Atomic variant (uBlue CoreOS).
I think you should consider the IOT/ CoreOS variant instead of the regular Fedora Server version.
Debian is a great server distro because of its stability (in terms of update frequency) and spread of use, but Fedora Atomic is way more robust and lower maintenance.
Regular Fedora is too unstable (too many updates) for my taste as a server, and on Atomic, I can always just roll back and wait until something is fixed (which should never happen anyway, but just in case).
If you consider Fedora as server, then use the immutable versions, they offer more benefits, one of which is the strong separation between the host OS and the user/ programs.
Regarding your questions:
- 2 major updates a year.
On desktop, you just click “Update to Fedora 41” for example, but on server, you have to do this manually, which can be very annoying. And if you missed it for a year, good luck…
One of the reasons why I recommended the image based variants is that you can upgrade more easily and revert those changes, in case it causes trouble, and freely rebase between various editions. - You can use uBlue/ set up staged updates on Atomic, which I would recommend. It then downloads and applies updates on your future image. The next time you boot up the server, it will boot into the updated image without downtime. On regular Fedora, you can maybe set up a cron job or search for a option in the DNF config.
- Never had trouble with SELinux. Fedora has it set up fine for me, and I never had to deal with it.
- I don’t have an Intel Arc, but uBlue has all the codecs already bundled into it. It should work fine ootb. But my information is more based on desktop use, maybe you also have to enable an option in Docker or so.
- Regarding RAID, first back up everything, as you said. But it should also be easily possible on Fedora Atomic too. If it works on Debian, then it will work on Fedora too. And if the tool you used isn’t available on Fedora, use Distrobox and create a Debian container.
- 2 major updates a year.
On desktop, you just click “Update to Fedora 41” for example, but on server, you have to do this manually, which can be very annoying. And if you missed it for a year, good luck…
I just moved the other day with an arc from fedora to ubuntu because i couldn’t manage to get hw encoding with jellyfin and podman. It ran without issues on ubuntu with docker. In case you manage to get it working, ping me, I’d love to move back to fedora and podman. Might have been podman problems all along.
I never had weird issues with fedora. Updating is seemless.
You just have to know what you do with selinux. With containers, you have to know that you have to append :z or :Z to the path you’re passing to it.
You can of course use both Docker and Podman on either Fedora or Ubuntu.
Yes, but never change a running system. I’ll go back to podman in a year or two but for now I’m happy that it works as is. It took me way too long and within a year, I’ll have forgotten how difficult it was.
It’s important that you only use one of both and not both on one system
It’s about once a semester (the updates) and I’ve only personally seen one, but it was fairly painless. Regarding your other questions, no idea