粉丝2.8万获赞19.6万

那我先说一下这个 rpm 安装的概念啊, rpm 安装是什么意思呢?来我们说 rpm 啊,他的全称是红帽的一个包管理工具啊,那么这个 rpm 这个包管理工具呢,最早是由红帽开发的, 那他的一个主要功能,那就是用来啊,对另一个下的这个软件包来进行管理的工具啊,那么由于这种软件管理方式呢,非常方便啊,那么后面逐渐啊,被其他的另一个词这个发行商所借用啊,那么现在 啊,这个 ipm 包的一种管理方法呢,已经成为啊主流的 linux 飞行版本啊,采用的这么一个包管理方式,比如说这个红帽的 susie 的森特 s 的 lma linux, 对吧,都是采用的 这个 r p m 这种包的管理机制啊,去管理软件的。那怎么样区分 r p m 软件包呢?我们看到啊,只要是一点 r p m 结尾的软件包,那么它就是 r p m 文件啊,那么这个 r p m 文件的一个特点啊,是需要大家 熟练掌握的,就是每个 ip 文件中包含了已经编译好的二金制可执行文件, 其实呢啊,就是将软件啊原码文件进行编译安装,然后进行了封装,最后就成了 rpm 文件。 所以大家可以看到啊,这个 rpm 文件啊,他已经是编印好的二金制可执行文件啊,这个就是他的一个本质吧,或者说是他的一个特性啊, 那么既然是已经编译好了,所以呢,我们通过 rpm 文件去装起来的话,那应该是非常简单的啊, 所以说通过 rpm 包去安装软件,它的优点呢,就是安装简单方便啊,因为软件已经编译完成,打包完毕了,那么我们啊执行的这个安装,它只不过是一个验证环境和解压的一个过程, 大家注意啊,这句话其实说出来的什么?说出来这个 r p m 啊, r p m 文件这种安装方式,它的一个本质啊,就这个安装过程只是一个验证环境和解压的过程, 所以我们说啊,通过 r p 模包去安装软件呢,它是非常简单的啊,它就是 这个验证和解压的过程啊,这个就它的优点,那既然说完优点肯定还要缺点,对吧?那我们再来说一下 rpm 包安装软件的这个缺点,那缺点是什么呢?我们说它的啊,缺点是对操作系统的环境依赖很大, 那么他要求什么?要求 rpn 包的安装环境啊,必须与 rpn 包封装时的环境相一致或者相当。 因为刚才我们说了,这个 r p m 包呢,它是已经编译好的二进制可执行文件,那么既然这个包是编译好的,它肯定有一个编译的环境,对吧?所以我们在啊执行安装的时候,那么这个安装环境要跟 他变异时候的这个环境呢,要保持一致或者相当,那么这个其实就是对环境啊有很大的依赖, 那就说他对操作系统版本是有要求的,比如说我这个 rp 软件包是在这个红帽八上那么进行的一个编译,对吧?那么这个时候你把它安装到七的版本下,他肯定是用不了的啊,这就是他对操作系统版本有很大的依赖, 那除了对操作系统版本有依赖之外呢,还需要满足安装时啊,与系统某些软件包的依赖关系。比如说我们要安装一个 a 软件,但是呢这个 a 软件呢,它需要这个系统有 b 和 c 软件的支持,所以这个时候我们要安装 a 软件,就必须呢先安装 b 软件和 c 软件,然后才能安装这个 a 软件,那这就是安装的依赖关系啊。 所以我们看到 rpm 包呢,安装虽然有优势,但是缺点也不少啊,那么它的主要一个缺点就是有相互这种软件依赖的关系,对吧?这种依赖关系呢,我觉得其实很讨厌, 因为有时候我们安装一个软件 a, 他可能软件啊,他会这个依赖软件 b 和 c, 当我们安装软件 c 的时候呢,他可能会软件啊,会这个 c 会在这个依赖于 d, 我们在安装 d 的时候,他可能会再去安装这个啊,那么他可能再会依赖这个软件 e, 对吧?就这样无 穷尽的依赖下去,那针对这种情况,我们只能是先把 e 装好,再把 d 装好,然后再装 c, 对吧?然后再啊把 b 也装好,那么最后才能装 a, 就说把每层级的依赖关系都解决了,我们才能安装最终的这个软件, 这也是 r p m 安装啊最大的一个缺点。那除此之外呢,这个 r p m 软件包啊,它不一定有最新的版本啊,因为这个软件包呢,一般啊,都是有一些啊,商业的这个发行软件公司去制作出来的,比如说红帽,对吧? 那么如果说一个比较新的软件版本刚刚发布,那可能我们下载不到这个软件,它最新的 rpm 包啊,因为这 这个嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯,另一个厂商还没有做出来呢,对吧?所以这种情况下,如果呢,你要想使用 r p m 这个包的形式去安装软件的最新版本,那可能找不着对应的这个 r p m 软件包啊,这也是它的一个缺点, 那我们来看一下这个优点和缺点去做对比啊,其实啊,可以发现 rpm 包这种安装方式啊,它的缺点是大于优点的, 所以呢,这也啊,那么这也是我不建议大家通过 r p m 包去安装软件的一个啊,一个原因。 那么接下来给大家啊,就解读一下这个 r p 目文件的格式,我们给大家举一个例子啊,比如 说有这么一个软件包啊,是 open s s h 的这么一个软件包,它的后缀是点 r p m 结尾的, 那么这个里边它的标识我们要弄清楚,比如第一部分 openss, 它表示啊,这是一个软件包,对吧?是 openssh 对应的一个 rpm 软件包, 然后七点四 p 一,这个表示这个软件的一个版本号啊,后面这个二一呢,他表示软件这个更新发行的次数 啊,就是一个软件,他可能会不停的更新,如果有漏洞,有新功能都会去更新,对吧?这是二十一就表明这个软件更新发行的次数。最后这个啊, e l 七这个非常重要,那么他表示呢,这个软 软件它适用的操作系统平台,那么这个 e l 七呢,它表示啊,是基于红帽或者红帽系,比如说森特 s 等等,对吧? 是这些平台啊,那么 e l 七的话,那就是红帽七或者森特 s 七版本,那如果你是红帽八或者森特 s 八,那对不起,这个包是不能用的啊, e l 七就代表了具体的一个大版本, 那这里边啊,比如说红帽七,那么这红帽七里边他有七点一到七点九,对吧?其实哪个小版本无所谓,只要你是红帽七版本啊,他都是可以的啊,他只区分这个大版本,不区分小版本, 那这是它适用的一个操作系统平台,那接下来有个 x 八六杠六四, 对吧?这个表示这个软件包它适应的硬件平台啊,就这个软件包它在做编译的时候,是在什么环境下编译的,那后面 x 八六六十四,那就代表啊,是我们普通的 pc server 的一个平台,就是六十四位的一个处理器平台啊, 然后点 r p m 啊,那就是这个 r p m 软件包的一个标识,你看到点 r p m, 那么对应的呢?它就是这个 r p m 文件的软件包 啊,这个就是 rpn 文件名称的啊,一个解读,别看一个文件名称里面包含了很多信息的, 那这块有个重点啊,特别是这个啊,就这个 e l 七,我重点指出出来就是我们啊,在安装软件包,在找软件包的时候,比如说你是红帽八, 那你就找这个 e l 八啊,那如果你是红帽七,那你就找这个 e l 七,这个 e l 七代表的是红帽七霍森特 s 七啊,跨版本是不行的啊,比如说你在红帽八或红帽九下,你用红帽七的这个软件包,那是不行的啊。 好吧,对这个 r p 文件的格式呢?我们做完介绍之后,那接下来给大家做一个通 r p m 包去安装软件的一个例子吧,让大家看一下它到底的一个依赖关系是什么样子的。


lenax 是如何安装软件的?二不同的发行版本会有相应的整理好的软件包,例如 red hat 的 rpm 软件包,以及呆变系列的代步软件包,关注我吧。