v4.1.0Home

System lifecycle

System lifecycle commands manage the host: rebuilds, rollbacks, garbage collection, health checks, and the marker-aware repair flow.

Surface

bash
fur system rebuild [switch|boot|test]
fur system rollback
fur system gc
fur system doctor
fur system repair
fur system status

rebuild

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.
bash
sudo fur system rebuild switch --json
sudo fur system rebuild test

rollback

Reverts to the previous system generation. Always safe to run.

bash
sudo fur system rollback --json

gc

Garbage-collects the system store; obeys generation retention policies.

bash
sudo fur system gc

doctor

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.

bash
fur system doctor --json | jq -e '.checks | all(.ok == true)'

repair

Detects an unhealthy managed-marker layout and rewrites the canonical structure. See break/fix runbook for the recovery flow.

bash
sudo fur system repair --json

status

Summarises generation, last rebuild, pending changes, and current managed-package count.

bash
fur system status

System 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.