Cara menemukan lokasi perpustakaan yang diinstal


52

Latar Belakang: Saya mencoba untuk membangun program saya, tetapi pertama-tama saya perlu mengatur perpustakaan di netbeans. Proyek saya menggunakan GLU dan karenanya saya menginstal libglu-dev. Saya tidak mencatat lokasi di mana perpustakaan berada dan sekarang saya tidak dapat menemukannya ..

Saya telah beralih ke Linux hanya beberapa hari yang lalu dan sejauh ini saya sangat puas dengannya, namun saya tidak bisa melihat Google yang satu ini dan menjadi frustrasi .. Apakah ada cara untuk mengetahui di mana file paket diinstal tanpa menjalankan instalasi lagi? Maksud saya jika saya mendapatkan library xxx dan menginstalnya beberapa waktu lalu, adakah seseorang xxx xxx yang akan mencetak info ini?

Saya sudah mencoba mencari, menemukan, dan menemukan perintah, tetapi entah saya melewatkan sesuatu atau tidak bisa melakukannya dengan benar .. untuk libglu, cari kembali:

/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

Dua perintah lainnya gagal menemukan apa pun. Sekarang cari melakukan pekerjaannya tetapi saya yakin tidak ada jalur tersebut di mana perpustakaan sebenarnya berada (setidaknya semua yang saya tautkan sejauh ini ada di / usr / lib atau usr / local / lib).

Libiblu diperkenalkan sebagai contoh, saya mencari solusi umum untuk masalah ini.

Jawaban:


68

Mudah! dpkg -L packagename. Itu akan mencantumkan semua file (dengan lokasi) yang dibawa oleh paket.


1
Wow, persis apa yang saya cari, terima kasih! Hanya catatan singkat: yang saya cari adalah /usr/lib/i386-linux-gnu/libGLU.so.1(diperoleh dengan dpkg) dan nama sebenarnya dari perpustakaan untuk perintah ini adalah libglu1-mesa.
Raven

3
Bagus. Saya juga akan merekomendasikan file apt. Itu perlu diinstal dan kemudian Anda perlu melakukan pembaruan file-apt. Daftar apt-file melakukan hal yang sama dengan dpkg -L, tetapi tanpa perlu menginstal paket terlebih dahulu. pencarian apt-file memungkinkan Anda untuk mengetahui paket mana yang menyediakan file tertentu. Alat keren :)
Jo-Erlend Schinstad

1
sudotidak diperlukan untuk dpkg -L.
MoonSweep

8

Jika Anda tidak yakin dengan nama paket, Anda bisa mendaftar semua paket dan mencoba menemukan yang diminta:

 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.