100

For some applications its fairly easy enough to locate where the application was installed to using the "which" command. However, some applications such as Tomcat are a little out of my league to locate.

I'm asking for particular methodology that can be applied to any apt-get install to locate where the binary, library, and support files are installed to.

The cause of this question is that I installed Tomcat7 and I can's seem to locate it and I have a list of customizations to perform.

Sn3akyP3t3
  • 1,576

4 Answers4

132

You can run the command dpkg -L package to list all the files in the package. For example dpkg -L ubuntu-minimal will only list a couple of small files related to packaging, as it is only an empty meta-package that depends on other packages.

dpkg -L tomcat7

is probably what you want.

Jorge Castro
  • 71,754
dobey
  • 40,982
27

You can list the contents of an installed package with the dpkg command, which is the low-level package manipulation command that the APT tools call internally:

dpkg -L tomcat7

You may want to search in the output; use the grep command. For example, to see the configuration files (which live under /etc):

dpkg -L tomcat7 | grep /etc

The files you want to modify may be in dependencies of the main tomcat7 package. Searching inside a package and its dependencies is more complicated. It's likely that the files you're looking for are in some package called tomcat7-something. The easiest way to display them is with the apt-file command, which is not installed by default (install it with apt-get install apt-file).

apt-file list tomcat7

apt-file lists file names in all packages in Ubuntu (according to the package sources you have enabled), whether they are installed or not. You can also use it to search for a file:

$ apt-file search RequestInfoExample.java
tomcat7-examples: /usr/share/tomcat7-examples/examples/WEB-INF/classes/RequestInfoExample.java
6

What I usually do is:

  • Start Synaptic (you will need to install it first)

  • find the package I'm interested in

  • right click, select Properties

  • view the list of installed files

Sergey
  • 43,665
0

I see many responses rightly saying "dpkg -L " is the command for listing content of an installed package. But, none of them have answered the other question, why does "which" command list empty for some of the packages? The answer is; "which" displays the location of an executable alone, not all the content of the package. In case, a package does not contains any executable, then "which" display empty. For example, openssl package provides an executable with the same name for various cryptographic operations. Whereas, libssl-dev package contains development lib, not any executable.

Bhuvan
  • 128