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.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 '\'
version 1.12

etckeeper 1.12 released with these changes

  • Portability fixes. Thanks, Harald Dunkel.
  • Add support for pushing to multiple remote repositories. Thanks, Rouben.
  • Fix handling of git ignores like dir/* Thanks, Pim van den Berg
version 1.11

etckeeper 1.11 released with these changes

  • Fix too broad matching of .gitignored files. Closes: #732339