打rpm包步骤

打rpm包步骤,第1张

[TOC]

步骤略,本文将zabbix_agent安装到/zabbix_agent目录下。

我们计划rpm安装时,安装在/opt/zabbix_agent目录,因此需要修改启动脚本。编辑/zabbix_agent/conf/zabbix_agentd/zabbix_agentd文件修改 BASEDIR=/opt/zabbix_agent

,修改启动配置增加-c参数指定参数文件全路径。 $FULLPATH -c $BASEDIR/conf/zabbix_agentd.conf 。

执行rpmdev-setuptree 命令,会在家目录下生成rpmbuild工作目录。网上推荐使用非root用户制作rpm包。

在SPECS目录执行rpmbuild -bb zabbix_agent.spec名录,制作rpm包。rpm包会生成在/root/rpmbuild/RPMS目录下。

RPMS的下一级目录名字根据spec文件中的配置决定,会与本例有差别。安装后启动服务并查看服务状态。Active: active (running)表示启动成功。

编辑/opt/zabbix_agent/conf/zabbix_agentd.conf文件,修改服务地址等信息,并重启agent。测试是否可以将主机加入监控。

目录说明:

生成 spec 示例文件:

先创建一个要打包的示例:

准备rpm打包脚本: demoTool.spec

开始打包:

问题:

原因分析:可能是linux和windows的换行符不同导致的(windows是\r\n, Linux是\n)。

尝试解决办法: 将spec文本转换成 Unix 格式,方式如下:

再次执行打包脚本:

查看打好的rpm包:

测试rpm包:

以上完成示例。

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。使用rpm安装软件和管理软件非常的方便。而这节我们不是介绍如何使用rpm安装或管理软件,而是如何把源码制作成rpm包。

我们日常工作一般会使用源码包安装软件,因为源码包相对灵活多变, *** 作自由,唯一的问题就是容易编译出错。rpm包安装简单方便,唯一问题就是不能自定义参数且更新的速度相对于源码慢很多。

1、查看 *** 作系统版本和内核版本

2、创建相关目录

/usr/src/redhat/SOURCES //存放源代码,补丁,图标等文件。

/usr/src/redhat/SPECS //存放用于管理rpm制作进程的spec文件。

/usr/src/redhat/BUILD //解压后的文件存放在这里。

/usr/src/redhat/RPMS //存放由rpmbuild制作好的二进制包。

/usr/src/redhat/SRPMS //存放由rpmbuild制作好的源码包。

3、下载Nginx源码包

下载源码包到SOURCES目录,不需要解压。

4、手工创建SPEC文件,由于spec文件是由spec语言编写的,请注意spec语言的语法。

SPEC文件内容如下:

#############################

# Example Spec File For Nginx

# Edited By LaoXu 7.Mar.2013

#############################

Summary: High Performance Web Server

Name: nginx

Version: 1.3.9

Release: el5

License: GPL

Group: Applications/Server

Source: http://nginx.org/download/nginx-1.3.9.tar.gz

URL: http://nginx.org/

Distribution: Linux

Packager: XuYuanzhen <absolutey.xu@gmail.com>

%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.3.9

zcat $RPM_SOURCE_DIR/nginx-1.3.9.tar.gz | tar -xvf -

%build

cd nginx-1.3.9

./configure --prefix=/usr/local/nginx

make

%install

cd nginx-1.3.9

make install

%preun

if [ -z "`ps aux | grep nginx | grep -v grep`" ]then

killall nginx >/dev/null

exit 0

fi

%files

/usr/local/nginx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12102504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存