问题描述
背景:我正在尝试构建我的程序,但首先我需要在netbeans中设置库。我的项目正在使用GLU,因此我安装了libglu-dev。我没有注意到库所在的位置,现在我找不到它们。
我刚刚在几天前切换到Linux,到目前为止我对它非常满意,但是我无法谷歌这个并且变得沮丧..有没有办法找出包装的文件在哪里安装而不运行安装了吗?我的意思是,如果我有一个库xxx并在前一段时间安装它,是否有一些命令xxx将打印此信息?
我已经尝试过locate,find和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就是作为例子介绍的,我正在寻找这个问题的一般解决方案。
最佳解决方案
简单! dpkg -L packagename
。这将列出包引入的所有文件(带位置)。
次佳解决方案
如果您不确定包名称,可以列出所有包并尝试查找请求:
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