实验环境
实验的系统;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/ ; SOURCES]# vim libfastcommon.spec 按需修改,也可不修改尊重作者 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包: ~]# 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 ---done!!!
自此结束!!!