Linux软件安装—软件包管理—rpm命令管理—包名与依赖性

一、RPM包管理-rpm包命令管理

1.rpm包命名规则

apache包举例: httpd-2.2.15-15.el6.centos.l.i686.rpm各部分的含义如下表

内容含义
httpd软件包名
2.2.15软件版本
15软件发布的次数
el6.centos适合的Linux平台
i686适合的硬件平台
rpmrpm包扩展名

备注: 1.软件包名是httpb,软件包全名是 httpd-2.2.15-15.el6.centos.l.i686.rpm。这里为什么要区分那,因为有些命令只能跟包名,有的只能跟保全名。
2. 不管是i686,还是i586普通的微机都可以安装,但如果是X64只能是64位的软件包,安装在64位的CPU中。
3. 在Linux中式没有扩展名这个概念的,文件的命名可以为aa,aa.bb,aa.exe扩展名式随意设置的,但是aa.exe,Linux是不会认为它是执行文件的,只是一个普通文件。但是所有的rpm包都应该写成扩展名.rpm。原因很简单,这个事方便给管理员看的,同时方便用户看。

2.RPM包依赖性

真正应用时,rpm包最大的问题就是依赖性。
(1)树形依赖:a->b->c
      当安装软件包A时,先要安装软件包B,当安装B时,先安装软件包C。这时安装软件包的顺序时CBA。卸载的时候依次卸载为ABC。也有可能a不止依赖b,还有可能依赖d。b也有可能依赖w。
  (2)  环形依赖:a->b->c->a
      这种依赖也不难解决,把软件包a,b,c用一条命令同时装就能解决。
  (3)  模块依赖:模块依赖查询网站:www.rpmfind.net
       什么是模块依赖那? 就是当我们安装一个软件包时,比如安装mysql-connector-adbc-5.15r114的软件包,这个软件包是MySQL和odbc连接的软件包,这时会出现报错,内容是出现一个依赖,这个依赖是libodbc.so.2,这个依赖是库依赖,一般以.so.数字的嗾使库依赖。这种库依赖包不是单独独立的包,是某一个软件包当中的一个软件,只要把这个软件所在的包装上,这个软件会自动安装,依赖就解决了。
    那么问题来了,我们如何找到这个依赖软件属于哪个软件包那???
解决方案: 1. 进入模块依赖查询网站 www.rpmfind.net 只要输入这个以来软件的名字,就会出现对应的软件包,进行手动安装这个软件包就解决了。如果不能上网就只能猜了。
    2.rpm包管理还有一个yum在线管理,这个在线管理就是解决依赖性的,使用方法是:我们事先准备一个包含多有rpm包的网站(www.rpmfind.net),作为我的在线服务器源。只要用在线命令去安装软件,不管是依赖哪一个包,不管是哪种依赖,都不需要用户有解决,这个yum自动到服务器上,把它需要下载的依赖的包下载下来,所有的依赖性会自动解决。yum比手工管理方便的多。如果没有网络可以吗? 不上网是可以的。除了可以拿网络这个yum源作为文件服务器。还可以拿本地yum源,因为光盘里包含了所有的rpm包。所以可以拿光盘作为yum服务器源。有点小问题的是: 如果是Redhat系列,这个东西需要收费,原因是认为yum是Redhat公司的售后服务。用centos的原因是,centos是社区维护,完全免费,包括yum也是免费的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值