Docs / Use
Rollback
Go back to the previous image, keep a known-good one, and know what a rollback does not undo.
On this page 6 sections
Go back to the previous image
sudo rime rollback
sudo systemctl reboot
rime rollback runs bootc rollback. It swaps the default image and the
previous one, so the previous image starts at the next boot. Nothing changes
until you restart.
You can also pick the previous image from the boot menu as the machine starts, which is the way back when the new image does not reach a desktop.
The graphics driver is part of the image, so rolling back the image also rolls back the driver.
On a machine that has not taken its first update since the rename, the command
is sudo apex rollback.
Keep a known-good image
bootc keeps two images: the one you booted and one more. Two bad updates in a row can therefore push out the last image that worked. Before anything risky, pin the one you are running:
sudo rime pin
That runs ostree admin pin 0, which keeps the booted image from being
removed. A pinned image stays until you unpin it with ostree admin pin --unpin and its index, as ostree admin status lists it.
What a rollback puts back, and what it leaves
A rollback replaces /usr: the OS, the kernel and its modules, the graphics
drivers, Rime Shell, the login screen and the boot splash.
It leaves these as the newer image left them:
| Kept as it is | What that means |
|---|---|
/etc |
System settings, accounts, network connections, /etc/rime/trust.conf. |
/var, including home directories |
Your files and every setting in your home directory. |
Packages from rime install |
They live in a system extension with its own rollback, sudo rime pkg rollback. |
| Flatpak applications | Managed by Flatpak, not by the image. |
AppImages installed with rime install |
Pinned to the file you installed. |
Settings written by a newer Rime can meet an older Rime after a rollback. To see which stores on your machine that applies to, and whether the older image can still read each one:
rime schema status
It reads files only, so it is safe to run while you decide. rime schema migrate runs machine-written stores forward to the current schema; it is a dry
run unless you add --commit, and it copies each file it changes first.
Two bad updates in a row
Rime already guards against the second one. When a machine comes back from an
update with a problem the image could have caused (the GPU driver, Rime Shell,
the filesystem or the package extension), the next sudo rime update refuses
and points you at sudo rime rollback. --force overrides it. See
Updating.
With a pinned image as well, the image that worked stays on disk whatever happens next.
No automatic rollback yet
Machines installed from the published ISO boot GRUB. The automatic rollback Rime has designed counts failed boots through systemd-boot, and on a GRUB machine it is inactive. If an update leaves you with a machine that does not boot, pick the previous image in the boot menu.
An update can move a machine to systemd-boot in place when its safety precheck passes (it refuses with Secure Boot on, among other cases). To see which boot path your machine uses and whether a boot counter is in effect:
rime boot status
Rolling back across the rename
The first boot of a Rime image moves state from the old APEX paths (for example
/etc/apex and /var/lib/apex) to the new Rime ones, and leaves a link at each
old path. An APEX image you roll back to still finds its data through those
links.