linux依賴包是指「庫檔案」,大部分依賴包都是一些庫檔案,有動態庫也有靜態庫;Linux系統和其他作業系統一樣,都是模組化的設計,也就是說功能互相依靠,有些功能需要一些其他功能來支撐,這樣可以提高程式碼的可重用性。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
什麼是依賴包?為什麼要下載依賴包?
Linux系統和其他作業系統一樣,都是模組化的設計,也就是說功能互相依靠,有些功能需要一些其他功能來支撐,這樣可以提高程式碼的可重用性:
大部分依賴包都是一些庫檔案,有動態庫也有靜態庫,一個程式的依賴包如果沒有安裝,只安裝了這個程式本身是不能使用
你可以理解為似windows的庫檔案,譬如DLL
比如我要裝某個軟體,這個軟體又依賴於某個開發包,這個開發包包含這個軟體所要執行的環境檔案,這就是依賴關係。
再舉個例子,比如我要去優酷看視訊一樣。
我就需要需要裝flash。因為優酷的播放器是基於flash開發的。
如何查詢我要安裝的包所需要的依賴包?
這個時候就不得不用到一個特別普通的命令了,那就是rpm或者yum .
那如何查詢呢?
1、通過rpm查詢
[root@testvm02 ~]# rpm -q ghostscript #檢視對應的rpm包.
ghostscript-8.70-19.el6.x86_64
[root@testvm02 ~]# rpm -qR ghostscript #R的意思就是requires就是依賴哪些軟體包.
登入後複製
/bin/sh
/sbin/ldconfig
/sbin/ldconfig
config(ghostscript) = 8.70-19.el6
ghostscript-fonts
libICE.so.6()(64bit)
libSM.so.6()(64bit)
libX11.so.6()(64bit)
libXext.so.6()(64bit)
libXt.so.6()(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.11)(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcairo.so.2()(64bit)
libcom_err.so.2()(64bit)
libcrypt.so.1()(64bit)
libcups.so.2()(64bit)
libcupsimage.so.2()(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libfontconfig.so.1()(64bit)
libgs.so.8()(64bit)
libgssapi_krb5.so.2()(64bit)
登入後複製
備註:以上查詢出來的就是依賴的軟體包.
2.通過yum方式來查詢依賴的程式
[root@testvm02 ~]# yum deplist ghostscript
登入後複製
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Finding dependencies:
package: ghostscript.i686 8.70-19.el6
dependency: libc.so.6(GLIBC_2.11) #依賴的庫或者程式
provider: glibc.i686 2.12-1.149.el6 #這個庫是通過哪個rpm包安裝的.
dependency: libXext.so.6
provider: libXext.i686 1.3.2-2.1.el6
dependency: libpng12.so.0
provider: libpng.i686 2:1.2.49-1.el6_2
dependency: libpng12.so.0(PNG12_0)
provider: libpng.i686 2:1.2.49-1.el6_2
dependency: libpthread.so.0(GLIBC_2.1)
provider: glibc.i686 2.12-1.149.el6
dependency: libdl.so.2
provider: glibc.i686 2.12-1.149.el6
登入後複製
3.檢視這個軟體被哪些軟體依賴(即如果我要刪除了會對哪些軟體的執行有影響)
[root@testvm02 ~]# rpm -q nfs-utils #檢視這個軟體是否安裝.
nfs-utils-1.2.3-54.el6.x86_64
[root@testvm02 ~]# rpm -e --test nfs-utils #通過--test進行測試刪除,檢視是否有依賴關係,如果有會阻止刪除.測試是否能夠刪除.
error: Failed dependencies:
nfs-utils >= 1.2.1-11 is needed by (installed) nfs-utils-lib-1.1.5-9.el6.x86_64 #有其他的軟體包依賴這個軟體包,如果刪除可能對這個程式有影響.
[root@testvm02 ~]# rpm -e --test nfs-utils
error: Failed dependencies:
nfs-utils >= 1.2.1-11 is needed by (installed) nfs-utils-lib-1.1.5-9.el6.x86_64
[root@testvm02 ~]# rpm -e --test gcc #測試刪除gcc,沒有報錯,也就是沒有別的地方依賴它,可以進行刪除.
[root@testvm02 ~]# rpm -q gcc #上面的--test並沒有真正刪除
gcc-4.4.7-11.el6.x86_64
[root@testvm02 ~]# rpm -e gcc #不帶--test引數,進行真正的刪除.
[root@testvm02 ~]# rpm -q gcc #再次查詢沒有這個gcc已經被刪除掉了.
package gcc is not installed
登入後複製
相關推薦:《》
以上就是linux依賴包是什麼的詳細內容,更多請關注TW511.COM其它相關文章!