生活随笔
收集整理的這篇文章主要介紹了
定制zabbix的rpm包---spec文件的书写
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?定制zabbix的rpm包
#%define?zabbix_group?zabbix?%define?zabbix_user?zabbix??Name:???????????zabbix???Version:????2.0.4?Release:????1%{?dist}.zbx?Summary:????zabbix?monitor?Vendor:?????????itnihao@qq.com??Group:??????????System?Environment/Daemons???License:????GPL?URL:????????http://www.zabbix.com?Source0:????http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz?Source1:????????zabbix_custom.tar.gz?Source2:????????zabbix-web.conf?#BuildRoot:?%{_tmppath}/%{name}-%{version}?BuildRoot:?%{_tmppath}/%{name}-%{version}-%{release}-root??BuildRequires:??gcc?BuildRequires:??make??Requires(pre):gcc?Requires(post):chkconfig?????Provides:Monitor??%description??Zabbix?is?the?ultimate?open?source?availability?and?performance?monitoring?solution.?Zabbix?offers?advanced?monitoring,?alerting,?and?visualization?features?today?which?are?missing?in?other?monitoring?systems,?even?some?of?the?best?commercial?ones??%package?server?Summary:server?version?of?zabbix?Group:?System?Environment/Daemons?Requires(post):??????/sbin/chkconfig?Requires(preun):?????/sbin/chkconfig?Requires(preun):?????/sbin/service?Requires(postun):????/sbin/service??%description?server?Zabbix?server?common?files??%package?agentd?Summary:?????????????Zabbix?Agent?Group:???????????????Applications/Internet?Requires(pre):???????shadow-utils?Requires(post):??????/sbin/chkconfig?Requires(preun):?????/sbin/chkconfig?Requires(preun):?????/sbin/service?Requires(postun):????/sbin/service??%description?agentd?The?Zabbix?client?agent,?to?be?installed?on?monitored?systems.???%package?proxy?Summary:?????????????Zabbix?Proxy?Group:???????????????Applications/Internet?Requires(pre):???????shadow-utils?Requires(post):??????/sbin/chkconfig?Requires(preun):?????/sbin/chkconfig?Requires(preun):?????/sbin/service?Requires(postun):????/sbin/service?Requires:????????????fping??%description?proxy?The?Zabbix?proxy???%package?web?Summary:?????????????Zabbix?Web?Group:???????????????Applications/Internet?BuildArch:???????????noarch?Requires(pre):???????shadow-utils?Requires(post):??????/sbin/chkconfig?Requires(preun):?????/sbin/chkconfig?Requires(preun):?????/sbin/service?Requires(postun):????/sbin/service?Requires:????????????dejavu-sans-fonts??%description?web?The?Zabbix?web???%prep?%setup?-q??%build?common_flags="??????--enable-dependency-tracking??????--enable-proxy????????--enable-agent???????--enable-ipv6??????--with-net-snmp??????--with-libcurl??????--disable-java??????--sysconfdir=%{_sysconfdir}/zabbix??????--datadir=%{_sharedstatedir}??????"?%configure?$common_flags?--enable-server?--with-mysql??--with-cc-opt="%{optflags}?$(pcre-config?--cflags)"?make?%{?_smp_mflags}???#./configure?--prefix=/usr/local?--sysconfdir=/etc/zabbix?--libdir=/usr/lib?--mandir=/usr/share/man???--enable-proxy??--enable-agent?--with-sqlite3?#make?%{?_smp_mflags}???%install?%{__rm}?-rf?$RPM_BUILD_ROOT?[?"%{buildroot}"?!=?"/"?]?&&?%{__rm}?-rf?%{buildroot}?#%{__make}?DESTDIR=%{buildroot}?install??%{__install}?-d?%{buildroot}%{_sbindir}?%{__install}?-d?%{buildroot}%{_sysconfdir}/rc.d/init.d?%{__install}?-d?%{buildroot}%{_datadir}/%{name}?%{__install}?-d?%{buildroot}%{_sysconfdir}/%{name}/scripts?%{__install}?-d?%{buildroot}%{_sysconfdir}/%{name}/zabbix_agentd.conf.d?%{__install}?-d?%{buildroot}%{_mandir}/man1/?%{__install}?-d?%{buildroot}%{_mandir}/man8/?%{__install}?-d?%{buildroot}%{_localstatedir}/log/%{name}?%{__install}?-d?%{buildroot}%{_localstatedir}/run/%{name}?%{__install}?-d?%{buildroot}%{_sysconfdir}/%{name}/externalscripts?%{__install}?-d?%{buildroot}%{_sysconfdir}/%{name}/alertscripts?%{__install}?-d?%{buildroot}%{_datadir}/%{name}??%{__make}?DESTDIR=$RPM_BUILD_ROOT?install???#%{__mkdir}?-p?$RPM_BUILD_ROOT%{_initrddir}?%{__install}?-m?755?misc/init.d/fedora/core/zabbix_agentd???$RPM_BUILD_ROOT%{_initrddir}/zabbix_agentd?%{__install}?-m?755?misc/init.d/fedora/core/zabbix_server???$RPM_BUILD_ROOT%{_initrddir}/zabbix_server?%{__install}?-m?755?misc/init.d/fedora/core/zabbix_server????$RPM_BUILD_ROOT%{_initrddir}/zabbix_proxy?%{__mv}??frontends/php?$RPM_BUILD_ROOT/%{_datadir}/zabbix?%{__sed}?-i?"s@BINARY_NAME=zabbix_server@BINARY_NAME=zabbix_proxy@g"?$RPM_BUILD_ROOT%{_initrddir}/zabbix_proxy?%{__sed}?-i?"s@BASEDIR=/usr/local@BASEDIR=/usr@g"?$RPM_BUILD_ROOT%{_initrddir}/zabbix_server?%{__sed}?-i?"s@BASEDIR=/usr/local@BASEDIR=/usr@g"?$RPM_BUILD_ROOT%{_initrddir}/zabbix_agentd?%{__sed}?-i?"s@BASEDIR=/usr/local@BASEDIR=/usr@g"?$RPM_BUILD_ROOT%{_initrddir}/zabbix_proxy??install?-m?0755?-p?src/zabbix_server/zabbix_server?$RPM_BUILD_ROOT%{_sbindir}/?install?-m?0755?-p?src/zabbix_proxy/zabbix_proxy?$RPM_BUILD_ROOT%{_sbindir}/?install?-m?0755?-p?src/zabbix_get/zabbix_get?$RPM_BUILD_ROOT%{_sbindir}/?install?-m?0755?-p?src/zabbix_sender/zabbix_sender?$RPM_BUILD_ROOT%{_sbindir}/?install?-m?0755?-p?src/zabbix_agent/zabbix_agent?$RPM_BUILD_ROOT%{_sbindir}/?install?-m?0755?-p?src/zabbix_agent/zabbix_agentd?$RPM_BUILD_ROOT%{_sbindir}/?install?-m?0644?-p?conf/zabbix_server.conf?$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/?install?-m?0644?-p?conf/zabbix_agent.conf?$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/?install?-m?0644?-p?conf/zabbix_agentd.conf?$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/?install?-m?0644?-p?conf/zabbix_proxy.conf?$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/?install?-m?0644?-p?man/zabbix_agentd.man??$RPM_BUILD_ROOT%{_mandir}/man8/zabbix_agentd.8?install?-m?0644?-p?man/zabbix_server.man?$RPM_BUILD_ROOT%{_mandir}//man8/zabbix_server.8?install?-m?0644?-p?man/zabbix_proxy.man??$RPM_BUILD_ROOT%{_mandir}/man8/zabbix_proxy.8?install?-m?0644?-p?man/zabbix_get.man????$RPM_BUILD_ROOT%{_mandir}/man1/zabbix_get.1?install?-m?0644?-p?man/zabbix_sender.man?$RPM_BUILD_ROOT%{_mandir}/man1/zabbix_sender.1??%{__tar}?xf?%{SOURCE1}?-C?$RPM_BUILD_ROOT%{_sysconfdir}/%{name}?install?-m?0644?-p?%{SOURCE2}??$RPM_BUILD_ROOT/%{_datadir}/%{name}?install?-d?$RPM_BUILD_ROOT/%{_datadir}/%{name}/database/mysql/?install?-m?0644?-p?database/mysql/*??$RPM_BUILD_ROOT/%{_datadir}/%{name}/database/mysql/?sed?-i?\?????-e?'s|#?PidFile=.*|PidFile=%{_localstatedir}/run/%{name}/zabbix_agentd.pid|g'?\?????-e?'s|^LogFile=.*|LogFile=%{_localstatedir}/log/%{name}/zabbix_agentd.log|g'?\?????-e?'/#?UnsafeUserParameters=0/aUnsafeUserParameters=1\n'?\?????-e?'/#?Include.*zabbix_agentd.conf.d\//aInclude=\/etc\/zabbix\/zabbix_agentd.conf.d\/\n'?\?????-e?'s|#?LogFileSize=.*|LogFileSize=0|g'?\?????-e?'s|/usr/local|/usr|g'?\??????$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/zabbix_agentd.conf??sed?-i?\?????-e?'s|/usr/local|/usr|g'?\?????-e?'/#?UnsafeUserParameters=0/aUnsafeUserParameters=1\n'?\?????-e?'s@#?Include=/usr/etc/zabbix_agentd.conf.d@Include=/etc/zabbix/zabbix_agentd.conf.d@g'?\??????$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/zabbix_agent.conf??sed?-i?\?????-e?'s|#?PidFile=.*|PidFile=%{_localstatedir}/run/%{name}/zabbix_server.pid|g'?\?????-e?'s|^LogFile=.*|LogFile=%{_localstatedir}/log/%{name}/zabbix_server.log|g'?\?????-e?'s|#?LogFileSize=.*|LogFileSize=0|g'?\?????-e?'s|^DBUser=root|DBUser=zabbix|g'?\?????-e?'/#?DBPassword=/aDBPassword=zabbix\n'?\?????-e?'s|#?DBSocket=/tmp/mysql.sock|DBSocket=%{_sharedstatedir}/mysql/mysql.sock|g'?\?????-e?'s|#?ExternalScripts=\${datadir}/zabbix/externalscripts|ExternalScripts=%{_sysconfdir}/%{name}/externalscripts|'?\?????-e?'s|/usr/local|/usr|g'?\??????$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/zabbix_server.conf??sed?-i?\?????-e?'s|#?PidFile=.*|PidFile=%{_localstatedir}/run/%{name}/zabbix_proxy.pid|g'?\?????-e?'s|^LogFile=.*|LogFile=%{_localstatedir}/log/%{name}/zabbix_proxy.log|g'?\?????-e?'s|#?LogFileSize=.*|LogFileSize=0|g'?\?????-e?'s|^DBUser=root|DBUser=zabbix|g'?\?????-e?'/#?DBPassword=/aDBPassword=zabbix\n'?\?????-e?'s|#?DBSocket=/tmp/mysql.sock|DBSocket=%{_sharedstatedir}/mysql/mysql.sock|g'?\?????-e?'s|#?ExternalScripts=\${datadir}/zabbix/externalscripts|ExternalScripts=%{_sysconfdir}/%{name}/externalscripts|'?\?????-e?'s|/usr/local|/usr|g'?\??????$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/zabbix_proxy.conf??%clean?%{__rm}?-rf?$RPM_BUILD_ROOT???%files?server?%defattr(-,root,root,-)?%doc?%attr(0755,zabbix,zabbix)?%dir?%{_localstatedir}/log/%{name}?%attr(0775,root,zabbix)???%dir?%{_localstatedir}/run/%{name}?%config(noreplace)??%{_sysconfdir}/%{name}/zabbix_server.conf?%config(noreplace)??%{_sysconfdir}/%{name}/scripts?%{_sbindir}/zabbix_sender?%{_sbindir}/zabbix_server?%{_sbindir}/zabbix_get??%{_initrddir}/zabbix_server??%config(noreplace)?%{_sysconfdir}/%{name}/externalscripts?%config(noreplace)?%{_sysconfdir}/%{name}/alertscripts??%{_mandir}/man8/zabbix_server.8*?%{_mandir}/man1/zabbix_get.1*?%{_mandir}/man1/zabbix_sender.1*??%files?agentd?%defattr(-,root,root,-)?%doc?%attr(0755,zabbix,zabbix)?%dir?%{_localstatedir}/log/%{name}?%attr(0775,root,zabbix)?%dir?%{_localstatedir}/run/%{name}?%attr(0775,root,zabbix)?%dir?%{_sysconfdir}/%{name}/zabbix_agentd.conf.d?%config(noreplace)??%{_sysconfdir}/%{name}/zabbix_agent.conf?%config(noreplace)??%{_sysconfdir}/%{name}/zabbix_agentd.conf?%config(noreplace)??%{_sysconfdir}/%{name}/scripts?%{_sbindir}/zabbix_sender?%{_sbindir}/zabbix_agent?%{_sbindir}/zabbix_agentd?%{_sbindir}/zabbix_get?%attr(0755,root,zabbix)?%{_sysconfdir}/%{name}/scripts/*?%attr(0755,root,zabbix)?%{_sysconfdir}/%{name}/zabbix_agentd.conf.d/*??%{_initrddir}/zabbix_agentd??#%{_localstatedir}/run/%{name}?#%{_localstatedir}/log/%{name}?%config(noreplace)?%{_sysconfdir}/%{name}/zabbix_agentd.conf.d??%{_mandir}/man8/zabbix_agentd.8*?%{_mandir}/man1/zabbix_get.1*?%{_mandir}/man1/zabbix_sender.1*???%files?proxy?%defattr(-,root,root,-)?%doc?%attr(0755,zabbix,zabbix)?%dir?%{_localstatedir}/log/%{name}?%attr(0775,root,zabbix)???%dir?%{_localstatedir}/run/%{name}?%config(noreplace)??%{_sysconfdir}/%{name}/zabbix_proxy.conf?%config(noreplace)??%{_sysconfdir}/%{name}/scripts?%{_sbindir}/zabbix_proxy?%{_initrddir}/zabbix_proxy?%{_mandir}/man8/zabbix_proxy.8*?#%{_localstatedir}/run/%{name}?#%{_localstatedir}/log/%{name}?%config(noreplace)?%{_sysconfdir}/%{name}/externalscripts?%config(noreplace)?%{_sysconfdir}/%{name}/alertscripts??%files?web?%defattr(-,root,root,-)?%config(noreplace)?%{_datadir}/%{name}/*??%post?server?if?[?$1?-eq?1?];?then?/sbin/chkconfig?zabbix_server?on?fi??%post?agentd?if?[?$1?-eq?1?];?then?sed?-i?"s@Hostname=Zabbix?server@Hostname=$HOSTNAME@g"?/etc/zabbix/zabbix_agentd.conf?getent?group?zabbix?>/dev/null?||?groupadd?-r??zabbix?getent?passwd?zabbix?>/dev/null?||?useradd?-r?-g?zabbix?-d?%{_sharedstatedir}/zabbix?-s???/sbin/nologin??-c?"zabbix?user"?zabbix?/sbin/chkconfig?zabbix_agentd?on?/sbin/service?zabbix_agentd?start?chown?root:zabbix?/bin/netstat?chmod?4755?/bin/netstat?fi??%post?proxy?if?[?$1?-eq?1?];?then?/sbin/chkconfig?zabbix_proxy?on?fi??%post?web?mv?%{_datadir}/%{name}/php/*?%{_datadir}/%{name}?rm?-rf?%{_datadir}/%{name}/php??[?-d?"/etc/http/conf.d"?]?&&??cp?%{_datadir}/%{name}/conf/zabbix-web.conf?/etc/http/conf.d?&&chown?-R?apache.apache??%{_datadir}/%{name}?&&?cat?<<EOF?--------------------------------------------------------????you?installed?Apache?Server,the?zabbix-web.conf?configuration?file?in?/etc/http/conf.d?--------------------------------------------------------?EOF?[?-d?"/etc/http/conf.d"?]?||?cat?<<EOF?-------------------------------------------------------------------------------------------????you?should?configure?Web?Server,the?web?file?in?%{_datadir}/%{name}?-------------------------------------------------------------------------------------------?EOF?#then?#mv?%{_datadir}/%{name}?/var/www/html/???cat?<<EOF?---------------------------------------------------------------------------------------------????Author:itnihao????Mail:itnihao@qq.com????Blog:?http://itnihao.blog.51cto.com????you?can?configure?web?server?on?directory?/usr/share/zabbix????if?your?web?server?is?Apache,you?can?use?the?/etc/httpd/conf.d/zabbix-web.conf?file?to?????start?your?web?server,and?others?you?must?configure?your?web?server????to?running?the?server?and?web,?you?will?install?packages;????yum??install?httpd?php?mysql?mysql-server?php-mysql?httpd-manual?mod_ssl?mod_perl?mod_auth_mysql?php-gd?php-xml?php-mbstring?php-ldap?php-pear?php-xmlrpc?php-bcmath?mysql-connector-odbc?mysql-devel?libdbi-dbd-mysql?net-snmp-devel?curl-devel?????#setting?/etc/php.ini?for?zabbix?????sed?-i?"s/;date.timezone?=/date.timezone?=?Asia\/Shanghai/g"????????/etc/php.ini?????sed?-i?"s#max_execution_time?=?30#max_execution_time?=?300#g"???????/etc/php.ini?????sed?-i?"s#post_max_size?=?8M#post_max_size?=?32M#g"?????????????????/etc/php.ini?????sed?-i?"s#max_input_time?=?60#max_input_time?=?300#g"???????????????/etc/php.ini?????sed?-i?"s#memory_limit?=?128M#memory_limit?=?128M#g"????????????????/etc/php.ini?????sed?-i?"/;mbstring.func_overload?=?0/ambstring.func_overload?=?2\n"?/etc/php.ini?????#config?apache?????sed?-i?"s/DirectoryIndex?index.html?index.html.var/DirectoryIndex?index.php?index.html?index.html.var/g"?/etc/httpd/conf/httpd.conf?????sed?-i?"s/ServerTokens?OS/ServerTokens?Prod/g"??/etc/httpd/conf/httpd.conf?????#create?mysql?database?to?zabbix?????service?mysqld?start?????chkconfig?mysqld?on?????mysqladmin?-u?root?password??'mysqlpass'?????mysql?-uroot?-pmysqlpass?-e?"create?database?zabbix?character?set?utf8"?????mysql?-uroot?-pmysqlpass?-e?"grant?all?privileges?on?zabbix.*?to?zabbix@localhost?identified?by?'zabbix'"?????mysql?-uroot?-pmysqlpass?-e?"flush?privileges"??????#source?zabbix?database?????cd?/usr/share/zabbix?????mysql?-uzabbix?-pzabbix?zabbix?<?./database/mysql/schema.sql?????mysql?-uzabbix?-pzabbix?zabbix?<?./database/mysql/images.sql?????mysql?-uzabbix?-pzabbix?zabbix?<?./database/mysql/data.sql?----------------------------------------------------------------------------------------------?EOF?#fi???%pre?server?#add?zabbix?to?services?grep?zabbix?/etc/services?[?"$?"?!=?0?]?&&?cat?>>?/etc/services?<<EOF?zabbix-agent????10050/tcp???????????????#Zabbix?Agent?zabbix-agent????10050/udp???????????????#Zabbix?Agent??zabbix-trapper??10051/tcp???????????????#Zabbix?Trapper??zabbix-trapper??10051/udp???????????????#Zabbix?Trapper?EOF?#?Add?the?"zabbix"?user?getent?group?zabbix?>/dev/null?||?groupadd?-r??zabbix?getent?passwd?zabbix?>/dev/null?||?useradd?-r?-g?zabbix?-d?%{_sharedstatedir}/zabbix?-s???/sbin/nologin??-c?"zabbix?user"?zabbix??%pre?agentd?#add?zabbix?to?services?grep?zabbix?/etc/services?[?"$?"?!=?0?]?&&?cat?>>?/etc/services?<<EOF?zabbix-agent????10050/tcp???????????????#Zabbix?Agent?zabbix-agent????10050/udp???????????????#Zabbix?Agent??zabbix-trapper??10051/tcp???????????????#Zabbix?Trapper??zabbix-trapper??10051/udp???????????????#Zabbix?Trapper?EOF?#?Add?the?"zabbix"?user?getent?group?zabbix?>/dev/null?||?groupadd?-r??zabbix?getent?passwd?zabbix?>/dev/null?||?useradd?-r?-g?zabbix?-d?%{_sharedstatedir}/zabbix?-s???/sbin/nologin??-c?"zabbix?user"?zabbix???%preun?server?if?[?"$1"?=?0?]?then???/sbin/service?zabbix_server?stop?>/dev/null?2>&1???/sbin/chkconfig?--del?zabbix_server?fi??%preun?proxy?if?[?"$1"?=?0?]?then???/sbin/service?zabbix_proxy?stop?>/dev/null?2>&1???/sbin/chkconfig?--del?zabbix_proxy?fi??%preun?agentd?if?[?"$1"?=?0?]?then???/sbin/service?zabbix_agentd?stop?>/dev/null?2>&1???/sbin/chkconfig?--del?zabbix_agentd?fi??%changelog?*?Fri?Jan?25?2013??First?version?is?build?ok?<itnihao@qq.com>?-?2.0.4?待續(xù)
本文轉(zhuǎn)自it你好 51CTO博客,原文鏈接:http://blog.51cto.com/itnihao/1125883,如需轉(zhuǎn)載請自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的定制zabbix的rpm包---spec文件的书写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。