I think filesystem checkpointing is probably the only real way to do this.
Doing it in the package manager is only coming up with a weak version of it anyway.
Package systems that attempt it need to do things such as track file changes made in scripts. It is much easier to let the filesystem do this for you.
To make a completely reliable system, it probably needs filesystems for / and /usr; /etc; /home/$USER/.local. That way, to solve a problem you can roll back individually the binary executable files, the system configuration files and the user's configuration files.
Btrfs subvolumes seem to work really well for this.
Posted Nov 27, 2012 11:37 UTC (Tue) by hummassa (subscriber, #307)
[Link]
Filesystem checkpointing has the disadvantage that takes your data away with it (unless you do it in a very contrived way so you can separate what is "user configuration" from what is "user data")...