Linux

Where Does rpm-ostree Store Deployments?

rpm-ostree keeps system deployments in /ostree with per boot roots under /ostree/deploy, plus layered refs.

Last updated

rpm-ostree versions the whole system as deployments under /ostree. Each bootable root lives in /ostree/deploy with its own etc, while /usr stays shared and read only. The bootloader picks among the last few entries.

Layered packages and overrides record in the repo beside the deployments. Rollback means rebooting into the previous entry, which never deletes until pinned count runs out. Inspect the tree with ostree admin status before pruning anything by hand.

Where rpm-ostree stores this, by platform

Linux
/ostree/deploy

One directory per deployment with its etc overlay. Never edit these roots directly. Roll back with rpm-ostree rollback instead of file surgery.

Frequently asked questions

How do I free disk space on an ostree system?

Unpin old deployments and run rpm-ostree cleanup to prune them. The repo keeps what boots plus pinned entries. Manual deletes under /ostree corrupt the transaction log.

Where do layered packages live?

Recorded in the ostree repo with each deployment referencing its own layer set. The same package can exist across deployments through hardlinks. Status output shows layers per boot entry.

Notice an outdated path? Let us know.