Linux的RPM包管理
Time:2017/03/05

我们都知道,Windows的程序无法直接在Linux中运行,Windows中大量的木马和病毒也无法被Linux识别,这样加强了Linux的安全性,但所有的软件包都必须针对Linux再做单独的开发。

软件包分类

1、源码包 (把源代码直接开放的包)

脚本安装包(源码包写一个安装界面,不需要手动安装)

2、二进制包(RPM包、系统默认包)

源码包的优点

1.开源,如果有足够的能力,可以修改源代码

2.可以自由选择所需的功能

3.软件是编译安装,所以更加适合自己的系统,更加的稳定也效率更高

4.卸载方便

源码包的缺点

1.安装步骤较多,尤其在安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误

2.编译过程时间过长,安装比二进制安装时间长

3.因为是编译安装,安装过程中一旦报错新手很难解决。

二进制包的优点

1.包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载

2.安装速度比源码包安装快的多

二进制包的缺点

1.经过编译,不再可以看到源代码

2.功能选择不如源码包灵活

3.依赖性(当安装一个软件包须先安装另一个软件包)

RPM:红帽子包管理器(RedHat Package Manager)

Rpm包管理方法

rpm命令管理

yum在线管理

Rpm包命名规则

所有的rpm包都在光盘里,在Packages目录

httpd-2.2.15-15.el6.x86_64.rpm

httpd   2.2.15   1 5         el6.       x86_64.       rpm

软件包名 软件版本 软件发布的次数 适合的Linux平台 适合的硬件平台  rmp 扩展名

需要注意的是包名和包全名是有区别的

包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意安装路径。(如安装,升级)

包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm中的数据库。(如查询,卸载)

RPM包依赖性

树形依赖:a——b——c

安装时只能先安装c,再安装b,最后安装a,卸载时卸载c,再卸载b,再卸载a

环形依赖:a——b——c——a

用一条命令把abc同时安装

模块依赖:模块依赖查询网站(www.rpmfind.net)


只要是.so.2的都为库依赖包,不是独立的包,是某一个软件包的软件,我们只要把软件所在的包安装上,也就自动安装上了,依赖性就会被解决。把需要的依赖包进行查询,如图中的是libodcinst.so.2,进去查询。

yum在线管理(解决依赖性)

实现准备一个包含所有rpm包的网站,作为我的在线服务器源,我们只要用在线命令去安装软件,不管我去依赖任何哪一个包,都不需要用用户解决,yum会自动去服务器下载需要的包,然后所有的依赖性都自己解决。

是不是非要上网?不是,除了可以拿网络yum源作为服务器,还可以拿本地光盘作为yum源,因为光盘里包含了所有的rpm包。但是是需要收费的。


商启业务咨询: 4008-1234-95 商启售后支持 企业QQ: 技术支持:4008-966-000 联系我们: 销售热线:4008-1234-95
投诉电话:18986277626
备案专线:027-87855718-609
客服专线:400-896-6000
企业QQ:400-896-6000
传真:027-87854289-607