Or should I also combine this into 1 very long line?
Additionally, the documentation doesn’t mention this, but should it be rpm-ostree override replace firefox? It seems rpm-ostree override remove is only meant for layered packages, not meant for packages that are part of the base image (all I need is to disable firefox, so I can use a different version) ?
This is not accurate. When you perform an operation, a pending deployment is created. Subsequent operations build upon that deployment
By default, every rpm-ostree operation is “offline” - it has no effect on your running system, and will only take effect when you reboot. This “pending” state is called the “pending deployment”. Operations can be chained; for example, if you invoke rpm-ostree upgrade after installing a package, your new root will upgraded with the package also installed.
HUH, ok that is good news ofcourse but what about this:
Specifically: If you run rpm-ostree install several times consecutively without rebooting or applying changes live, only the most recent command will take effect. If you install wget and strace consecutively and reboot afterwards, only strace will be present after reboot.
which is a copy-paste from the documentation here.
additionally: there are more topics here about people asking how to run multiple rpm-ostree commands at once…
To confirm, I just tried rpm-ostree install btop followed by rpm-ostree install strace. As expected, both appeared in the ‘Added:’ section for the latter command, and both appear in the pending deployment in rpm-ostree status.
I haven’t read that whole page to see if I’m missing some context, but it seems to simply be wrong. It’s possible it was true for the ancient version of rpm-ostree in RHEL Atomic Host 7.
All rpm-ostree override subcommands apply to the base image. override remove simply removes a base package, whereas override replace lets you replace it with another.
rpm-ostree uninstall is the only way to remove a layered package.