首页 > 代码库 > 使用源码文件简单制作RPM包

使用源码文件简单制作RPM包

实验环境:

实验的系统;Centos7.2_x86.64 
源码包文件1;fastdfs-master 
源码包文件2;libfastcommon-master

去github作者的站点克隆上面两个源码包文件

git clone https://github.com/happyfish100/fastdfs.git 
git clone https://github.com/happyfish100/libfastcommon.git

查看源码文件版本并修改文件名

—libfastcommon-master: 
[root@node1 ~]# cd libfastcommon-master 
[root@node1 ~]# less libfastcommon.spec 
[root@node1 ~]# cd 
[root@node1 ~]# mv libfastcommon-master libfastcommon-1.0.32 
[root@node1 ~]# tar zcf libfastcommon-1.0.32.tar.gz libfastcommon-1.0.32/* 
—fastdfs-master: 
[root@node1 ~]# cd fastdfs-master 
[root@node1 fastdfs-master]# less fastdfs.spec 
[root@node1 ~]# cd 
[root@node1 ~]# mv fastdfs-master fastdfs-5.0.9 
[root@node1 ~]# tar zcf fastdfs-5.0.9.tar.gz fastdfs-5.0.9/*

制作rpm包

注意:

1、安装开发环境 yum groupinstall Development Server Platform Development 
2、版本很重要,一定要确定包版本。 
3、fastdfs-master依赖于libfastcommon包,故先开始制作libfastcommon包 
4、制作完成后依赖的libfastcommon包要先安装上,不然fastdfs无法制作

制作libfastcommon_rpm包;
[root@node1 ~]# mkdir -pv rpmbuild/{SOURCES,SPECS}
[root@node1 ~]# cp libfastcommon-1.0.32.tar.gz rpmbuild/SOURCES/
[root@node1 ~]# cp libfastcommon-1.0.32/libfastcommon.spec rpmbuild/SOURCES/
[root@node1 ~]# cd rpmbuild/SOURCES/
[root@node1 SOURCES]# vim libfastcommon.spec  //按需修改,也可不修改尊重作者
[root@node1 SOURCES]# rpmbuild -bb libfastcommon.spec 制作rpm包
注意:
制作完成后rpm包会在您的系统/root/rpmbuild/RPMS/x86_64路径下
src包文件会在/root/rpmbuild/SRPMS/路径下
把依赖的制作好的包先安装
yum install ./libfastcommon-1.0.32-1.el7.centos.x86_64.rpm
yum install ./libfastcommon-devel-1.0.32-1.el7.centos.x86_64.rpm
制作fastdfs_rpm包;
[root@node1 ~]# cp fastdfs-5.0.9.tar.gz rpmbuild/SOURCES/
[root@node1 ~]# cp fastdfs-5.0.9/fastdfs.spec rpmbuild/SPECS/
[root@node1 ~]# cd rpmbuild/SPECS/
[root@node1 SPECS]# rpmbuild -ba fastdfs.spec
注意:
根据克隆源码包的方式不同有可能需要给fastdfs目录里的make.sh restart.sh stop.sh执行权限
chmod +x make.sh restart.sh stop.sh,不然会报错
如果出现;
error: Installed (but unpackaged) file(s) found:
   /etc/fdfs/storage_ids.conf.sample
请修改fastdfs.spec文件在有/etc/那几行下面加入刚刚报错提示的文件路径
因为安装生成的fastdfs.spec文件没有被打包进去
再次执行rpmbuild -ba fastdfs.spec 还报错把刚加入的路径给删了,别问我为什么
安装制作好的rpm就可以了
[root@node1 x86_64]# cp *fastdfs* /root/
[root@node1 x86_64]# cd
[root@node1 ~]# yum install *.rpm

---done!!!

自此结束!!!


本文出自 “51eA” 博客,请务必保留此出处http://51eat.blog.51cto.com/11892702/1890934

使用源码文件简单制作RPM包