實驗環境
實驗的系統;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!!!
自此結束!!!