Come trovare la posizione della libreria installata


52

Background: sto cercando di costruire il mio programma, ma prima devo impostare librerie in netbeans. Il mio progetto utilizza GLU e quindi ho installato libglu-dev. Non ho notato la posizione in cui si trovavano le librerie e ora non riesco a trovarle ..

Sono passato a Linux solo pochi giorni fa e finora ne sono molto contento, tuttavia non ho potuto cercarlo su Google e diventare frustrato. C'è un modo per scoprire dove sono stati installati i file del pacchetto senza eseguire installazione di nuovo? Voglio dire, se ho ottenuto la libreria xxx e l'ho installata qualche tempo fa, c'è un comando xxx che stamperà queste informazioni?

Ho già provato a localizzare, trovare e dov'è i comandi ma o mi manca qualcosa o non riesco proprio a farlo correttamente .. per libglu, individuare restituisce:

/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

Altri due comandi non riescono a trovare nulla. Ora individuare ha funzionato, ma sono sicuro che nessuno di quei percorsi è dove risiede effettivamente la libreria (almeno tutto ciò che stavo collegando finora era in / usr / lib o usr / local / lib).

Il libglu è stato introdotto proprio come esempio, sto cercando una soluzione generale per questo problema.

Risposte:


68

Facile! dpkg -L packagename. Verranno elencati tutti i file (con posizione) introdotti dal pacchetto.


1
Caspita, esattamente quello che stavo cercando, grazie! Solo una breve nota: quello che stavo cercando è /usr/lib/i386-linux-gnu/libGLU.so.1(ottenuto con dpkg) e il nome effettivo della libreria per il comando è libglu1-mesa.
Raven,

3
Grande. Consiglierò anche apt-file. Deve essere installato e quindi è necessario eseguire l'aggiornamento del file apt. L'elenco apt-file fa lo stesso di dpkg -L, ma senza la necessità di installare prima il pacchetto. La ricerca di apt-file consente di scoprire quale pacchetto fornisce un determinato file. Strumenti fantastici :)
Jo-Erlend Schinstad,

1
sudonon è necessario per dpkg -L.
MoonSweep

8

Nel caso in cui non si è sicuri del nome del pacchetto, è possibile elencare tutti i pacchetti e provare a trovare richiesto:

 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.