简单介绍RPM包制作方法
2018-03-12 09:50
633 查看
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。使用rpm安装软件和管理软件非常的方便。而这节我们不是介绍如何使用rpm安装或管理软件,而是如何把源码制作成rpm包。
下面我们以制作nginx的rpm开始介绍其制作方法。以下操作在centos-7进行。
制作nginx的rpm例子
下面我们以制作nginx的rpm开始介绍其制作方法。以下操作在centos-7进行。
制作nginx的rpm例子
建立目录结构
/usr/src/redhat/SOURCES — 存放源代码,补丁,图标等文件。 /usr/src/redhat/SPECS — 存放用于管理rpm制作进程的spec文件。 /usr/src/redhat/BUILD — 解压后的文件存放在这里。 /usr/src/redhat/RPMS — 存放由rpmbuild制作好的二进制包。 /usr/src/redhat/SRPMS —存放由rpmbuild制作好的源码包。 mkdir -p /usr/src/redhat cd /usr/src/redhat mkdir SOURCES SPECS BUILD RPMS SRPMS
下载源码包到SOURCES目录,不需要解压。
cd /usr/src/redhat/SOURCES wget http://nginx.org/download/nginx-1.11.1.tar.gz[/code]创建Spec文件
cd /usr/src/redhat/SPECS vi nginx.spec 内容如下: # # Example spec file for nginx # Summary: high performance web server Name: nginx Version: 1.11.1 Release: 1.el7.ngx License: 2-clause BSD-like license Group: Applications/Server Source: http://nginx.org/download/nginx-1.11.1.tar.gz URL: http://nginx.org/ Distribution: Linux Packager: geekwolf <admin@simlinuxc.om>; %description nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server %prep rm -rf $RPM_BUILD_DIR/nginx-1.11.1 zcat $RPM_SOURCE_DIR/nginx-1.11.1.tar.gz | tar -xvf - %build cd nginx-1.11.1 ./configure --prefix=/usr/local/nginx make %install cd nginx-1.11.1 make install %preun if [ -z "`ps aux | grep nginx | grep -v grep`" ];then killall nginx >/dev/null exit 0 fi %files /usr/local/nginx在制作RPM包之前需要安装必要的工具,如rpmbuild,gcc等。开始RPM制作
yum install gcc rpm-build pcre-devel cd /usr/src/redhat/SPECS/ rpmbuild -bb nginx.spec 一切顺利的话,会生成nginx的rpm包,/usr/src/redhat/RPMS/i386/nginx-1.11.1-1.el7.ngx.x86_64.rpm。测试rpm包
rpm -ivh /usr/src/redhat/RPMS/i386/nginx-1.11.1-1.el7.ngx.x86_64.rpm spec文件解释 从以上的简单例子可以看出,制作rpm包最重要的还是spec文件,下面解释一下例子所用到的指令。 #:以#开头是注释,rpm会忽略它。 Summary:简单描述软件。 Name :定义rpm的名称。 Version: 定义软件版本 Release: 发行版本 License: 定义许可证 Group: 软件分类 Source: 源码下载地址 URL: 源码相关网站 Distribution: 发行版系列 Packager: 打包人的信息 %description:软件详细描述,可多行 %prep :软件编译之前的处理,如解压。 %build :开始编译软件,如make %install :开始安装软件,如make install %files :指定哪些文件需要被打包,如/usr/local/nginx %preun :定义卸载之前的动作,如杀掉进程。 这里只介绍了几个常用的tag,更详细的请参考:http://www.rpm.org/max-rpm/ch-rpm-inside.html
相关文章推荐
- 软件包管理 之 file.src.rpm 使用方法的简单介绍
- 新年快乐,介绍个简单的Excel理财工作的制作方法
- linux file.src.rpm 使用方法的简单介绍
- file.src.rpm 使用方法的简单介绍
- 软件包安装方法、rpm包介绍、rpm、yum、
- Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍
- toString()方法简单介绍
- 简单ocx控件制作方法(原创)
- php网站制作(1)-简单介绍,开发环境搭建
- 区别linux支持rpm还是deb的简单方法
- SharePoint 2010 母版页制作的简单介绍
- 简单介绍一下asmack中常用到的方法属性
- 典型的简单权限分配系统方法介绍
- javascript全选反选全不选各种选最简单的制作方法
- Android MediaPlayer使用方法简单介绍
- 【jQuery】之Ajax相关方法简单介绍
- Android MediaPlayer使用方法简单介绍
- Android 有道词典的简单实现方法介绍
- C#简单获取屏幕鼠标坐标点颜色方法介绍
- RPM包制作方法