具体例子参见《鸟哥私房菜》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包

实际查询rpm包

在CentOS 6.3 64bit上如何从源码生成rpm包?相关推荐

  1. Ubuntu 14.04 64bit上curl-7.37源码包中的sample 源码示例研究

    curl是Linux平台上(本人不考虑其他平台)很好用的一个工具软件,它有命令行,有C接口API,更常见的编程用途是php和python版本.如果在C/C++平台上使用curl,可以直接去官网 htt ...

  2. 在CentOS 6.6 64bit上为vim 7.4安装并配置vim-airline插件

    在CentOS 6.6 64bit上我使用Vundle来管理vim 7.4的所有插件.为了安装vim-airline插件,只需要在 ~/.vimrc 中添加一行 Plugin 'bling/vim-a ...

  3. 在CentOS 6.3 64bit上安装FTP服务器vsftpd 2.2.2

    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用.并且是一个完全免费开放源码的ftp软件 根据业务需要,要求支持ftp和sftp,我需要在Linux上架设一个 ...

  4. 在CentOS 6.6 64bit上基于源码安装全功能的vim 7.4实录

    CentOS 6.6 64bit上默认的vim版本是7.2 minimal,通过下面的命令查看 yum list installed | grep vim 我打算将其卸载并重新安装官网最新版vim 7 ...

  5. 在CentOS 6.6 64bit上安装Python 3.5.0

    python 3在官网的最新版本是3.5.0,下面是我在CentOS 6.6 64bit上的安装过程实操: 1.下载python 3源码 # cd /usr/local/src/ # wget htt ...

  6. CentOS 6.3 64bit上升级系统默认Python 2.6.6到2.7.10版本

    从官网下载python 2.7的当前最新版本源码 wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz tar zxvf Py ...

  7. Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器

    Ubuntu 12.04 64bit或者CentOS 6.3 64bit上搭建OpenRTMFP/Cumulus服务器 2013-12-25 1.从官网下载源码包 cd ~/progrom_devel ...

  8. 在CentOS 6.3 64bit上安装tsar并监控Apache Traffic Server

    Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告工具,如收集服务器的系统信息(cpu,mem等),以及应用数据,收集到的数据存储在服务器磁盘上,可以随时查询历史信息,也可以将数据发送到nag ...

  9. linux源码编译rpm,Linux的RPM和源码包(CentOS)

    Liunx的软件包有源码包和二进制(RPM)包,源码包即是包含全部的源代码,绝大部分是使用c语言开发,其未经过编译,所以安装时要经过一系列编译,将其变成机器语言才能安装.RPM包是事先经过编译,其安装 ...

最新文章

  1. UI设计培训分享:app图标设计要遵循哪些原则
  2. iis服务器文件上传速度慢,windows 2008 R2 上传速度慢
  3. Easyx项目小合集
  4. springboot整合websocket实现群聊
  5. java 响应 请求参数_spring基础----请求与响应的参数(一)
  6. BusinessEtiquette,Communication Skill(外企职场商务礼仪与沟通技巧)
  7. 初学者一些常用的SQL语句(二)
  8. 树莓派VI命令大全(附vim使用异常,卸载重新安装步骤)
  9. 软件测试技术体系-专业术语
  10. 微信支付 发起商家转账API 2022年v3 transfer batches
  11. 如何刷百度搜索下拉框进行营销引流?
  12. 【Houdini MAYA】从MAYA到Houdini入门学习笔记(三)
  13. 客服QQ,打开临时会话框(不用加为好友)
  14. WordPress快速增加百度收录,加快网站内容抓取
  15. Linux程序员语录,Linux和Git之父 Linus Torvalds 的那些经典语录
  16. Android Studio之GsonFormat用法
  17. mysql floor 不准确_MYSQL的floor出现报错如何解决
  18. 手把手带你 arduino 开发:基于ESP32S 的第一个应用-红外测温枪(带引脚图)
  19. 18650锂电池和常规锂电池有什么区别
  20. 从等待顾客注册会员到寻找潜在会员,会员管理系统是如何治愈“守株待兔”

热门文章

  1. Markdown here 离线下载安装
  2. 关于打开新链接,用当前页还是用新页面?
  3. 十五天精通WCF——第六天 你必须要了解的3种通信模式
  4. HDOJ 1060 Leftmost Digit
  5. Android学习 —— 数据的存储与访问方式一: 文件存取
  6. sql server 2008学习10 存储过程
  7. 设计模式学习笔记-中介模式
  8. linux access函数判断文件存取权限
  9. poj2965-poj2965-The Pilots Brothers' refrigerator
  10. 微软图表控件MsChart