在CentOS 6.3 64bit上如何从源码生成rpm包?
来源:互联网 发布:硅藻泥环保 知乎 编辑:程序博客网 时间:2024/06/15 04:20
具体例子参见《鸟哥私房菜》23.3.5中的例子,非常详细和经典!
下面是在CentOS 6.6 64bit上面的实操记录
首先查询本机是否有安装rpmbuild命令?
whereis rpmbuild
在安装完成后,直接运行
man rpmbuild
来查询即可
显示当前配置情况
rpmbuild --showrc
如果事先没有安装rpmbuild,以root用户安装rpmbuild命令
yum -y install rpm-build
系统默认的rpm构建目录是/root/rpmbuild,但是起初系统中并没有这样的目录结构,我们可以在对一个.spec文件直接执行下面的命令来自动生成这个结构
rpmbuild -ba ats.spec
编译前的目录结构是这样的
从鸟哥网址下载如下源码包
wget 'http://linux.vbird.org/linux_basic/0520source/main.tgz'
tar zxvf main.tgz
编写Makefile文件,略作修改
另外得到.o文件:
gcc -c main.c
gcc -c hehe.c
gcc -c sin_value.c
gcc -c cos_value.c
再次打包
tar -zcvf main-0.1.tar.gz main-0.1
将源码包复制到rpmbuild默认源码目录下面
cp main.0.1.tar.gz /root/rpmbuild/SOURCES
在/root/rpmbuild/SPECS下面编写针对该项目的SPEC文件,
vim main.spec
保存后,在当前目录下面执行
rpmbuild -ba main.spec
(从中易见,编译过程中会生成以临时目录RPM_INSTALL_ROOT,写入rpm后会删除它,所以需要在Makefile的install中添加安装文件的这个前缀)
成功编译后的结果是
下面开始测试打包的结果
安装rpm包
实际查询rpm包
0 0
- 在CentOS 6.3 64bit上如何从源码生成rpm包?
- 如何将源码编译生成RPM包
- 如何在CentOS/RedHat下实现根据源码包创建rpm包
- 在CentOS 6.3/6.6 64bit上源码安装cmake 3.4.0
- 在CentOS 5.5上安装Opennebula [rpm包安装]
- 在linux 上安装oracle database 对 32bit rpm 和64bit rpm的要求
- 在CentOS 6.3 64bit上安装Nginx 1.8.0
- 在CentOS 6.3 64bit上安装redis 3.0.3
- 在CentOS 6.3 64bit上安装libunwind库
- 在CentOS 6.6 64bit上基于源码安装全功能的vim 7.4实录
- 实例说明:源码包生成RPM格式
- 实例说明:源码包生成RPM格式
- 在 CentOS 6.0 64bit 上搭建Sphinx环境
- 在CentOS 6.6 64bit上安装Python 3.5.0
- 在CentOS 6.6 64bit上安装截图软件shutter
- Centos下用tar源码包制作rpm包
- 在Linux(CentOS)上打包应用程序RPM
- 在linux(centos)上从源码安装tensorflow
- Android开发MVC思想的应用
- Android线性内存分配器LinearAlloc分析
- js判断对象的方法
- Android 的大牛的博客
- 结构体作为对象的属性
- 在CentOS 6.3 64bit上如何从源码生成rpm包?
- linux jexus 服务 设置开机启动
- 技术博客的前言
- 报错: Rendering SLS 'base:minions.install' failed: Jinja variable 'list' object has no e
- HtmlParser【ed2k】
- leetcode刷题日记——Palindrome Linked List
- Android 5.x SEAndroid内核节点的读写权限
- leetcode:203 Remove Linked List Elements-每日编程第四十题
- LaTeX软件的安装和使用