Skip to content

// docs · procedures · SC-OPS-010

SC-OPS-010: Uninstall or purge

--uninstall removes the binary and units but keeps config and certificates. Add --purge to also remove the store, config, and the syscert user.

Procedure IDSC-OPS-010
Applies tosyscert ≥ v0.3
Audienceroot
Last reviewed2026-06-22

Purpose

Take syscert off a host cleanly. Either keep the certificate state for a later reinstall (--uninstall), or wipe everything: the store, the config files, and the syscert system user (--uninstall --purge).

Scope

Covers the two uninstall modes that packaging/install.sh drives. It does not revoke the certificate before removal, so do that first if you need it (see SC-OPS-005).

Prerequisites

  • Root access on the host.
  • If you want to revoke the certificate before removing, run SC-OPS-005 first.

Procedure

Via the one-line installer

Keep config and certificates (binary + units removed):

curl -fsSL https://syscert.tfindley.dev/install.sh | sudo sh -s -- --uninstall

Remove everything, including /var/lib/syscert, /etc/syscert, and the syscert user:

curl -fsSL https://syscert.tfindley.dev/install.sh | sudo sh -s -- --uninstall --purge

Via a local copy of the installer

sudo packaging/install.sh --uninstall
sudo packaging/install.sh --uninstall --purge

Confirmation and automation

--purge asks you to confirm before it removes the store and user:

Remove /var/lib/syscert, /etc/syscert, and the syscert user? [y/N]

To skip the prompt in automation:

SYSCERT_ASSUME_YES=1 curl -fsSL https://syscert.tfindley.dev/install.sh | sudo sh -s -- --uninstall --purge

What each mode removes

Item--uninstall--uninstall --purge
/usr/local/bin/syscertremovedremoved
/etc/systemd/system/syscert.serviceremovedremoved
/etc/systemd/system/syscert.timerremovedremoved
/etc/default/syscertremovedremoved
/etc/syscert/syscert.tomlkeptremoved
/etc/syscert/secretskeptremoved
/var/lib/syscert/ (store, certs, account)keptremoved
syscert system userkeptremoved

Verification

After --uninstall:

which syscert                        # should return nothing
systemctl list-timers syscert.timer  # should show no timer
ls /var/lib/syscert/                 # store is intact

After --uninstall --purge:

ls /var/lib/syscert/     # no such directory
ls /etc/syscert/         # no such directory
id syscert               # no such user

Rollback / recovery

  • After --uninstall (data kept): run the installer again to bring back the binary and units. Your existing config and certificates get reused.
  • After --uninstall --purge: there’s no way back. The store is gone, so reinstall from scratch with SC-OPS-001.

Explanatory docs: Advanced install · Quick start