RPM包的管理
1.软件包管理器
软件包管理器在Linux各发行版中占据重要地位,为用户提供了便利。软件包管理器提供给用户已经编译好的二进制软件包,它免去了通过源码包安装软件时遇到的各种问题,比如检测操作系统安装环境、编译以及设置参数等,这样使得用户在安装、升级和卸载软件包时变得非常简单。
RPM是Linux界两大主流的软件包管理器之一,RPM全称Red Hat Package Manager,它是Red Hat公司所开发的软件包管理器,它在Redhat,Fedora,CentOS和SUSE等Linux发行版中被广泛使用。另一款软件包管理器为Debian公司开发的dpkg,它在Debian,Ubuntu和Linux Mint等发行版中被使用。
1.1 RPM和SRPM
RPM软件包最大的特点是将你要安装的软件提前编译好,并且打包成为符合RPM标准的软件安装包。在安装时,RPM管理器会将该安装包中的二进制文件释放到配置文件所指定的路径中。
这种方法对用户来说简单方便,但是同时也缺少一定的灵活性。因为RPM包中的数据是已经编译完成的二进制文件,因此安装该软件包的计算机环境必须与编译该软件包时所在计算机环境相同。
SRPM可以解决上述问题,它的全称是Source RPM,也就是说这种RPM包中包含有源代码。与普通的源码包不同的是,SRPM包中除了包含源代码,还包含该软件所需要的依赖性软件说明。在通过SRPM安装软件时,它会自动检查该软件所依赖的软件是否已经安装。
1.2 YUM在线升级机制
在安装某个RPM包之前,必须确保该RPM包所依赖的软件包都已经安装。否则,强制安装该RPM包会导致该软件不能正常使用。yum在线升级机制将解决软件包之间的依赖问题,它在安装指定软件包时,将该软件包的所有依赖软件同时安装。
使用yum机制的Linux发行版将发布好的所有软件放在yum服务器中,并且将所有软件之间的依赖关系记录下来。当客户端发送了安装软件的需求时,客户端主机将yum服务器上关于该软件的依赖清单与本地机中的软件对比,依次安装缺失的依赖软件。通过这话总方法可以轻松的解决软件包的依赖问题。
yum是redhat系列发行版中的在线升级机制,apt-get是Debian系列发行版中的在线升级机制。
2.RPM打包方法
RPM包的通用制作过程为:下载源码包,再编写spec文件,最后通过rpmbuild构建RPM包。其中,打包最主要的工作是对spec文件的编写,该文件用于对即将构建的软件包进行描述,它包含了软件包的诸多信息,如软件包的名字、版本、类别、简要说明、创建时要执行的命令、安装时要执行的命令等。
对于spec文件的来源,可按照以下的优先级进行选取:
1.首先,如果源码包上有spec文件,则使用该文件。
2.否则,如果社区上有同样的包,但是版本不符合,可以针对具体情况对这些spec文件进行修改。
3.否则,自己编写spec文件。
建议继续学习:
- 如何解压rpm文件 (阅读:4008)
- rpm删除出现”error: %preun( ) scriptlet failed, exit status 1解决方法 (阅读:3748)
- [Linux]编译一个 RHEL 定制的内核 rpm 包 (阅读:2821)
- Redhat 使用Yum安装、更新rpm包 (阅读:2563)
- 给 perl 的模块打包成rpm (阅读:2459)
- linux下源码包制作成rpm包教程 (阅读:2186)
- 快速创建pear/pecl的rpm (阅读:2123)
- RPM 与 DEB 的兼容 (阅读:1955)
- rpm Build 相关知识 (阅读:1854)
- [坑]打rpm包时,注意%post和%postun的执行顺序 (阅读:861)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:edsionte 来源: edsionte's Linuxworld|新手区
- 标签: RPM SRPM
- 发布时间:2013-06-03 22:57:37
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [52] android 开发入门
- [52] 如何拿下简短的域名
- [51] 图书馆的世界纪录
- [49] Go Reflect 性能
- [49] Oracle MTS模式下 进程地址与会话信
- [47] 【社会化设计】自我(self)部分――欢迎区
- [46] 读书笔记-壹百度:百度十年千倍的29条法则
- [36] 程序员技术练级攻略
- [29] 视觉调整-设计师 vs. 逻辑