Як знайти місце встановленої бібліотеки


52

Передумови: Я намагаюся створити свою програму, але спочатку мені потрібно створити бібліотеки в netbeans. У моєму проекті використовується GLU, і тому я встановив libglu-dev. Я не зазначив місця, де знаходились бібліотеки, і тепер їх не можу знайти.

Я перейшов на Linux лише кілька днів тому, і до цього часу я дуже задоволений цим, однак я не міг гугл цього виходу і засмутився. Чи є спосіб дізнатися, де були встановлені файли пакета без запуску установка знову? Я маю на увазі, якщо я отримав бібліотеку xxx і встановив її деякий час тому, чи є якийськоманда xxx, яка буде надрукувати цю інформацію?

Я вже пробував команди locate, find andisis, але або мені щось не вистачає, або я просто не можу це зробити правильно .. для libglu, locate return:

/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

Інші дві команди нічого не знаходять. Тепер 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-файл. Його потрібно встановити, і тоді вам потрібно зробити оновлення apt-файлів. Список apt-файлів робить те саме, що і 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.