podman: Cached boot ID error
The Linux kernel generates a random UUID at every boot in /proc/sys/kernel/random/boot_id. This ID stays the same for the entire lifetime of that single boot, then becomes a new random value on the next boot.
Podman caches this boot ID in its runtime directories so it can detect an unhandled reboot. If the cached ID no longer matches the live kernel's boot ID, Podman knows the system rebooted while its transient state was left behind—meaning old mount points, network namespaces, and running-container metadata are now stale and possibly dangerous to trust. Rather than silently operate on corrupted runtime state, Podman aborts and tells you to wipe those transient directories and start fresh.
The error might look like this (for rootful Podman):
Error: current system boot ID differs from cached boot ID; an unhandled reboot has occurred. Please delete directories "/run/containers/storage" and "/run/libpod" and re-run Podman
# Sad podman
rm -rf /run/containers/storage /run/libpod/
# Happy podman
The instructions wipe Podman's runtime state (like lock files, transient state) but leave the persistent state (like images, layers, volumes, containers, networks, etc.):
| Type | State | Rootful path | Rootless path |
|---|---|---|---|
| Runtime | Mount points, temporary overlay mounts, lock files | /run/containers/storage | /tmp/storage-run-*/ |
| Runtime | Boot ID cache, transient runtime state | /run/libpod | /tmp/storage-run-*/libpod/ |
| Persistent | Images, layers, containers, volumes | /var/lib/containers/storage | ~/.local/share/containers/storage |