rpmbuild使用---创建nrpe,nagios-plugins软件包
2013-04-03 23:50
537 查看
nagios客户端一般需要nagios-plugins,nrpe,为了方便与puppet结合,所以最好把源码打包成软件包
spec文件内容如下:
nrpe.spec:
nagios-plugins.spec
本文出自 “TNT、运维之路” 博客,请务必保留此出处http://tntdba.blog.51cto.com/1199791/1170475
spec文件内容如下:
nrpe.spec:
%define name nrpe %define version 2.13 %define release 10 %define nsusr nagios %define nsgrp nagios %define nsport 5666 # Reserve option to override port setting with: # rpm -ba|--rebuild --define 'nsport 5666' %{?port:%define nsport %{port}} # Macro that print mesages to syslog at package (un)install time %define nnmmsg logger -t %{name}/rpm Summary: Host/service/network monitoring agent for Nagios URL: http://www.nagios.org Name: %{name} Version: %{version} Release: %{release} License: GPL Group: Application/System Source0: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-buildroot Prefix: %{_prefix} Prefix: /usr/local/nagios Requires: bash, grep, nagios-plugins,xinetd PreReq: /usr/bin/logger, chkconfig, sh-utils, shadow-utils, sed, initscripts, fileutils, mktemp %description Nrpe is a system daemon that will execute various Nagios plugins locally on behalf of a remote (monitoring) host that uses the check_nrpe plugin. Various plugins that can be executed by the daemon are available at: %prep %setup -q %pre if [ $? -eq 2 ] ; then /usr/sbin/groupadd %{nsgrp} || %nnmmsg Unexpected error adding group "%{nyysgrp}". Aborting install process. fi # Create `nagios' user on the system if necessary if [ $? -eq 2 ] ; then /usr/sbin/useradd -d %{nsgrp} -s /bin/nologin -c "%{nsusr}" -g %{nsgrp} %{nsusr} || \ %nnmmsg Unexpected error adding user "%{nsusr}". Aborting install process. fi %post if [ "$1" = 1 ]; then chown -R "%{nsusr}":"%{nsgrp}" %{_prefix} chkconfig --add xinetd chkconfig xinetd on echo "nrpe 5666/tcp #nrpe" >> /etc/services /sbin/service xinetd restart > /dev/null 2>&1 fi %preun if [ "$1" = 0 ]; then /bin/rm /etc/xinetd.d/nrpe -f sed -i '/^nrpe.*/d' /etc/services fi %postun if [ "$1" = 0 ]; then /sbin/service xinetd restart >/dev/null 2>&1 || : fi %build export PATH=$PATH:/usr/sbin CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" \ ./configure \ --with-init-dir=/etc/init.d \ --with-nrpe-port=%{nsport} \ --with-nrpe-user=%{nsusr} \ --with-nrpe-group=%{nsgrp} \ --prefix=%{_prefix} \ --exec-prefix=%{_prefix}/bin \ --bindir=%{_prefix}/bin \ --sbindir=%{_prefix}/lib/nagios/cgi \ --libexecdir=%{_prefix}/libexec \ --datadir=%{_prefix}/share \ --sysconfdir=/etc/nagios \ --localstatedir=/var/log/nagios \ --enable-command-args make all %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT install -d -m 0755 ${RPM_BUILD_ROOT}/etc/xinetd.d install -c -m 0755 -d ${RPM_BUILD_ROOT}/usr/local/nagios/libexec install -c -m 0755 src/check_nrpe ${RPM_BUILD_ROOT}/usr/local/nagios/libexec install -c -m 0755 -d ${RPM_BUILD_ROOT}/usr/local/nagios/bin install -c -m 0755 src/nrpe ${RPM_BUILD_ROOT}/usr/local/nagios/bin install -c -m 0755 -d ${RPM_BUILD_ROOT}/usr/local/nagios/etc install -c -m 0755 sample-config/nrpe.cfg ${RPM_BUILD_ROOT}/usr/local/nagios/etc/nrpe.cfg install -c -m 0644 sample-config/nrpe.xinetd ${RPM_BUILD_ROOT}/etc/xinetd.d/nrpe sed -i 's#server_args.*#server_args = -c %{_prefix}/etc/nrpe.cfg --inetd#' ${RPM_BUILD_ROOT}/etc/xinetd.d/nrpe %clean rm -rf $RPM_BUILD_ROOT %files %defattr(755,root,root) %{_prefix}/bin/nrpe %defattr(644,root,root) %config(noreplace) /usr/local/nagios/etc/*.cfg %config(noreplace) /etc/xinetd.d/nrpe %defattr(755,%{nsusr},%{nsgrp}) %doc Changelog LEGAL README %doc %{_prefix}/libexec %changelog * Wed Apr 3 2013 xxx build - 2.13-10 <xxx@xxx.com> - fixed nrpe.cfg relocation to sample-config
nagios-plugins.spec
# Macros %define isaix %(test "`uname -s`" = "AIX" && echo "1" || echo "0") %define islinux %(test "`uname -s`" = "Linux" && echo "1" || echo "0") %define isredhatfamily %(test -f /etc/redhat-release && echo "1" || echo "0") %if %{isaix} %define _prefix /usr/local/nagios # %define _defaultdocdir %{_datadir}/doc %else %define _libexecdir %{_exec_prefix}/libexec %endif %define _sysconfdir /usr/local/nagios/etc %define npusr nagios %define nphome /home/nagios %define npgrp nagios Name: nagios-plugins Version: 1.4.16 Release: 10 Summary: Host/service/network monitoring program plugins for Nagios Group: Applications/System License: GPL URL: http://nagiosplug.sourceforge.net/ Source0: http://dl.sf.net/sourceforge/nagiosplug/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %define npdir %{_builddir}/%{name}-%{version} %if %{isaix} Prefix: %{_prefix} %else Prefix: %{_prefix}/lib/nagios/plugins %endif Packager: Karl DeBisschop <kdebisschop@users.sourceforge.net> Vendor: Nagios Plugin Development Group Provides: nagios-plugins %{!?custom:%global custom 0} Obsoletes: nagios-plugins-custom nagios-plugins-extras # Requires %if %{isaix} Requires: fping Requires: gawk Requires: net-snmp Requires: net-snmp-perl Requires: net-snmp-utils Requires: openldap Requires: openssl Requires: perl Requires: python Requires: openssl BuildRequires: fping BuildRequires: gawk BuildRequires: net-snmp BuildRequires: net-snmp-perl BuildRequires: net-snmp-utils BuildRequires: openldap-devel %endif %if %{isredhatfamily} Requires: bind-utils Requires: coreutils Requires: fping Requires: gawk Requires: grep Requires: iputils Requires: mysql Requires: net-snmp-utils Requires: ntp Requires: openldap Requires: openssl Requires: openssh-clients Requires: perl Requires: postgresql-libs Requires: procps Requires: python Requires: samba-client Requires: shadow-utils Requires: traceroute Requires: /usr/bin/mailq BuildRequires: bind-utils BuildRequires: coreutils BuildRequires: iputils BuildRequires: mysql-devel BuildRequires: net-snmp-utils BuildRequires: net-tools BuildRequires: ntp BuildRequires: openldap-devel BuildRequires: openssh-clients BuildRequires: openssl-devel BuildRequires: postgresql-devel BuildRequires: procps BuildRequires: samba-client BuildRequires: /usr/bin/mailq %endif %description Nagios is a program that will monitor hosts and services on your network, and to email or page you when a problem arises or is resolved. Nagios runs on a unix server as a background or daemon process, intermittently running checks on various services that you specify. The actual service checks are performed by separate "plugin" programs which return the status of the checks to Nagios. This package contains those plugins. %prep %setup -q %build %{?isaix: MAKE=gmake} ./configure \ --prefix=%{_prefix} \ --exec-prefix=%{_exec_prefix} \ --libexecdir=%{_libexecdir} \ --sysconfdir=%{_sysconfdir} \ --datadir=%{_datadir} \ #--with-cgiurl=/nagios/cgi-bin ls -1 %{npdir}/plugins > %{npdir}/ls-plugins-before ls -1 %{npdir}/plugins-root > %{npdir}/ls-plugins-root-before ls -1 %{npdir}/plugins-scripts > %{npdir}/ls-plugins-scripts-before make %{?_smp_mflags} ls -1 %{npdir}/plugins > %{npdir}/ls-plugins-after ls -1 %{npdir}/plugins-root > %{npdir}/ls-plugins-root-after ls -1 %{npdir}/plugins-scripts > %{npdir}/ls-plugins-scripts-after %pre # Create `nagios' group on the system if necessary %if %{isaix} lsgroup %{npgrp} > /dev/null 2> /dev/null if [ $? -eq 2 ] ; then mkgroup %{npgrp} || %nnmmsg Unexpected error adding group "%{npgrp}". Aborting install process. fi %endif %if %{islinux} getent group %{npgrp} > /dev/null 2> /dev/null if [ $? -ne 0 ] ; then groupadd %{npgrp} || %nnmmsg Unexpected error adding group "%{npgrp}". Aborting install process. fi %endif # Create `nagios' user on the system if necessary %if %{isaix} lsuser %{npusr} > /dev/null 2> /dev/null if [ $? -eq 2 ] ; then useradd -d %{nphome} -s /bin/nologin -c "%{npusr}" -g %{npgrp} %{npusr} || \ %nnmmsg Unexpected error adding user "%{npusr}". Aborting install process. fi %endif %if %{islinux} getent passwd %{npusr} > /dev/null 2> /dev/null if [ $? -ne 0 ] ; then useradd -r -d %{nphome} -s /bin/nologin -c "%{npusr}" -g %{npgrp} %{npusr} || \ %nnmmsg Unexpected error adding user "%{npusr}". Aborting install process. fi %endif %post chown -R "%{npusr}":"%{npgrp}" %{_prefix} %install rm -rf $RPM_BUILD_ROOT make AM_INSTALL_PROGRAM_FLAGS="" DESTDIR=${RPM_BUILD_ROOT} install build-aux/install-sh -c -d ${RPM_BUILD_ROOT}%{_sysconfdir} build-aux/install-sh -c -m 664 command.cfg ${RPM_BUILD_ROOT}%{_sysconfdir} %find_lang %{name} echo "%defattr(755,%{npusr},%{npgrp})" >> %{name}.lang comm -13 %{npdir}/ls-plugins-before %{npdir}/ls-plugins-after | egrep -v "\.o$|^\." | gawk -v libexecdir=%{_libexecdir} '{printf( "%s/%s\n", libexecdir, $0);}' >> %{name}.lang echo "%defattr(755,root,root)" >> %{name}.lang comm -13 %{npdir}/ls-plugins-root-before %{npdir}/ls-plugins-root-after | egrep -v "\.o$|^\." | gawk -v libexecdir=%{_libexecdir} '{printf( "%s/%s\n", libexecdir, $0);}' >> %{name}.lang echo "%defattr(755,%{npusr},%{npgrp})" >> %{name}.lang comm -13 %{npdir}/ls-plugins-scripts-before %{npdir}/ls-plugins-scripts-after | egrep -v "\.o$|^\." | gawk -v libexecdir=%{_libexecdir} '{printf( "%s/%s\n", libexecdir, $0);}' >> %{name}.lang echo "%{_libexecdir}/utils.pm" >> %{name}.lang echo "%{_libexecdir}/utils.sh" >> %{name}.lang %clean rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %doc CODING COPYING FAQ INSTALL LEGAL README REQUIREMENTS SUPPORT THANKS %doc ChangeLog %if ! %{isaix} %{_datadir}/locale/de/LC_MESSAGES/nagios-plugins.mo %{_datadir}/locale/fr/LC_MESSAGES/nagios-plugins.mo /usr/local/nagios/libexec/check_ldaps /usr/local/nagios/etc/command.cfg %endif %changelog * Wed Apr 3 2013 xxx build - 1.4.16-10 <xxx@xxx.com> - Initial Package
本文出自 “TNT、运维之路” 博客,请务必保留此出处http://tntdba.blog.51cto.com/1199791/1170475
相关文章推荐
- rpmbuild命令_Linux rpmbuild 命令用法详解:创建RPM的二进制软件包和源码软件包
- 使用rpmbuild创建rpm包的方法
- 使用rpmbuild创建rpm包
- Ubuntu下使用rpm 软件包
- Centos下使用rpmbuild以及checkinstall制作RPM包
- Linux rpm 命令参数使用详解:RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
- 利用安装光盘创建本地 yum 源补装 RPM 软件包
- 使用fpm创建自己的RPM
- maven使用命令创建项目失败[ERROR] Could not find goal 'create' in plugin org.apache.maven.plugins:maven-archety
- nagios插件编写及使用nrpe执行root命令
- rpmbuild spec CMake 创建项目的rpm 包
- 使用maven提示Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.2 or one
- 使用STS创建Spring boot project报错:Project build error: Non-resolvable parent POM for...
- linux nagios 安装 nagios-plugins-1.4.15 、nrpe以及 遇到的报错的解决方法
- 【7】nagios从零学习使用 - nrpe插件使用
- docker学习笔记3—使用Dockerfile与docker build命令创建一个nginx服务器镜像,并使用浏览器进行访问
- centos7下的rpmbuild初次使用~~~
- rpmbuild命令使用
- CentOS用安装光盘创建本地 yum 源补装 RPM 软件包
- LFCS 系列第九讲: 使用 Yum、RPM、Apt、Dpkg、Aptitude 进行 Linux 软件包管理