• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >windows > 一步步制作RPM包

一步步制作RPM包

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含centos 制作rpm包,怎么制作rpm包,rpm包制作,制作nginx rpm包,linux rpm包制作等服务器相关知识,网友希望可以进行参考

本文根据马哥教育视频http://mageedu.blog.51cto.com/4265610/919986 总结而来,如果想仔细学习请看该视频。

一.RPM制作步骤

我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根据我们的需求制作RPM安装包吧。先来说说基本布骤:

1.Planning what you want             计划做什么rpm包。软件的?库的?

2.Gathering the software to package  收集原材料,即收集源码包

3.Patch the software as need         如果需要打补丁,收集补丁文件。此布骤不是必须

4.Outling any dependenies      确定依赖关系包

------------------  上述动作可由我们手动编译一次软件来确定  -------------------

5.Building RPMs                      开始动手制作RPM包

5.1 Set up the directory stucture 设定好目录结构,我们在这些目录中制作我们的RPM包,我们需要下列目录

BUILD 源代码解压后的存放目录

RPMS    制作完成后的RPM包存放目录,里面有与平台相关的子目录

SOURCES 收集的源材料,补丁的存放位置

SPECS   SPEC文件存放目录

SRMPS   存放SRMPS生成的目录

5.2 Place the Sources in the right directory   把源材料放到正确的位置

5.3 Create a spec file that tell rpmbuild command what to do 创建spec文件,这是纲领文件,rpmbuild命令根据spec文件来制作合适的rpm包

5.4 Build the source and binary RPMS 制作src或二进制rpm包

6.Test RPMS 测试制作的PRM包

7.Add signature for RPM  为RPM包签名

二.RPM包制作实例

我还是用连贯的话为大家叙述一遍吧,我们首先确实我们要为什么做rpm包,通常我们是为一些软件,比如httpd,nginx等,然后去收集这些软件包的源代码,如果有需要的话也收集这些补丁文件,手动编译安装一下这个软件(当然如果是不需要编译的就不用演练了),确定依赖的软件包,并记录下来,下面开始准备制作tengine的PRM包吧:

1.建立一个普通用户,有普通用户来制作rpm,用root的可能会因为代码问题导致毁灭的后果

  1. useradd ibuler 
  2. su - ibuler 

2.确定我们在哪个目录下制作RPM,通常这个目录我们topdir,这个需要在宏配置文件中指定,这个配置文件称为macrofiles,它们通常为 /usr/lib/rpm/macros:/usr/lib/rpm/macros.*:~/.rpmmacros,这个在rhel 5.8中可以通过rpmbuild --showrc | grep macrofiles  查看,6.3的我使用这个找不到,但使用是一样的。你可以通过rpmbuild --showrc | grep topdir 查看你系统默认的工作车间 

  1. rpmbuild --showrc | grep topdir 
  2.  
  3. -14: _builddir  %{_topdir}/BUILD 
  4. -14: _buildrootdir  %{_topdir}/BUILDROOT 
  5. -14: _rpmdir    %{_topdir}/RPMS 
  6. -14: _sourcedir %{_topdir}/SOURCES 
  7. -14: _specdir   %{_topdir}/SPECS 
  8. -14: _srcrpmdir %{_topdir}/SRPMS 
  9. -14: _topdir    %{getenv:HOME}/rpmbuild 

我们还是自定义工作目录(或车间)吧

  1. vi ~/.rpmmacros 
  2. %_topdir        /home/ibuler/rpmbuild    ##目录可以自定义 
  3.  
  4. mkdir ~/rpmbuild  

3.在topdir下建立需要的目录

  1. cd ~/rpmbuild  
  2. mkdir -pv {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} 

4.把收集的源码放到SOURCES下

  1. cp /tmp/tengine-1.4.2.tar.gz SOURCES  ##事先放好的

5.在SPECS下建立重要的spec文件

  1. cd SPECS 
  2. vi tengine.spec          ##内容见后讲解,rhel6.3会自动生成模板 

6.用rpmbuild命令制作rpm包,rpmbuild命令会根据spec文件来生成rpm包 

  1. rpmbuild  
  2. -ba 既生成src.rpm又生成二进制rpm 
  3. -bs 只生成src的rpm 
  4. -bb 只生二进制的rpm 
  5. -bp 执行到pre 
  6. -bc 执行到 build段 
  7. -bi 执行install段 
  8. -bl 检测有文件没包含 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 一步步制作RPM包

相关文章

  • IIS 不能匿名访问需要输入用户名密码
  • 详解Windows切至Linux的7大障碍
  • Serv-U服务器安装配置图解教程(1/2)
  • 在CentOS 5上配置NFS服务器
  • Win7的telnet服务怎么打开,Windows7如何用Telnet
  • 浅淡系统页面文件和虚拟内存的关系
  • xcopy本地文件备份与复制到远程服务器
  • 禁止Windows Server 2008 R2密码过期提示
  • 自定义显示器横竖屏切换顺序技巧
  • SVN 更新时出错:不能打开新文件 svn-base 系统找不到指定的文件

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Windows 2003中Apache内存性能优化
    • WEB服务器的跨域攻击方法介绍
    • 搭建基于Corosync+DRBD的高可用MySQL集群
    • 国产服务器的喜与忧
    • Apache HTTP Server搭建虚拟主机
    • HTTP 500 内部服务器错误的解决
    • Mysql主从复制讲解 从官方手册说起
    • func统一网络控制器安装配置
    • 远程桌面不显示背景壁纸图片的解决方法
    • 配置和工具提升Windows 2003系统安全

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有