Comment trouver l'emplacement de la bibliothèque installée


52

Contexte: J'essaie de construire mon programme mais je dois d'abord configurer des bibliothèques dans Netbeans. Mon projet utilise GLU et j'ai donc installé libglu-dev. Je n'ai pas noté l'emplacement où se trouvaient les bibliothèques et maintenant je ne les trouve pas ..

Je suis passé à Linux il y a quelques jours à peine et jusqu'à présent, je suis très content, mais je ne pouvais pas google et craindre celui-ci. Existe-t-il un moyen de savoir où les fichiers du paquet ont été installés sans s'exécuter installation à nouveau? Je veux dire, si je possède et installe la bibliothèque xxx il y a quelque temps, y a- t- il une commande xxx qui affichera cette information?

J'ai déjà essayé de localiser, trouver et où sont les commandes, mais il me manque quelque chose ou je ne peux tout simplement pas le faire correctement. Pour libglu, localisez 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

Deux autres commandes ne trouvent rien. Maintenant, localisez a fait son travail, mais je suis sûr qu’aucun de ces chemins n’est le lieu où réside réellement la bibliothèque (au moins tout ce que je liais jusqu’à présent se trouvait dans / usr / lib ou usr / local / lib).

Le libglu a été présenté à titre d'exemple, je cherche une solution générale à ce problème.

Réponses:


68

Facile! dpkg -L packagename. Cela listera tous les fichiers (avec leur emplacement) qui ont été importés par le paquet.


1
Wow, exactement ce que je cherchais, merci! Juste une note rapide: celle que je cherchais est /usr/lib/i386-linux-gnu/libGLU.so.1(obtenue avec dpkg) et le nom réel de la bibliothèque pour la commande est libglu1-mesa.
Raven

3
Génial. Je vais aussi recommander apt-file. Il doit être installé et vous devez ensuite mettre à jour apt-file. apt-file list fait la même chose que dpkg -L, mais sans avoir à installer le paquet au préalable. apt-file search vous permet de savoir quel paquet fournit un certain fichier. Des outils
sympas

1
sudon'est pas nécessaire pour dpkg -L.
MoonSweep

8

En cas de doute sur le nom du paquet, vous pouvez lister tous les paquets et essayer de trouver les informations demandées:

 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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.