博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
精通RPM之认识篇(转)
阅读量:2450 次
发布时间:2019-05-10

本文共 1735 字,大约阅读时间需要 5 分钟。

精通RPM之认识篇(转)[@more@]

RPM是RedHat Package Manager的缩写,意即RedHat(红帽子)软件包管理器。(RedHat是美国有名的LINUX公司,网址:http://www.redhat.com)

对于一个操作系统来说,不能没有一个象样的软件包管理器。没有软件包管理器的帮助,操作系统发行版的制作者将面临这样或那样的难题,用户安装,升级,卸载与发布软件包也将是非常麻烦的,系统管理也容易出现问题。相反,有了专门的软件包管理器,软件制作者易于制作和发行自己的软件了,而对于普通用户来说,软件包的安装维护将变得非常方便了。这种 情况,对于一个操作系统的推广也会起到良好的促进作用。RPM就是随着RedHat LINUX发行版的流行而迅速推广开来的,二者的表现相得易彰。

RPM先行者

最初的时候,LINUX系统的发布并没有使用什么软件包管理器。随着时间的推移,RedHatmLINUX开发者意识到开发一个软件包管理器的重要性,于是开发出RPP这个管理器。

RPP相对于RPM虽然是简单的,但已有了几项重要的功能,如打一个简单的命令就可以实现软件的安装与卸载,包中可含有安装前后与卸载前后执行的脚本程序,还可以随时校验已安装的软件包,查询功能也很强大。

RPP的缺点在于,RPP打包是基于特别修改过的(针对RPP)源代码的,因而这些源代码并非是纯正的源代码。由于这个原因,当软件包开发者想建立大量不同的软件包时,将面临众多技术面的问题。RPP也不能保证当前的执行程序是基于打包过的源程序的,并且RPP不支持多处理器体系结构。

与RPP同时开发的,还有PMS(即package management system,软件包管理系统),这是另一群LINUX爱好者开发的。PMS采用的是纯正的源代码,它允许软件包制作者很快释出一个软件的最新版本,并且可以立刻看到该软件的变化。RPM采用了这一明智的做法,这也是PMS对RPM的一项重大贡献。PMS的缺点是查询功能不强,没有包校验功能,不支持多体系结构,数据库设计也不好。

在RPP和PMS之后,Rik Faith和Doug Hoffman开发了PM管理器。该管理器整合了RPP与PMS的许多功能,但是数据库设计还不强,依然不支持多体系结构。

RPM开发

此后,Marc Ewing和Erik Troan两人在吸取RPP,PMS,PM设计经验的基础上,用PERL语开发了RPM软件包管理器,即RPM1.0版。

其成功之处在于:

可自动处理配置文件;

可重建大量的软件包;

易于使用。

其不足之处在于:

程序大,运行速度慢,因为它是用PERL这种解释型的语言写的;

数据库功能太弱;

不支持多体系结构;

包裹文件格式不可扩展。

针对RPM1.0的弱点,RPM的开发者再度努力,将RPM升级到2.0,3.0和现在的4.0版本。他们主要做了以下几点:

用C重写了程序,这极大地提高了RPM的运行速度。

RPM数据库格式进行了再设计,重点从性能和可靠性两方面提高。

软件包格式也进行了再设计,方便以后的扩展和升级。

建立了rpmlib(RPM函数库),方便其它程序调用RPM。

增加多体系支持,方便RPM跨平台使用(不论是x86体系,还是sparc等其它体系)。

网上的RPM

RPM官方网址为http://www.rpm.org,该网站刊登有RPM的最新消息,有关于RPM的说明文档,还可下载最新的RPM软件源代码和执行代码,不妨常去看看。

小结

如今的RPM使得软件包安装与卸载更容易,校验已安装的软件包是否正常也容易,将程序(源程序或执行程序)打包也简单了,跨平台的支持,遵循GPL版权发布源代码,使得RPM得到更广泛的应用与推广。RPM正在风靡LINUX与非LINUX世界。如果你想了解甚至精通RPM,那么请跟我来吧

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-939081/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-939081/

你可能感兴趣的文章
v视差 u视差_视差SEO难题
查看>>
pygments_在PHP和WordPress上的Pygments
查看>>
js .has_使用has.js进行JavaScript功能检测
查看>>
javascript 编码_带类JavaScript编码
查看>>
dojo ajax 传参_使用Dojo动画AJAX记录删除
查看>>
unity 施加力量_在空块元素上施加宽度
查看>>
内核标头和开发包_PHP标头和流行的Mime类型
查看>>
preferreds-color-scheme:CSS媒体查询
查看>>
git 获取某个分支_获取Git分支在某个日期签出
查看>>
api.ajax和ajax_实施Google AJAX搜索API
查看>>
apache 下载 速度_使用Apache限制下载速度
查看>>
mootools_带有MooStarRating的MooTools星级
查看>>
cfs_quota_Mobile Safari中的QUOTA_EXCEEDED_ERR
查看>>
mootools_使用MooTools的别名功能
查看>>
wordpress页面_强制登录以查看WordPress博客页面
查看>>
wordpress标签分类_在WordPress中更改类别标签
查看>>
mootools_使用MooTools或jQuery的iPhone单击效果
查看>>
shoelace下载_Shoelace.css:基本CSS入门工具包
查看>>
bit.ly 短地址转换_使用PHP创建Bit.ly短URL:API版本3
查看>>
flext_Flext:MooTools自动增长Textrea插件
查看>>