新聞中心
本篇文章給大家分享的是有關(guān)如何查看Linux上程序或進(jìn)程用到的依賴庫,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
站在用戶的角度思考問題,與客戶深入溝通,找到鐵西網(wǎng)站設(shè)計與鐵西網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋鐵西地區(qū)。
有時候我們會遇到這樣一個場景: 一臺Linux電腦要執(zhí)行某個還沒有安裝好的程序,如果有這個程序的安裝包我們可以直接安裝,或者聯(lián)網(wǎng)安裝,但如果沒有這個程序的安裝包電腦又不能聯(lián)網(wǎng),我們可以從另一臺已經(jīng)裝了該程序的電腦(確保一樣的平臺和系統(tǒng))把這個程序以及依賴庫文件拷過去,因此,你需要知道該程序用到的依賴庫。 下面介紹怎么查看Linux上程序或進(jìn)程用到的依賴庫。
查看可執(zhí)行程序的共享庫依賴關(guān)系
$ ldd /path/to/program
$ ldd /bin/ls linux-vdso.so.1 => (0x00007fff73b06000) libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f0ba2672000) libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f0ba246a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f0ba20a3000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f0ba1e65000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0ba1c61000) /lib64/ld-linux-x86-64.so.2 (0x00007f0ba28b9000) libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f0ba1a5b000)
注意!并不推薦為任何不可信的第三方可執(zhí)行程序運行l(wèi)dd,因為某些版本的ldd可能會直接調(diào)用可執(zhí)行程序來明確其庫文件依賴關(guān)系,這樣可能不安全。
取而代之的是用一個更安全的方式來顯示一個未知應(yīng)用程序二進(jìn)制文件的庫文件依賴,使用如下命令: $objdump -p /path/to/program | grep NEEDED
$ objdump -p /bin/ls | grep NEEDED NEEDED libselinux.so.1 NEEDED libacl.so.1 NEEDED libc.so.6
查看運行進(jìn)程的共享庫依賴關(guān)系
如果你想要找出被一個運行中的進(jìn)程載入的共享庫,你可以使用pmap命令,它報告一個進(jìn)程的內(nèi)存映射,也能顯示出運行進(jìn)程的庫文件依賴: $ sudo pmap
$ pmap 5271 5271: vim /home/linjc/test/test/a.txt 0000000000400000 2420K r-x-- vim.gnome 000000000085d000 4K r---- vim.gnome 000000000085e000 96K rw--- vim.gnome 0000000000876000 60K rw--- [ anon ] 00000000023b7000 4276K rw--- [ anon ] 00007fba38e1f000 44K r-x-- libnss_files-2.19.so 00007fba38e2a000 2044K ----- libnss_files-2.19.so 00007fba39029000 4K r---- libnss_files-2.19.so 00007fba3902a000 4K rw--- libnss_files-2.19.so 00007fba3902b000 44K r-x-- libnss_nis-2.19.so 00007fba39036000 2044K ----- libnss_nis-2.19.so 00007fba39235000 4K r---- libnss_nis-2.19.so 00007fba39236000 4K rw--- libnss_nis-2.19.so 00007fba39237000 92K r-x-- libnsl-2.19.so 00007fba3924e000 2044K ----- libnsl-2.19.so 00007fba3944d000 4K r---- libnsl-2.19.so 00007fba3944e000 4K rw--- libnsl-2.19.so 00007fba3944f000 8K rw--- [ anon ] 00007fba39451000 36K r-x-- libnss_compat-2.19.so 00007fba3945a000 2044K ----- libnss_compat-2.19.so 00007fba39659000 4K r---- libnss_compat-2.19.so 00007fba3965a000 4K rw--- libnss_compat-2.19.so 00007fba3965b000 4K ----- [ anon ] 00007fba3965c000 8192K rw--- [ anon ] 00007fba39e5c000 5748K r---- locale-archive ......
以上就是如何查看Linux上程序或進(jìn)程用到的依賴庫,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享名稱:如何查看Linux上程序或進(jìn)程用到的依賴庫
瀏覽路徑:http://www.dlmjj.cn/article/jgjhhi.html