etckeeper is a collection of tools to let /etc be stored in a git, mercurial, darcs, or bzr repository. It hooks into apt (and other package managers including yum and pacman-g2) to automatically commit changes made to /etc during package upgrades. It tracks file metadata that revison control systems do not normally support, but that is important for /etc, such as the permissions of /etc/shadow. It's quite modular and configurable, while also being simple to use if you understand the basics of working with revision control.

etckeeper is available in git at git://, or in gitweb. It's packaged in Debian, Ubuntu, Fedora, etc.


version 1.15

etckeeper 1.15 released with these changes

  • Recommend cron-daemon, rather than cron, as etckeeper only needs cron.daily functionality. Closes: #762721
version 1.14

etckeeper 1.14 released with these changes

  • Handle failure to commit in post-install, pre-install by showing a warning, rather than propigating the error to apt. This avoids breaking the apt run when eg, git is misconfigured and cannot commit. pre-install already did this when it was able to use debconf to display a message, but now debconf is not used, and it always behaves this way. Closes: #760011
version 1.13

etckeeper 1.13 released with these changes

  • Ignore check-mk-agent-logwatch's FHS violating /etc/check_mk/logwatch.state. Closes: #753903
  • Only allow [-a-z_] in etckeeper commands to avoid any possible directory traversal etc issues.
  • update-ignore, uninit: Fix parsing of ignore files containing '\'