Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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 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 becoming frustrated.. Is there way to find out where files of package were installed without running installation again? I mean if I got library xxx and installed it some time ago, is there somecommand 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

Other two commands fail to find anything. Now locate did it's 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).

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

share|improve this question
add comment

2 Answers 2

up vote 15 down vote accepted

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

share|improve this answer
    
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 '12 at 21:50
1  
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 :) –  Jo-Erlend Schinstad Mar 23 '12 at 21:56
add comment

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/zipnote
      /usr/share/doc/zip/changelog.gz
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.