Tool to Know what file(s) or folder(s) & location was created/ modified when i installed a software

Is there a tool to know when a package is installed, what file & folder & location was created/ modified.
I often want to know where are the files and folder a newly installed software have created … it is useful so that i know where their config file or database files are location, because some software don’t have such document provided for us to find out.
Eg: i just installed bibletime, but i have no idea where are the different bibles located. Located the rc file, but it didn’t have such data in it.

To retrieve a list of the files installed by a package:

$ pacman -Ql package_name

and good old *nix/Linux command to see where the executable is at;

$ whereis command

refer; pacman - ArchWiki

1 Like

These will be put in your $HOME directory - usually in a (hidden) folder called like the program itself - or below
$HOME/.config

In this specific case, the folder is in:
$HOME/.bibletime

The program uses another as it’s library - sword
It, too has such a folder, this time in $HOME/.sword

Here are all the resources.

The program is installed system wide - but each user has got his/her own resources inside the $HOME directory.

Even when you uninstall the program - these files in your $HOME will remain.

2 Likes

Open Pamac (the Add/Remove Application program), search for your program, click it, then on the right side panel, click Files tab

3 Likes

… but what he/she was looking for will not appear there

This will do exactly what he wanted. Now some application will also install files in the home folder but this is not really the question and kind of an edge case.

For the sake of arguing, you didn’t answer the question at all, you told him where for this specific application the files created in the home would be, but didn’t tell him how to know that.

One thing I would do is this:
sudo find / > l220302-1.txt

install the software… and reissue the command with a new file.
sudo find / > l220302-2.txt

1) Note: I just need to understand how to sort the lines in the output produced by “find” (they look ordered, but might they not be?). And using a tool like Meld, compare the two to find out what changed.

The interesting thing is to know how to limit the directories to be searched with “find”, for example
just : /etc/ /var/ /home/ /usr/

In this example I got two huge +149Mb files to compare with Meld

Regards


Update:
And this is more faster than Meld (looking for changes at “home”:

$ diff l220302-1.txt l220302-2.txt |grep home
> /home/MrE/l220302-2.txt
> /home/MrE/.mozilla/firefox/blah1
> /home/MrE/newfile-deleteme
< /home/MrE/.cache/mozilla/firefox/blah2
< /home/MrE/.cache/mozilla/firefox/blah3

I didn’t see that you even want changes in configuration files. Maybe it is possible knowing which files changed and the new content inside:

  • First make a snapshot with timeshift or Btrfs.
  • Then you use the proposal with “find” (file text #1)
  • Install and run your new application
  • Use find again (file text #2)
  • Compare both files (You’ll see new files added and changed)
  • Knowing which files changed you compare them, the current one with the one from the snapshot. If the file is new, well you know it was created by your application.

Cheers is Friday :beers: :beer:

1 Like

because I do not know how to know that -
except by checking/looking after the fact -

that information may be (is) in the source code of the program - but it isn’t in the list of files that will be installed - these files and directories in the users $HOME are generated only once the program has been used
and I answered the question as I understood it -
these files (not only in this specific case) are put into each users $HOME
and will remain there even after removal of the program

He/she specifically asked where the different bibles would be located.
They are not downloaded and made available system wide - but just for a specific user.

But bibletime was just for the example, as he precised “E.g:”, and from the thread title and the post content this is how I understand it, he wanted to know how to list and locate the files that come with a package you install. bibletime is kind of an exception as, if I understand correctly, additional files are downloaded/placed into the user home.

So we both (and others as well) did our best to answer the question as we understood it
which apparently was sufficiently ambiguous for us to arrive at different ways to respond. :wink:

Sorry, for the ambiguous question then… However i got both answer already.

My question was, how to know all the file created or modified when a program was installed… (i have a great tool that do just that on windows os, but no such tool on linux…sigh).
However @MrE has suggested to use find to list out into a txt and then do a compare… … i guess this is one way to do it, just that it won’t tell if the program actually modified an existing file or not.
I have many time looked for a linux tool that can do just that… monitor what file (location as well) was created or modified. Well, from this along, i would have know it created .sword folder which than i would peek into to see the bible modules.

  1. As of just now, i was searching for bible module folder which @Nachlese told me already, it is indeed in .sword folder under $HOME.

Thanks. I have got what i wanted… well, minus the tools (but at least i know now i can use sudo find / > l220302-2.txt and do a compare on it.

However if there is such tool, i would love to know. Thx
Thx.

I know how to exclude some folder… I just learnt it a few days ago.
Let me share with you.
find / \( -path '/folderToExclude1' -o -path '/folderToExclude2' \) -prune -o -print

syntax:
$ find {path} {options} {action}
$ find where-to-look criteria action

**do as much folder to exclude as you like. i have tried it out… and it works superb.
i heard “-prune” works better than !not !path or such option in $find cmd…

This will not list out the ./sword and ./bibletime folders and the files in it, so , it is not that useful for some software (like bibletime).
Thanks anway

after installation of a program - when you have never started or used it

this will be sufficient

Nothing has yet been created inside your $HOME at this time.

You can then just focus your search efforts on the hidden directories and files inside your $HOME
to monitor the before and after state
what has been modified there

it will - once you constructed your search pattern appropriate to the cause
and actually have something to look for and monitor

… like a before and after state

which you don’t have if you don’t know what you are looking for

This, however

will give you that - just compare the two files

As said:
you could confine this to search through only $HOME (instead of starting at / )
and only search through “hidden” directories/files
files/directories starting with . (a dot)

I wrote an update in case you are interested.

Cheers is Friday :beers: :beer:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.