需要在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 centos7
Version:1.0
Group: Applications/Internet
License: GPL
#URL:
Source0: ntopng-dev.tar.gz
#BuildRequires:
#Requires:
%description
%prep
mkdir -p %{buildroot}
%setup -q
%build
%configure
make %{?_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