I play with different settings quite often, in Ubuntu itself and in apps I'm using on it. Some changes turn out to be incorrect or even harmful and I often don't remember what I've exactly done and how to revert it. Moreover, apps I install sometimes create/modify things on my hard drive without me knowing about it.

I'm looking for a way to track all changes that happen on my system. I know there is etckeeper, but it tracks only /etc but AFAIK this is not the only place system configuration is stored. I know there are tools like Ansible, but I'm looking for solution for desktop user, not for server.

Is there a list of all places on Linux filesystem that can possibly store configurations of any kind so I could track them with some VCS like git? Are there any guidelines of what to track? Naming conventions that could help me filter out files I'm not interested in tracking?

  • There is nothing you can really do to track every single action you take in every single application you use. You will need to make backups and take notes if you are making changes that you feel might break your system
    – Nmath
    Jun 21, 2021 at 19:17
  • 1
    Advice: Use a disposable install (VM or Container) to play with random settings. If you develop a method of tracking all possible configurations or settings that's not itself too bloated or intrusive, we would love hear about it.
    – user535733
    Jun 21, 2021 at 19:19
  • 1
    After reading about unix everything-is-a-file principle and observing a tendency of Linux packages to store configs in human readable way, I thought it would be quite natural for such functionality to emerge. I'm a bit disappointed ;)
    – Piotrek
    Jun 21, 2021 at 19:29
  • 1
    You are oversimplifying how software is developed and how software actually works. All of the software that you use has been developed by different groups of people. It's not like every piece of software has a single standardized "config" file, and even if it did, you're asking for an entirely different piece of software to perform what you're asking, software that would need permissions to read and change files belong to other software. There is not a one-size-fits-all approach. You are simply asking for something a whole lot more complicated than you are presuming
    – Nmath
    Jun 21, 2021 at 19:59
  • 1
    You could use strings on each binary, deduce which environment variables and filesystem paths are hardcoded in the binary. Check shared libraries, too. man strings ldd ld.so
    – waltinator
    Jun 21, 2021 at 21:26

2 Answers 2


There are many places where configuration files are stored, but backing up $HOME/.config and /etc would already cover up most of it. But, if you want to be really sure everything relevant has been backed up / saved, you'd literally need to to do a complete disk backup.

Most configuration files have a .cfg, .conf or .ini extension - but that too, can be different.


Well, I can't say about all configurations and settings, but you can get all the apps you have ever installed by sudo apt list --installed > ~/all-my-programs Taken from


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.