rpm构建流程学习总结

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了rpm构建流程学习总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

rpm构建流程

学习链接: b站马哥: https://www.bilibili.COM/video/BV1ai4y1N7gp redhat: https://access.redhat.com/documentation/zh-cn/red_hat_Enterprise_linux/8/htML/packaging_and_distributing_Software/index

制作过程

  1. introduction section
  2. PRep section |解压,宏, %prep %SETUP
  3. build section %build
  4. install section %install
  5. clean section %clean rm -rf %{buildroot}
  6. 脚本段 在install之后 %pre 安装前 %post 安装后 %preun 卸载前 %postun 卸载后
  7. file section %file

主要目录【标准化的工作空间】

  • SOURCES |码包,Unzip to BUILD
  • SPEC | .spec文件
  • BUILD |解压到该目录
  • BUILDROOT |安装软件后,以该目录为根生成的路径 files[] 把buildroot里有用的部分拿出来,放到rpm里 最后clean会清除 buildroot、build
  • RPMS
  • SRPMS

BuildRequires 制作软件包需要的依赖 gcc binutils Requires 安装软件包需要的依赖

Tips:

  1. release 指第几次制作,跟version无关

  2. 制作过程: rpm build:首先解压SOURCE里的文件到BUILD,在BUILD里生成一个子目录,编译过程会跳到子目录里去执行./config/make,编译之后安装,不是安装到系统上,而是安装到一个临时目录中去,install安装到buildroot目录下,把buildroot目录当作操作系统目录。下一步:file section ,rpm 命令根据file section中列出的文件,把BUILD目录中的那些file文件压缩成rpm包。打包完成后执行clean过程,清除BUILDROOT和BUILD目录。 BUILDROOT里除了debug的文件,其他的都必须做进rpm包

  3. %prep 解压到BUILD,cd进去,设置一些环境变量,设置一些宏,为编译做准备 %setup 像是prep的扩展 -q 静默模式 不显示过程

  4. %build ./configure --etcdir="%{_Sysconfdir}" --mandir="%{_mandir}" --il8n="0" --scrip="0" %{_make} %{?_smp_mflags} ==>对称多处理器上,可以加快编译过程

  5. %install %{__rm} -rf %{buildroot} 删除之前安装的,没有也不影响 %{__make} install DESTDIR="%{buildroot}" %find_lang %{name} 在buildroot目录下会生成一堆 6。 %clean %{__rm} -rf %{buildroot} 清理此前制作过程中的buildroot

  6. %file %defattr(-,root,root,-) 权限 %doc 文档 %config %{_sysconfigdir}/Axelrc 配置文件 /usr/local/bin/axel %dir 目录 %conf(noraplace) 指的是新的配置文件是否替换,如果原来的旧的配置没有修改,会替换,修改了,不会替换,会把原来的改成比如xxx.conf.orig,再去生成新的。

    • usr/src下的debug是不用包含进来的
    • %attr(0755, root, root) /etc/rc.d/inIT.d/nginx %attr表示单个属性,如果不这样写,会继承默认属性
  7. rpmbuild --showrc|grep _tmppath

rpmdev-setuptree命令相当于 mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
#家目录 vi ~/.rpmmacros
%_topdir %(echo `pwd`)/rpmbuild
%{?_smp_flag}  ?:有的话就用,没有的话就不用

rpm build

  • -ba all ==> bb + bs

  • -bb 表示制作二进制格式的rpm包

  • -bc %build

  • -bp %prep

  • -bi %install

  • -bl check 有多余的文件或者文件没有被放到rpm包里都会error。==> Check the listing of filee for the RPM and generate errors if the buildroot is missing any of the file to be installed.

  • -bs 表示制作源码格式的rpm包 src.rpm


rpm常用命令

  • netstat -tnlp 查看端口
  • rpm -ivh xxx.rpm 安装
  • rpm -qi xxx.rpm 查看rpm包信息
  • rpm -e xxx.rpm 卸载
  • rpm -Uvh xxx.rpm

脚本宝典总结

以上是脚本宝典为你收集整理的rpm构建流程学习总结全部内容,希望文章能够帮你解决rpm构建流程学习总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。