首頁  >  文章  >  運維  >  linux依賴套件是什麼

linux依賴套件是什麼

藏色散人
藏色散人原創
2023-03-24 09:28:352033瀏覽

linux依賴套件是指“庫文件”,大部分依賴套件都是一些庫文件,有動態庫也有靜態庫;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影片教學

以上是linux依賴套件是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn