需要在centos7上,将ntopng及其依赖的包一起打包成rpm包,了解centos7打包。
1、执行: yum -y install rpmdevtools 安装rpm工具
2、接下来执行:rpmdev-setuptree rpmdev-setuptree命令默认将再当前用户主目录下创建一个RPM构建根目录结构
一般rpmbuild会在当前用户的主目录下自动建立如上目录结构,如果在你对应用户的构建目录中没有自动建立如上目录,你可以通过手动方式建立。上面目录的使用是这样分配的,SOURCES放置打包资源,包括源码打包文件和补丁文件等;SPECS目录放置SPEC文档;BUILD打包过程中的工作目录;RPMS目录存放生成的二进制包,RPM包根据硬件平台不同分类,i386表示生成i386结构的包将存放在该目录下;SRPMS目录存放生成的源码包;BUILDROOT是制作过程中临时安装程序的地方,里面的文件在制作完成之后会删掉。
3、编写spec脚本,执行vim test.spec会自动生成一个spec的模板,然后自己进行修改
修改之后完整内容如下:
Name:centos_ntopng
Release: 1%{?dist}Summary:this is a ntopng rpm for centos7Version:1.0Group: Applications/InternetLicense: GPL#URL: Source0: ntopng-dev.tar.gz#BuildRequires:
#Requires:%description
%prepmkdir -p %{buildroot}%setup -q %build%configuremake %{?_smp_mflags}%install
%make_install %files/usr/share/ntopng/usr/bin/ntopng/usr/man/man8/ntopng.8.gz%doc
%changelog
参考资料:
https://my.oschina.net/guol/blog/182310
http://blog.sina.com.cn/s/blog_553c6d4e0101gd3d.html
4、执行命令:
rpmbuild -ba test.spec
遇到的问题:
源码包解压后的目录名称需要和指定的名称一样,通常为 name+版本 centos_ntopng-1.0