rpmbuild中文手册:rpmbuild中文手册

一、RPM包的分类

RPM有五种基本的操作功能:安装、卸载、升级、查询和验证。

linux软件包分为两大类:

(1)二进制类包,包括rpm安装包(一般分为i386和x86等几种)

(2)源码类包,源码包和开发包应该归位此类(.src.rpm)。

有时候为了方便源码包的安装,和我们自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,当有了源码包就可以直接编译得到二进制安装包和其他任意包。spec file是制作rpm包最核心的部分,rpm包的制作就是根据spec file来实现的。在制作自定义rpm包的时候最好不要使用管理员进行,因为管理员权限过大,如果一个命令写错了,结果可能是灾难性的,而制件一个rpm 包普通用户完全可以实现。

二、PRM打包:

1、安装rpm-build软件包

RPM打包使用的是rpmbuild命令,这个命令来自rpm-build软件包,这个是必装的。

yum install rpm-build -y   #安装rpm-build软件,以提供rpmbuild命令

当执行rpmbuild命令失败之后,会在当前目录下生成一个rpmbuild目录,该目录中包含下面的6个目录

  1. BUILD:源代码解压以后放的位置,只需提供BUILD目录,具体里面放什么,不用我们管,所以真正的制作车间是BUILD目录。
  2. BUILDROOT:假根,使用install临时安装到这个目录,把这个目录当作根来用的,所以在这个目录下的目录文件,才是真正的目录文件。当打包完成后,在清理阶段,这个目录将被删除。
  3. RPMS:制作完成后的rpm包存放目录,为特定平台指定子目录(i386,i686,ppc)。
  4. SOURCES:收集的源文件,源材料,补丁文件等存放位置。
  5. SPECS:存放spec文件,作为制作rpm包的领岗文件,文件以.spec结尾。
  6. SRPMS:src格式的rpm包位置 ,既然是src格式的包,就没有平台的概念了。

2打包命令:

基本格式:rpmbuild [options] [spec文档|tarball包(或者压缩包—以.gz或.xz或.bz2结尾的)|源码包]
options有下面的几种选择:
1.-bp #只执行spec的%pre段(解开源码包并打补丁,即只做准备)
2.-bc #执行spec的%pre和%build 段(准备并编译)
3.-bi #执行spec中%pre,%build与%install(准备,编译并安装)
4.-bl #检查spec中的%file段(查看文件是否齐全)
5.-ba #建立源码与二进制包(常用):即编译后做成*.rpm和*.src.rpm
6.-bb #只建立二进制包(常用):即编译后做成*.rpm
7.-bs #只建立源码包:即只做成*.src.rpm
-tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。

3常用命令:

rpmbuild -bb XXX.spec 

Linux下rpmbuild命令的使用相关推荐

  1. linux yum安装 rpmbuild,Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm

    rpmbuild是用来指示转换的源码不定编译成二进制文件的包. 二.Redhat/Centos下rpmbuild命令目录 /usr/src/redhat --BUILD #编译之前,如解压包后存放的路 ...

  2. Linux下addr2line命令用法

    Linux下addr2line命令用于将程序指令地址转换为所对应的函数名.以及函数所在的源文件名和行号.当含有调试信息(-g)的执行程序出现crash时(core dumped),可使用addr2li ...

  3. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息

    java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...

  4. Linux下find命令详情

    Linux下find命令在目录结构中搜索文件,并执行指定的操作. linux下find命令提供了相当多的查找条件,功能很强大,所以它的选项也很多,其中有许多的选项都值得我们深入的了解学习. 命令格式: ...

  5. Linux下date命令的修改时间问题

    Linux下date命令的修改时间问题 最近好想学linux,刚好公司也有一台旧的电脑,可是有次公司突然停电了,我用date命令时出问题了,电脑的时间不对了,我后来到网上搜索了好久,也没找到同时修改时 ...

  6. Linux下find命令的使用(命令+案例)

    一.find的作用? •递归式查找 •根据预设的条件递归查找对应的文件 二.find使用方法 – find [目录] [条件1]- -type 类型(f文本文件.d目录.l快捷方式) 代码如下: &l ...

  7. Linux下解决命令未找到的问题

    Linux下解决命令未找到的问题 参考文章: (1)Linux下解决命令未找到的问题 (2)https://www.cnblogs.com/mnote/p/8832806.html 备忘一下.

  8. linux下find命令用法

    一.Linux中find常见用法示例 ·find    path    -option    [    -print ]    [ -exec    -ok    command ]    {} /; ...

  9. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

最新文章

  1. OpenWebSpider 安装使用
  2. C语言基础排序算法-冒泡排序
  3. linux下无root权限使用yum安装的方法
  4. PaddlePaddle飞浆开启人工智能新时代
  5. 打造轻量级可视化数据爬取工具-菩提
  6. access对比数据_数据仓库系列之数据质量管理
  7. .netcore excel导出回车换行_必须掌握的回车键Enter应用技巧,100%干货
  8. python勿使用mutable值作为默认参数
  9. Socket简单介绍(通过NSStream)
  10. C#使用CurrentUICulture切换语言
  11. 解决安装python当中的.whl文件结尾的第三方库
  12. 3张经典人事管理模板,HR都直呼很好用
  13. oracle bfile备份,整理的一些oracle备份笔记 (zt)
  14. python输出文本文件_Python进阶02 文本文件的输入输出
  15. MEncoder的基础用法—6.1. 选择编解码器及容器格式
  16. MATLAB 【学习视频推荐】——新手必备
  17. 八年级计算机模拟试题,八年级计算机试卷(含答案).doc
  18. UI自动化测试之元素定位
  19. netty和dubbo的hashwheel时间轮定时器原理和源码解析
  20. Photoshop裁剪工具隐藏技巧

热门文章

  1. 删除MAC启动台上无效的图标
  2. Centos /Linux环境下利用Docker 安装mysql5.7镜像(含离线安装),启动mysql镜像并初始化数据库
  3. 求一元二次方程ax2+bx+c=0的根
  4. linux的matplotlib中文异常,Linux中matplotlib 中文显示问题解决
  5. Android网络库之Okio源码分析
  6. 批处理替换修改文件名
  7. 如何解决airpods无法连接电脑的难题
  8. 频率域滤波之带阻滤波器matlab代码
  9. Unity引擎开发-无人机模拟飞行实现
  10. mac自动化appium mac2 drive使用小记