0

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?

Piotrek
  • 291
  • 3
  • 8
  • 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 '21 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 '21 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 '21 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 '21 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 '21 at 21:26

2 Answers2

1

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.

TheEagle
  • 143
0

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

https://askubuntu.com/a/1193626/707756