共計 2916 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章主要講解了“linux 依賴包指的是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“linux 依賴包指的是什么”吧!
linux 依賴包是指“庫文件”,大部分依賴包都是一些庫文件,有動態庫也有靜態庫;Linux 系統和其他操作系統一樣,都是模塊化的設計,也就是說功能互相依靠,有些功能需要一些其他功能來支撐,這樣可以提高代碼的可重用性。
什么是依賴包?為什么要下載依賴包?
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 依賴包指的是什么”的內容了,經過本文的學習后,相信大家對 linux 依賴包指的是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!