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

原文地址:https://www.cnblogs.com/earendil/p/6722895.html