this post was submitted on 25 Jun 2023
792 points (100.0% liked)

Technology

37800 readers
305 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

I wholeheartedly agree with this blog post. I believe someone on here yesterday was asking about config file locations and setting them manually. This is in the same vein. I can't tell you how many times a command line method for discovering the location of a config file would have saved me 30 minutes of googling.

you are viewing a single comment's thread
view the rest of the comments
[–] I_Miss_Daniel@kbin.social 8 points 2 years ago (3 children)

(Windows) Resource Monitor, disk tab, tick the process, see what files it opens and closes.

Also the usual %programdata% and the two %appdata% find most things.

[–] exscape@kbin.social 4 points 2 years ago* (last edited 2 years ago)

Do things stay in that list when they are not used (since they would be opened and closed in far less than a second)? If so that's pretty cool.

If not, you can use Process Monitor to check this. That's what I usually do.

[–] bionade24@kbin.social 4 points 2 years ago (1 children)

The *nix equivalent is the lsof command. This doesn't help you finding out in which hierarchy config files are parsed when the program accesses multiple ones, which is often the case.

[–] elmicha@feddit.de 8 points 2 years ago (3 children)

You can use something like strace -eopen -f -o strace.out the_program to find all files that the program tried or succeeded to open. Then you can try to find the config file(s) in strace.out.

[–] andrew@lemmy.stuart.fun 3 points 2 years ago

There's also a nice version in perftools that can be given a PID. https://github.com/brendangregg/perf-tools/blob/master/opensnoop

[–] bionade24@kbin.social 2 points 2 years ago (1 children)

You still don't know which location is preffered and how get they get merged. In my experience, digging into the source is the most straighforward. But my usual problem is more that the config option doesn't do at all what the documentation says it does.

[–] FermatsLastAccount@kbin.social 1 points 2 years ago* (last edited 2 years ago) (1 children)

Wouldn't the strace.out file be in chronological order?

[–] Hexorg@beehaw.org 1 points 2 years ago (1 children)

Yes, though if two different files allow for the same config key - you're stuck opening both to check

[–] bionade24@kbin.social 1 points 2 years ago (1 children)

And you still couldn't be sure, could be parsed the other way around for historic reasons.
Just reading the source code (if possible ofc) is imho easier than reading.

[–] Hexorg@beehaw.org 2 points 2 years ago

True, though I had to use strace method on closed source binaries before (zoom)

[–] idealium@beehaw.org 2 points 2 years ago

I was digging through the comments for exactly this, thanks!

[–] techno156@kbin.social 3 points 2 years ago (1 children)

Unless it's using the Registry for some config values.

[–] I_Miss_Daniel@kbin.social 1 points 2 years ago (1 children)

True. That's harder to track down.

[–] fartsinger@kbin.social 1 points 2 years ago

Procmon if you're a masochist, or do a before and after snapshot. Here's one tool for the latter: https://www.nirsoft.net/utils/registry_changes_view.html