Things on this page are fragmentary and immature notes/thoughts of the author. Please read with your own judgement!
Universal Blue is a manufacturing process that focuses on community-driven sharing of best practices via automation to make awesome desktop and server operating systems (based on Fedora Atomic distributions).
Good Images
Universal Blue vs Fedora Atomic
-
Universal Blue Linux distributions are recommened.
- Universal Blue Linux distributions have "batteries included".
- provide ISO images with Nvidia drivers pre-installed
- flatpak is ready to use out-of-the-box
ujust devmodto switch to development mode
- Universal Blue Linux distributions provide an exclusive tooling
ujustwhich makes it easy to managing the operating system. - Universal Blue Linux distributions manage update automatically.
- Universal Blue Linux distributions have "batteries included".
-
Generally speaking, you should NOT manually enable or use RPM Fusion on Universal Blue Linux distributions (Bluefin, Bazzite, or Aurora).
For more discussions, please refer to chat with Gemini .
Switch to the Fish Shell
Install Docker
It is suggested that you switch to the development mode using the following command.
ujust devmod
The development mode has lots of development tools (including Docker) installed.
Update the Operating System
ujust upgrade
rpm-ostree
- Homebrew, flatpaks and containers are preferred to rpm-ostree. Use rpm-ostree only when absolutely necessary.
Check System Status
See which deployment you are booted into, which one is pending, and what packages you have layered.
rpm-ostree status
Update the System
This downloads the latest base image updates and keeps your layered packages on top.
rpm-ostree upgrade # ujust upgrade is preferred for Universal Blue
Search for a Package
rpm-ostree search <query>
Install a Package (Layering)
To install a package directly into the OS (e.g., zsh or neovim):
rpm-ostree install <package_name>
Apply Changes Live (Experimental but useful)
If you don't want to reboot immediately, you can try to apply changes to the live filesystem. This works for many packages but not all (e.g., not kernels). rpm-ostree rollback
rpm-ostree install --apply-live <package_name>
Remove a Package
rpm-ostree uninstall <package_name>
Rollback to the Previous Version
rpm-ostree rollback
Pinning a Deployment
If you have a perfectly working system state and want to save it so it never gets deleted by future updates,
rpm-ostree admin pin 0
Replacing Base Packages
Sometimes you need to replace a package that comes with the base OS (e.g., swapping a driver).
rpm-ostree override replace <path_to_rpm>
Or to reset a package to the default version provided by the OS image:
rpm-ostree override reset <package_name>
Deploy a Commit
rpm-ostree deploy <digest_id>