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
dnfcan be substituted forrpm-ostreeordnf5. The dnf COPR plugin must also be installed for thednf coprcommand.
$ 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 tononeif you don't want to remove the line)
To run a complete system update you can use the command line
$ sudo uupd
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 basic options, you can edit /etc/uupd/config.json
{
"checks": {
"hardware": {
"enable": true,
"bat-min-percent": 20,
"cpu-max-percent": 50,
"mem-max-percent": 90,
"net-max-bytes": 700000
}
},
"modules": {
"brew": {
"disable": false
},
"distrobox": {
"disable": false
},
"flatpak": {
"disable": false
},
"system": {
"disable": false
}
}
}brew.disable: disable brew update moduledistrobox.disable: disable distrobox update moduleflatpak.disable: disable flatpak update modulesystem.disable: disable system update (bootc/rpm-ostree) module
enable: enable hardware checks when running automatic updates (making sure wifi, etc is runnable)bat-min-percent: minimum battery percentage for checks to passcpu-min-percent: maxmium cpu load percentage before checks failmem-max-percent: maximum memory usage percentage before checks failnet-max-bytes: maximum amount of bytes transferred over the network before checks fail
You can check the uupd logs by running this command:
$ journalctl -exu 'uupd.service'
just buildwill build this project and place the binary inoutput/uupdsudo ./output/uupdwill run an update
just build-packagewill builduupdas a package and place it intooutput/rpms/uupd.rpm- Install the rpm with a package manager of your choice or into a VM for testing
- When prompted, reopen the repository in Container
- Follow above building instructions
- Download
uupdfrom 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