rpmbuild -bb

源码编译
166
linux
linux 举报
2023-11-09

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


linux软件包分为两大类:


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


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


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

yum install rpm-build -y


基本格式: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包。

 

倒序看帖 只看楼主
热点关注
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
服务停止、启动、重启一体化脚本,万能语言启动脚本
shell参数判断
在后台用进程名运行bash脚本
shell脚本每行后面多了一个^M的原因和解决办法
定时检测服务,检测down掉后重启。系统检测到DMSERVER运行正常
挂载磁盘的时候遇到一个问题,挂载完磁盘之后重启服务器挂载的盘丢失了.
中标麒麟系统Your trial is EXPIRED and no VALID licens
termux 开启ssh并用用户名和密码登陆
组成共享库的目标文件和一般的目标文件有所不同,在编译时要加-fPIC和-share选项,例如:
gcc指定链接库路径后还是找不到库文件
./configure -build,-host,-target设置
shell脚本每行后面多了一个^M的原因和解决办法
shell 中 if [ “x${var}“ == “x“ ] 中 x的作用
查看linux机器是32位还是64位的方法