インストールされたライブラリの場所を見つける方法


52

背景:プログラムをビルドしようとしていますが、最初に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

他の2つのコマンドは何も検出できません。今、locateは仕事をしましたが、ライブラリが実際に存在する場所はこれらのパスではないはずです(少なくともこれまでリンクしていたものはすべて/ usr / libまたはusr / local / libにありました)。

libgluは例として紹介されたもので、この問題の一般的な解決策を探しています。

回答:


68

簡単!dpkg -L packagename。これにより、パッケージによって取り込まれたすべてのファイル(および場所)がリストされます。


1
うわー、まさに私が探していたもの、ありがとう!簡単なメモ:私が探していたのは/usr/lib/i386-linux-gnu/libGLU.so.1(dpkgで取得)であり、コマンドのライブラリの実際の名前はlibglu1-mesaです。
レイヴン

3
すばらしいです。apt-fileもお勧めします。インストールする必要があり、それからaptファイルの更新を行う必要があります。apt-file listはdpkg -Lと同じですが、最初にパッケージをインストールする必要はありません。apt-ファイル検索を使用すると、特定のファイルを提供するパッケージを見つけることができます。クールなツール:)
ジョーエルレンドシンスタット

1
sudoには必要ありませんdpkg -L
MoonSweep

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.