
生成 spec 示例文件:
先创建一个要打包的示例:
准备rpm打包脚本: demoTool.spec
开始打包:
问题:
原因分析:可能是linux和windows的换行符不同导致的(windows是\r\n, Linux是\n)。
尝试解决办法: 将spec文本转换成 Unix 格式,方式如下:
再次执行打包脚本:
查看打好的rpm包:
测试rpm包:
以上完成示例。
花费了将近一周的时间,才把rpm打包弄好.不能说已经了然于胸,但至少踩过了很多坑.接下来就顺顺在打包过程中的二三事.刚开始接到任务的时候,一脸懵逼.
作为专业的 JAVA Web 程序员,确定要让我干这么跨界的事情吗?之前自己虽然也安装过其他的rpm包,但我保证,我只是看说明书,跟着一路弄下来的.并且之后对它可是有多远躲多远的.不过考虑到自己的title,我知道那不应该是我关心的事情.那么问题来了,什么是rpm呢?
看到了rpm是什么,我们就来了解一下RPM相关的命令
本来准备直接 rpm -help 让大家看看相关参数的,但是考虑到内容太多,感兴趣的 自行点击 .这里放几个常用的命令.
至此,基本的rpm基础已经了解到了.那么关键的问题来了,如何制作RPM
把制作RPM,道上传闻有多种方式,我自己测过的有两种
注意:无论上述那种都需要 setup.py 及 setup.cfg 文件,描述相关的软件信息.
我自己使用的是第二种rpmbuild,
至此就可以欢快的进行打包了.执行
以上命令运行成功后会在当前用户目录下生成rpmbuild目录,该目录会包含以下子目录
--BUILD #编译之前,如解压包后存放的路径 --BUILDROOT #编译后存放的路径 --RPMS #打包完成后rpm包存放的路径 --SOURCES #源包所放置的路径 --SPECS #spec文档放置的路径 --SPRMS #源码rpm包放置的路径
安装成功后,即可直接执行相关命令了.
rpmbuild
1.修改虚拟机设置,按下图所示 2.挂载镜像文件,如果报错,有可能是因为上面的 已连接 忘记打钩了。1.必须先进入到rpm的包文件中 2.安装httpd包 可以查询出httpd包的全名,根据包全名开始安装 3.安装时发生错误,报错显示有依赖性,所以先安装被依赖的包apr-util-ldap 4.安装apr-util-ldap也发生依赖错误,所以先安装apr-util 5.安装apr-util发生模块依赖错误,在模块依赖查询网站查询此模块所在的软件包, 6.先安装上面模块所在的软件包,成功 7.再回到第5步,来安装apr-util成功 8.apr-util安装成功后,回到第4步,安装apr-util-ldap,成功 9.apr-util-ldap安装成功后,回到第2步,安装httpd,仍发生依赖错误。 10.继续安装依赖的软件包httpd-tools 11.httpd-tools安装成功,回到第2步,尝试安装httpd。终于成功 截止此时,Apache的主要功能已经安装成功。但是,缺少其他组件,Apache功能还不完善,所以接着安装它的其他组件 1.安装httpd-devel2.安装httpd-manual2.成功,至此全部安装成功 3.查询是否安装查询系统中安装的所有有httpd关键字的软件包 成功后,卸载ISO镜像欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)