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 will be in the ublue-os/staging COPR, until then you can install from Containerfile:
COPY --from=ghcr.io/ublue-os/uupd:{FEDORA_MAJOR_VERSION} /rpms /tmp/rpms
# You can use dnf5 to install packages on the image instead
RUN rpm-ostree install /tmp/rpms/*.rpm
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
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