如何找到已安裝庫的位置

如何找到已安裝庫的位置

背景:我正在嘗試建立我的程序,但首先我需要在 NetBeans 中設定庫。我的專案使用 GLU,因此我安裝了 libglu-dev。我沒有註意到圖書館所在的位置,現在我找不到它們了。

幾天前我已經切換到 Linux,到目前為止我對它非常滿意,但我無法透過 google 搜尋這個並感到沮喪。有沒有辦法找出軟體包檔案的安裝位置而無需再次運行安裝?我的意思是,如果我得到了庫 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

另外兩個指令找不到任何東西。現在,locate 完成了它的工作,但我確信這些路徑都不是庫實際所在的位置(至少到目前為止我鏈接的所有內容都在/usr/libor中/usr/local/lib)。

libglu 只是作為範例引入的。我正在尋找這個問題的通用解決方案。

答案1

簡單的!dpkg -L packagename。這將列出該包引入的所有文件(帶有位置)。

答案2

如果您不確定套件名稱,您可以列出所有套件並嘗試尋找請求的套件:

dpkg --get-selections | grep -v deinstall | grep <packagename>

例如:

$ dpkg --get-selections | grep -v deinstall | grep zip

輸出:

bzip2 install
gzipinstall
p7zip-fullinstall
unzipinstall                                                                       
zipinstall  

進而:

$ dpkg -L zip

輸出:

/.  
/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/
/usr/share/doc/zip/changelog.gz

相關內容