如何找到已安装库的位置


52

背景:我正在尝试构建程序,但是首先我需要在netbeans中设置库。我的项目正在使用GLU,因此我安装了libglu-dev。我没有记下库的位置,现在找不到它们。

我几天前才切换到Linux,到目前为止,我对它非常满意,但是我无法用谷歌搜索它并感到沮丧。再次安装?我的意思是,如果我在一段时间前安装了库xxx并安装了它,是否有一些命令xxx可以打印此信息?

我已经尝试过定位,查找和whereis命令,但是我丢失了某些东西或者只是做不到正确..对于libglu,locate返回:

/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

另外两个命令找不到任何东西。现在定位完成了工作,但是我确定这些路径都不是库实际所在的位置(至少到目前为止,我链接的所有内容都在/ usr / lib或usr / local / lib中)。

仅作为示例介绍了libglu,我正在寻找此问题的一般解决方案。

Answers:


68

简单!dpkg -L packagename。这将列出该软件包带来的所有文件(带有位置)。


1
哇,正是我要的东西,谢谢!简要说明一下:我正在寻找的是/usr/lib/i386-linux-gnu/libGLU.so.1(通过dpkg获得),该命令的库的实际名称为libglu1-mesa。
拉文2012年

3
大。我还将推荐apt-file。需要先安装它,然后再进行apt-file更新。apt-file list的功能与dpkg -L相同,但无需首先安装软件包。apt-file搜索使您可以找出哪个软件包提供了特定文件。很酷的工具:)
Jo-Erlend Schinstad 2012年

1
sudo不需要dpkg -L
MoonSweep'Mar

8

如果您不确定软件包名称,可以列出所有软件包并尝试查找请求的软件包:

 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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.