Chinaunix首页 | 论坛 | 博客
  • 博客访问: 469168
  • 博文数量: 111
  • 博客积分: 2332
  • 博客等级: 大尉
  • 技术积分: 1187
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-29 11:22
文章分类

全部博文(111)

文章存档

2013年(9)

2012年(28)

2011年(17)

2010年(28)

2009年(29)

我的朋友

分类: LINUX

2012-06-12 16:21:31

最近自己写了一个c的程序,并且写好了Makefile文件,老大说要用rpm,就研究了一下rpm打包。这里记一下,以便以后用
 
具体的过程就不说了,基本上就是参照这边ibm的文档来的。
说说问题。
首先是spec文件。里面的files字段,我已开始都没有理解,原来这个字段就是rpm包安装完成之后,安装目录下的文件和文件夹,所以要把要安装的文件给写全了。
然后是执行文档中说的rpm -ba filename.spec的时候,报错rpm没有ba参数。后来查了查,发现可能是文档写错了,应该是rpmbuild -ba filename.spce
之后就是生成rpm包的时候老是报错find: invalid predicate `'
上网查了一下,解决方案在这里:。我因为没有在相应的sh文件中找到有非法的字符。所以就用了第二种方法。
接下来,打包正常。然后从/usr/src/redhat/RPMS/i386/和/usr/src/redhat/SRPMS/中分别把相应的rpm包拿出来,放到了测试机上。在测试机上执行rpm -ivh命令,显示执行了100%,可是在相应的目录里发现,程序并不存在,即没有安装成功。然后我又rpm -qa | grep xxx也验证了,此rpm包没有安装成功。对此我纠结了好久,最后发现原来我跑的是src的rpm包,而不是i386的rpm,傻x了。
 
之后再次运行i386的rpm包,发现正常安装了。
阅读(1377) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~