依赖包的作用
比如安裝python、mysql等軟件的時候,我們需要專門下載一些依賴包,那么有沒有小伙伴好奇,什么是依賴包呢?小編今天就整理一篇文展,來說說。
1、什么是依賴包?為什么要下載依賴包?
Linux系統和其他操bai作系統一樣,都是模塊化的設計,也就是說du功能互相依靠,有zhi些功能需要一些其他功能來支撐,這dao樣可以提高代碼的可重用性:
大部分依賴包都是一些庫文件,有動態庫也有靜態庫,一個程序的依賴包如果沒有安裝,只安裝了這個程序本身是不能使用
你可以理解為似windows的庫文件,譬如DLL
比如我要裝某個軟件,這個軟件又依賴于某個開發包,這個開發包包含這個軟件所要運行的環境文件,這就是依賴關系。
再舉個例子,比如我要去優酷看視頻一樣。
我就需要需要裝flash。因為優酷的播放器是基于flash開發的。
2、如何查詢我要安裝的包所需要的依賴包?
這個時候就不得不用到一個特別普通的命令了,那就是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.el6dependency: libc.so.6(GLIBC_2.11) #依賴的庫或者程序provider: glibc.i686 2.12-1.149.el6 #這個庫是通過哪個rpm包安裝的.dependency: libXext.so.6provider: libXext.i686 1.3.2-2.1.el6dependency: libpng12.so.0provider: libpng.i686 2:1.2.49-1.el6_2dependency: libpng12.so.0(PNG12_0)provider: libpng.i686 2:1.2.49-1.el6_2dependency: libpthread.so.0(GLIBC_2.1)provider: glibc.i686 2.12-1.149.el6dependency: libdl.so.2provider: glibc.i686 2.12-1.149.el63.查看這個軟件被哪些軟件依賴(即如果我要刪除了會對哪些軟件的運行有影響)
[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總結
- 上一篇: MDI Jade6.5安装教程-附安装包
- 下一篇: Jade linux 位置,jade 6