What exactly is Fedora Silverblue (or other Atomic desktops)?
I’m coming from Fedora Workstation with GNOME. The information I could find is a bit shallow, I’d like some deeper knowledge
As far as I understand, it is:
Regular Fedora (in case of Fedora Silverblue, it is a Fedora Workstation with GNOME)
atomic, i.e.:
the root file system is mounted as read-only
updates to RPM packages can only be installed via rpm-ostree on a read/write mounted BTRFS overlay of the root filesystem, and will only be in effect after next reboot
I can roll back to the previous state (BTRFS snapshot) easily
updates to flatpak work just as on regular Fedora Workstation, i.e., are available immediately after installation
More GUI applications are installed as Flatpak compared to Fedora Workstation
almost everything else works as on Fedora Workstation
What I don’t understand/know:
Are the atomic desktops using the exact same RPM repos or are there differences?
Can I still use any RPM installed desktop applications? (I understand that I need to reboot the machine after installing applications to make them available)
Graphical applications are installed via Flatpak, and keep themselves separate from the base system. They also allow for fine-grained control over their permissions.
Does this refer to any other permission control than what you can get with flatpak already (e.g. as can be edited with Flatseal)?
Assuming I don’t (un-)install any applications or otherwise modify the root filesystem (/ itself or any content below /usr or /etc), will I see any different behavior than with Fedora Workstation?
You can still install RPM packages on your host using rpm-ostree (in the future it’s planned to let dnf install stuff on your host system). But the intended way of installing stuff is flatpak first (either Fedora Flatpaks or Flathub) or toolbox.
It is referring to Flatseal / the flatpak overrides command. It also refers to portals, but those aren’t limited to just flatpak.
There’s some differences. It’s been a while since I used Workstation, but here’s what I remember. (1) There’s no “don’t turn off your ccomputer, updates are installing” screen since rpm-ostree handles this in the background, (2) the error reporting app isn’t installed, (3) Fedora Flatpaks don’t have a good codec story yet since there’s no RPMFusion equivalent (it’s being worked on).
Do you refer to GNOME Abrt? Do you know why it is not installed? Wouldn’t it work?
But I could still install RPM packages from RPMFusion (and need additional reboot after installation), right?
And if I installed RPM packages, would I just use DNF as on Workstation (and rpm-ostree handles the BTRFS snapshot handling transparently)? Or is there a difference, i.e., would I call a different command?
Do you refer to GNOME Abrt? Do you know why it is not installed? Wouldn’t it work?
Yes, GNOME Abrt. I don’t know why it isn’t installed, I just noticed it wasn’t.
But I could still install RPM packages from RPMFusion (and need additional reboot after installation), right?
Yes, you can still add RPMFusion. I had to do that when I had a NVIDIA card. I believe it’s also an option in the first setup (“third party repos” or something like that).
And if I installed RPM packages, would I just use DNF as on Workstation
Currently, you have to use rpm-ostree to manage packages. But it’s planned to phase out this command and to introduce its functionality into DNF.
(and rpm-ostree handles the BTRFS snapshot handling transparently)?
Fedora Atomic doesn’t use BTRFS snapshots. It uses ostree, often described as git for binaries.
Or is there a difference, i.e., would I call a different command?
There are differences in the commands, some subtle, some big. A subtle one comes to uninstalling software. If you installed pkgA, you would uninstall it with “rpm-ostree remove pkgA”. But if that package came as part of the system, you would instead have to run “rpm-ostree override remove pkgA”. There’s also no easy way add COPR repos, though I’ve read it’s possible.
Even though this topic is marked solved, I must interject on this point … (moderators, please chill)
It is easy to add/list/edit remotes for the atomic fedora versions …
the command
ostree remote [OPTION…] COMMAND
Remote commands that may involve internet access
Builtin "remote" Commands:
add Add a remote repository
delete Delete a remote repository
show-url Show remote repository URL
list List remote repository names
gpg-import Import GPG keys
gpg-list-keys Show remote GPG keys
add-cookie Add a cookie to remote
delete-cookie Remove one cookie from remote
list-cookies Show remote repository cookies
refs List remote refs
summary Show remote summary
Help Options:
-h, --help Show help options
Application Options:
-v, --verbose Print debug information during command processing
--version Print version information and exit
Is how it is done … ie …
sudo ostree remote add [name wanted for remote] [url for remote]
As mentioned in the previous post, although this topic is marked as solved, I want to clarify a couple of points.
For the foreseeable future, we can continue to rely on rpm-ostree for local package layering for both traditional OSTree systems and unofficial Atomic Desktops bootable containers.
Going forward, the local package layering story for bootable containers is still not very clear. As far as I know, the dnf team is working in the vicinity but not yet directly on it. There is already a dnf-bootc plugin, but for now only for dnf4, if I understand correctly. They just wrapped up “transient package installs”, which is related.