​实验环境​

实验的系统;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包:
~]# mkdir -pv rpmbuild/{SOURCES,SPECS}
~]# cp libfastcommon-1.0.32.tar.gz rpmbuild/SOURCES/
~]# cp libfastcommon-1.0.32/libfastcommon.spec rpmbuild/SOURCES
~]# cd rpmbuild/SOURCES/ ;
~]# vim libfastcommon.spec 按需修改,也可不修改尊重作者
~]# 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包:
~]# cp fastdfs-5.0.9.tar.gz rpmbuild/SOURCES/
~]# cp fastdfs-5.0.9/fastdfs.spec rpmbuild/SPECS/
~]# cd rpmbuild/SPECS/
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就可以了
x86_64]# cp *fastdfs* /root/
x86_64]# cd
~]# yum install *.rpm

​自此结束!!!​