Is there a system journal that I can install?

Solution 1:

Install the etckeeper package and run (once and for all) sudo etckeeper init. This puts /etc (the directory containing all system configuration file) under version control (Bazaar by default). Under the default configuration, changes are recorded

  • before and after each use of apt-get, aptitude, Synaptic or other apt-based package managers;
  • once per day;
  • and whenever you run sudo etckeeper commit, or bzr commit in /etc; this gives you the opportunity of entering a meaningful commit message.

Etckeeper doesn't record the names of installed packages, but you can find that in /var/log/apt/ and /var/log/dpkg.log (with different sets of details). These files are rotated, so they will disappear after a few months; if you want to keep them longer, this is configured in /etc/logrotate.d/dpkg and /etc/logrotate.d/apt.

For your personal configurtion files, see How to keep “dot files” under version control?.

Solution 2:

I would be tempted to say copyfs:

NAME
       CopyFS - Versioning File System for FUSE

DESCRIPTION
       CopyFS  is a copy-on-write, versioning file system for FUSE. CopyFS can
       be used to maintain the revision  history  of  a  directory  containing
       files for which you want to track changes, and be able to revert to any
       older version. CopyFS lets you do that by transparently making  backups
       of  each  file that you modify so that you can review and revert to any
       previous revision.

but hardly it could be used for the whole root directory or for anything system (not user) related.