【菜鸟学习Linux】软件包管理器(RPM)和YUM源

前言:

在学习软件包管理器和yum源前,我们必须要明白一点:软件包管理器和yum源以及之后分享的源码包都是linux为了下载软件的,这篇博客主要是将这三点串成一个线,将三者之间联系起来。如果你想要将这三者区别开,此篇博客非常的有价值!

1、编译源码包

源码包就是源码,在没有RPM出现之前我们下载软件都是通过编译源码包,就是说我们的linux程序员都是通过编译源码然后进行下载文件,这个过程异常的繁琐,且及其消耗时间与耐心,安装升级,卸载需要考虑与其它程序或者函数库的依赖关系。

这里听着比较抽象吧,接下来咱们就举一个例子,c/c++编译的过程1.预处理(Preprocessing), 2.编译(Compilation), 3.汇编(Assemble), 4.链接(Linking)。这四个过程出现的文件的后缀分别是: .i 、.s 、.o、.exe 这里还需要补充一点,我所说的c/c++编译过程是windos下的,.exe文件在linux是不存在的,但是编译过程的.i 、.s 、.o是存在的(这里别太较真,因为好像linux中的可执行文件没有后缀名,ls绿色的应该就是可执行文件)!就是说编译源码包的那几个过程都是需要程序员用命令去执行的!这是一个繁琐的过程,软件和软件之间的依赖性很大!

一句话:编译源码包下载软件:难,并且解决不了依赖关系

2、RPM红帽软件包管理器

源码包编译非常的复杂,需要运维人员自己编译执行,难度大,但是RPM有效的降低了运维人员的安装一个软件的困难,接下来咱们看看它到底是如何的降低难度呢:
它是将源码包与安装规则封装到一起,安装规则就相当于编译过程,就是说运维人员拿到的是一个编译好的软件,不需要自己进行编译了!
【菜鸟学习Linux】软件包管理器(RPM)和YUM源_第1张图片
但是它解决不了软件的依赖关系:
这里举一个简单的例子,比如我们想要安装qq群视频的功能(补充一点qq群视频两个小时以上是需要qq会员的)
在这里插入图片描述
软件和软件之间有依赖关系,我们在安装或者卸载的时候,也不是很方便

一句话:RPM降低了难度,但是没有解决软件之间的依赖关系

3、YUM软件仓库(源)

RPM不能解决软件之间的依赖关系,但是YUM软件仓库也就是所说的源,源就是咱们linux系统需要下载软件的地方,它的存在解决了软件的依赖关系的问题,它的结构如下图所示:它是由n个RPM组成的一个库,还面对要安装qq群视频的功能,此时就不需要我们在去单独安装qq,qq会员,因为他们和qq群视频功能有依赖关系,就自动下载了,如下图,它会自己先下载qq,然后下载qq会员,在下载qq群功能,大大减轻了运维人员的工作难度
【菜鸟学习Linux】软件包管理器(RPM)和YUM源_第2张图片

一般来讲,对于初学者而言:在安装软件的时候,如果能通过yum软件仓库来安装,就用yum方式,反之则去寻找合适的RPM软件包来安装,如果在没有资源可用,那就只能使用源码包来安装了!
上边只是建议,因为用源码包安装有它的好处,感兴趣的可以去查查!这里就这样!

你可能感兴趣的:(运维)