Small update program written in golang intended for use in Universal Blue, updates flatpak apps, distrobox, brew, bootc and rpm-ostree (as a fallback)
Includes systemd timers and services for auto update
This program is now in the ublue-os/packages COPR
You can install it on Fedora by running:
Note
dnf
can be substituted forrpm-ostree
ordnf5
. The dnf COPR plugin must also be installed for thednf copr
command.
$ sudo dnf copr enable ublue-os/packages
$ sudo dnf install uupd
Note If you are on an image derived from uBlue main, you will need to remove or disable automatic updates with rpm-ostreed, to do this, you need to remove or change this line in the config file:
AutomaticUpdatePolicy=stage
(set tonone
if you don't want to remove the line)
To run a complete system update, it's recommended to use systemd:
$ systemctl start uupd.service
This allows for passwordless system updates (user must be in wheel
group)
$ sudo uupd
$ uupd --help
Automatic updates are ran from the systemd service, to edit the service file you can run sudo systemctl edit uupd.service
from the cmdline and use environment variables:
Environment="UUPD_BATTERY_MIN_PERCENT=20" # Sets the minimum battery percentage required for the update process
Environment="UUPD_NETWORK_MAX_BYTES=500000" # Configures the maximum amount of bytes received allowed before check fails
Environment="UUPD_MEMORY_MAX_PERCENT=90" # Maximum memory usage allowed before check fails
Environment="UUPD_CPU_MAX_LOAD_PERCENT=50" # Maximum cpu load allowed before check fails
You can check the uupd logs by running this command:
$ journalctl -exu 'uupd.service'
just build
will build this project and place the binary inoutput/uupd
sudo ./output/uupd
will run an update- You can install this to the system by copying the rules
- When prompted, reopen the repository in Container
- Follow above building instructions
- Download
uupd
from container to host and run on your host
Q: How do I add my own custom update script?
A: This is meant purely for updating the 'system' components of a Universal Blue image (Distrobox, Flatpak, Bootc, and Brew), anything outside of updating these core components is out of scope