RPM提供了一种标准的软件分发和安装方式。
What Is An RPM Package?
In simple terms, an RPM package is an advanced form of a container for other files. Generally, it includes:
- The program to be installed plus all the necessary files that accompany this program.
- Information about the program and the RPM package itself.
- Information about the program’s dependencies, which means info about what other software needs to be installed, so your program to function correctly in the system.
- Information about potential conflicts between the program and other software that is currently installed in the system.
- Actions that need to be performed when the program is installed/upgraded/removed.
1. 程序本身+程序自带库
2. 程序的介绍性信息、供外接搜索的元信息
3. 程序依赖的包列表,rpm安装的时候会自动检测并安装这些包
4. 记录冲突包。安装时会检测是否已经安装了冲突包。
5. 安装更新删除的具体动作
详情参考oceanbase/rpm/oceanbase.spec
OceanBase打包使用了阿里统一的打包系统,在平台上指定svn的branch、打包平台上需要预删除的包等基本元信息,然后就会在后台自动化打包,并自动发布在内网OceanBase RPM集里面。
这里着重说一下require里面的版本号,lzo = 2.0.6, lzo >=2.0.6 ,这指定了目标机器lzo的版本(必须为2.0.6-xxx或高于该版本)
这里有所有关于RPM的答案:http://rpm5.org/docs/max-rpm.html