linux依赖包指的是什么

64次阅读
没有评论

共计 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 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计2916字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)