System lifecycle
System lifecycle commands manage the host: rebuilds, rollbacks, garbage collection, health checks, and the marker-aware repair flow.
Surface
fur system rebuild [switch|boot|test]
fur system rollback
fur system gc
fur system doctor
fur system repair
fur system statusrebuild
Applies the current managed module. Three modes:
- switch (default) — activate now and on next boot.
- boot — install for next boot only.
- test — activate now without making it the default boot.
sudo fur system rebuild switch
sudo fur system rebuild testrollback
Reverts to the previous system generation. Always safe to run.
sudo fur system rollback gc
Garbage-collects the system store; obeys generation retention policies.
sudo fur system gcdoctor
Read-only health check — backends, sudo policy, manifest health, marker layout, and disk pressure. Exits non-zero on failure so it composes in CI gates.
fur system doctor | jq '.checks | all(.ok == true)'repair
Detects an unhealthy managed-marker layout and rewrites the canonical structure. See break/fix runbook for the recovery flow.
sudo fur system repair status
Summarises generation, last rebuild, pending changes, and current managed-package count.
fur system statusSystem ops are transactional
Mutating operations write the managed module under markers, run the rebuild, and restore the previous module on failure. There is an explicit error path if restore itself fails — see runbooks.