71

Background: I'm trying to build my program but first I need to set up libraries in NetBeans. My project is using GLU and therefore I installed libglu-dev. I didn't note the location where the libraries were located and now I can't find them.

I've switched to Linux just a few days ago and so far I'm very content with it, however I couldn't google this one out and became frustrated. Is there way to find out where files of package were installed without running the installation again? I mean if I got library xxx and installed it some time ago, is there some-command xxx that will print this info?

I've already tried locate, find and whereis commands, but either I'm missing something or I just can't do it correctly. For libglu, locate returns:

/usr/share/bug/libglu1-mesa
/usr/share/bug/libglu1-mesa/control
/usr/share/bug/libglu1-mesa/script
/usr/share/doc/libglu1-mesa
/usr/share/doc/libglu1-mesa/changelog.Debian.gz
/usr/share/doc/libglu1-mesa/copyright
/usr/share/lintian/overrides/libglu1-mesa
/var/lib/dpkg/info/libglu1-mesa:i386.list
/var/lib/dpkg/info/libglu1-mesa:i386.md5sums
/var/lib/dpkg/info/libglu1-mesa:i386.postinst
/var/lib/dpkg/info/libglu1-mesa:i386.postrm
/var/lib/dpkg/info/libglu1-mesa:i386.shlibs

The other two commands fail to find anything. Now locate did its job, but I'm sure none of those paths is where the library actually resides (at least everything I was linking so far was in /usr/lib or /usr/local/lib).

libglu was introduced just as example. I'm looking for a general solution for this problem.

2 Answers 2

100

Easy! dpkg -L packagename. That will list all files (with location) that were brought in by the package.

2
  • 1
    Wow, exactly what I was looking for, thanks! Just a quick note: the one I was looking for is /usr/lib/i386-linux-gnu/libGLU.so.1 (obtained with dpkg) and the actual name of library for the command is libglu1-mesa.
    – Raven
    Mar 23, 2012 at 21:50
  • 3
    Great. I'll also recommend apt-file. It needs to be installed and then you need to do apt-file update. apt-file list does the same as dpkg -L, but without the need to install the package first. apt-file search enables you to find out which package provides a certain file. Cool tools :) Mar 23, 2012 at 21:56
12

In case if you are not sure about package name you could list all packages and try to find requested:

dpkg --get-selections | grep -v deinstall | grep <packagename>

For example:

$ dpkg --get-selections | grep -v deinstall | grep zip

Output:

bzip2 install
gzipinstall
p7zip-fullinstall
unzipinstall                                                                       
zipinstall  

And then:

$ dpkg -L zip

Output:

/.  
/usr
/usr/share
/usr/share/doc
/usr/share/doc/zip
/usr/share/doc/zip/copyright
/usr/share/doc/zip/TODO
/usr/share/doc/zip/changelog.Debian.gz
/usr/share/doc/zip/WHATSNEW
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/zipsplit.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/bin
/usr/bin/zipsplit
/usr/bin/zipcloak
/usr/bin/zip
/usr/bin/
/usr/share/doc/zip/changelog.gz

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.