centos 打包RPM包 ntopng

需要在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