I am dealing with this situation too. For me, I would never deploy Fedora on many semi-managed PCs, without major tweaks.
This is a pretty big text, here you can expand it
Ubuntu LTS issues
These in part also apply to Fedora with dnf
I manage a fleet of 12 Thinkpads with Ubuntu LTS on them, and without automation that OS is horrible to manage.
- updates require the active user to click multiple buttons
- updates require the active user to be in the
sudo
(or on other distros like Fedora the wheel
) group
- version upgrades take forever too
- snaps may auto-update, may not
- the OS has way too many packages preinstalled
Fedora Atomic Desktops
I am a user of Fedora Kinoite since a long time. This combines a lot of cool things:
- KDE Desktop, being easy and understandable for users coming from Windows, but very powerful
- atomic/“immutable”/image-based OS, managed like a git repo with
ostree
. At least for the managed areas, where all the default configs and packages are, you guarantee 1:1 copies of the upstream system on all machines
Apps are installed either by layering or with Flatpaks. Some may be installed in a distrobox, but this may not be great for schools.
A more stable alternative
I came across heliumos which uses the same concept, but based on AlmaLinux.
I think this would be way better for a school laptop, as it doesnt change at all, is very stable and reliable in that way.
As my personal system, it is not perfect. But tbh, with CentOS Stream 10, EPEL 10 and KDE Plasma 6, I can imagine switching to it.
On a personal system, testing stuff is nice, but not if you only have a couple of minutes per device like every week.
HeliumOS is still in kinda early stages. You can read the bug reports here.
I already use it and it works. There are issues, but those can be fixed by rebasing/ bootc-switching to a different image, or just waiting a bit.
Building a custom image is also not needed that much, as the updates are so slow, layering packages locally is not that big of a deal.
It runs like a charm on my Chromebook, simply using GNOME 40 is a pain. This will change with CentOS Stream 10, and the maintainer also plans on switching to KDE Plasma.
Mutable things
On a school laptop you dont want kids to…
- mess up the desktop
- store random files everywhere
- install apps
- run apps
On my school Windows PCs, we had “Dr Kaiser”, a separate SOC or something that flashed the OS regions with an image.
Afaik on Linux you can just delete the homedir on shutdown, on first startup it should be filled with default things. But I need to try that first, don’t do this right now!
Especially Desktops are not protected against users doing whatever they want to do with it.
Linux systems have a pretty old hierarchy. Users do user stuff, admins install programs. Users can do whatever they want, user programs can read/write all user files, the only protection (with how SElinux and unix permissions are currently implemented) is outside of /home, for webservers and system files.
This is a big issue, if you want to guarantee a working desktop.
Mutable Flatpaks
By default, the flatpak repo “flathub” are added systemwide, allowing systemwide installation of apps.
This is good because you need elevated privileges to install or remove flatpaks. So if users are not in the wheel group, they cannot remove or install apps.
It currently also prevents updating, which I want to change soon, need to do a change proposal.
user
flatpaks can always be installed. Adding the user flatpak remote requires no privileges. This is an issue, which could be prevented by chown
-ing the needed directories in /home to root.
This could be automated too, if you delete everything on shutdown and add it back when booting.
distrobox or toolbox
These can also be added without privileges, so the tools should be removed from the image
rpm-ostree override remove packagename
Otherwise the kids can run whatever they want.
Any code running from the user
On desktop Linux ou can run code from anywhere.
This is a huge problem it you want to prevent kids from running what they want.
You could remove the exec
capability of the entire homedir recursively, which may solve this. Afaik this would prevent installation of distroboxes/toolboxes and user flatpaks too.
I am excited what you find! I dont think Fedora is perfect for this job, and especially not traditional dnf Fedora.
Using Fedora Silverblue or Kinoite sounds fine, you might want the extra stability and build an image off of CentOS Stream bootc, or AlmaLinux bootc, or use HeliumOS.
I was surprised how well HeliumOS already works.
Firefox & Chromium policies
You can add a policy that preinstalls extensions or blocks the installationof extensions.
This can be especially important if you always delete the user homedir.
This is standard on enterprise systems.
Summary
Managed machines are very different than a semi-tinkerers Workstation.
I dont say “Fedora is free beta testing for RHEL”, but it doesnt fullfill these main points that I think make live way easier:
- as little changes by the user as possible
- as little changes through OS updates as possible
- always a complete backup system to roll back to
- managed, allowing exact clones of one another
Fedora Atomic Desktops tick a lot of these boxes, but not all.
This also applies for restricted company PCs etc.