本文介绍的是编译好使用的库以后,打包的过程,不包含编译部分
基础信息
- rpm环境安装好后默认的打包路径为/root/rpmbuild
- SPECS是写spec文件的地方
- RPMS是生成的rpm包存储位置
- BUIDROOT临时存储中间文件的地方
spec介绍
Name:为rpm的名字
Version:为rpm包版本号
%prep 打包之前做的操作
%pre 安装rpm包前的操作
%%%% 此处为真正的安装过程,会将%prep中做好的文件目录拷贝到对应的地方
%post 安装rpm包后的操作
%preun 卸载前执行的操作,一般为停服务等操作
%%%% 此处为真正的卸载流程,对应安装流程
%postun 卸载后执行的操作,一般解决卸载残留问题
spec升级包
当升级时,完整的执行流程如下:
1、执行新包spec文件中 %pre 段.
2、安装新包的相关依赖包.
3、执行新包spec文件中的 %post 段.
4、执行旧包spec文件中的 %preun 段.
5、删除新包中不需要的旧文件。
6、执行旧包spec文件中的 %postun 段.
区分升级和安装
- 安装阶段:%pre和%post段
此时$1的内容为1和2
数值为1时,表示新安装一个rpm包。
数值为2时,表示升级一个已经存在的包。 - 卸载阶段:%preun和%postun段
此时$1的内容为0和1
数值为0时,表示删除一个包。
数值为1时,表示更新一个包。
打包命令
rpmbuild --target x86_64 /mips64el/aarch64/sw_64 --bb x64.spec