openEuler22.03 LTS的zabbix安装包都比较旧,要用zabbix6.2.x的平台,只能自已动手编译了,本文基于zabbix官方的源码包,尝试完成了zabbix-proxy6.2.3agent和proxy的rpm包编译。
一、下载官方rpm编译src包
1、在zabbix官网源,查找rhel-8的SRPMS源文件,本文以6.2.3版本为例
2、将下载的文件传到centos/redhat8系统的中间服务器,安装
[root@localhost]# cd /tmp
[root@localhost tmp]# ll |grep zabbix-6.2.3-release1.el8.src.rpm
-rw-rw-r--. 1 AAAA AAAA 34785819 1月 31 21:46 zabbix-6.2.3-release1.el8.src.rpm
[root@localhost tmp]# rpm -ivh zabbix-6.2.3-release1.el8.src.rpm
警告:zabbix-6.2.3-release1.el8.src.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID a14fe591: NOKEY
正在升级/安装...
1:zabbix-6.2.3-release1.el8 警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
################################# [100%]
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
警告:user packager does not exist - using root
警告:group packager does not exist - using root
[root@localhost tmp]#
3、将安装后在/root/rpmbuild目录下生成的文件打包,主要是源码文件和zabbix.spec文件
[root@localhost tmp]# cd /root/rpmbuild/
[root@localhost rpmbuild]# ll
总用量 4
drwxr-xr-x. 2 root root 4096 1月 31 21:47 SOURCES
drwxr-xr-x. 2 root root 25 1月 31 21:47 SPECS
[root@localhost rpmbuild]# tar -czvf zabbix-rpmbuild-6.2.3.tgz *
SOURCES/
SOURCES/agent2.conf.patch
SOURCES/agent2.conf.var.run.patch
SOURCES/conf.patch
SOURCES/conf.var.run.patch
SOURCES/fping3-sourceip-option.patch
SOURCES/frontend.patch
SOURCES/java-gateway.patch
SOURCES/rhel6-go11.6.patch
SOURCES/zabbix-6.2.3.tar.gz
SOURCES/zabbix-agent.init
SOURCES/zabbix-agent.service
SOURCES/zabbix-agent.sysconfig
SOURCES/zabbix-agent2.init
SOURCES/zabbix-agent2.service
SOURCES/zabbix-agent2.sysconfig
SOURCES/zabbix-java-gateway.init
SOURCES/zabbix-java-gateway.service
SOURCES/zabbix-logrotate.in
SOURCES/zabbix-nginx.conf
SOURCES/zabbix-php-fpm.conf
SOURCES/zabbix-proxy.init
SOURCES/zabbix-proxy.service
SOURCES/zabbix-server.init
SOURCES/zabbix-server.service
SOURCES/zabbix-tmpfiles.conf
SOURCES/zabbix-web-fcgi.conf
SOURCES/zabbix-web-service.service
SOURCES/zabbix-web22.conf
SOURCES/zabbix-web24.conf
SOURCES/zabbix_policy.te
SPECS/
SPECS/zabbix.spec
[root@localhost rpmbuild]#
4、将打包后的文件上传到openEuler22.03 LTS版本的服务器,解压到相同路径中
[root@localhost ~]# cat /etc/os-release
NAME="openEuler"
VERSION="22.03 LTS"
ID="openEuler"
VERSION_ID="22.03"
PRETTY_NAME="openEuler 22.03 LTS"
ANSI_COLOR="0;31"
[root@localhost ~]# cd /root
[root@localhost ~]# ll
总用量 4.0K
-rw-------. 1 root root 1.2K 12月 21 2022 anaconda-ks.cfg
[root@localhost ~]# mkdir rpmbuild
[root@localhost ~]# cd rpmbuild/
[root@localhost rpmbuild]# mv /tmp/zabbix-rpmbuild-6.2.3.tgz .
[root@localhost rpmbuild]# tar -xzvf zabbix-rpmbuild-6.2.3.tgz
SOURCES/
SOURCES/agent2.conf.patch
SOURCES/agent2.conf.var.run.patch
SOURCES/conf.patch
SOURCES/conf.var.run.patch
SOURCES/fping3-sourceip-option.patch
SOURCES/frontend.patch
SOURCES/java-gateway.patch
SOURCES/rhel6-go11.6.patch
SOURCES/zabbix-6.2.3.tar.gz
SOURCES/zabbix-agent.init
SOURCES/zabbix-agent.service
SOURCES/zabbix-agent.sysconfig
SOURCES/zabbix-agent2.init
SOURCES/zabbix-agent2.service
SOURCES/zabbix-agent2.sysconfig
SOURCES/zabbix-java-gateway.init
SOURCES/zabbix-java-gateway.service
SOURCES/zabbix-logrotate.in
SOURCES/zabbix-nginx.conf
SOURCES/zabbix-php-fpm.conf
SOURCES/zabbix-proxy.init
SOURCES/zabbix-proxy.service
SOURCES/zabbix-server.init
SOURCES/zabbix-server.service
SOURCES/zabbix-tmpfiles.conf
SOURCES/zabbix-web-fcgi.conf
SOURCES/zabbix-web-service.service
SOURCES/zabbix-web22.conf
SOURCES/zabbix-web24.conf
SOURCES/zabbix_policy.te
SPECS/
tar: SOURCES:时间戳 2023-02-01 10:47:38 是未来的 3616552.261798516 秒之后
SPECS/zabbix.spec
tar: SPECS:时间戳 2023-02-01 10:47:38 是未来的 3616552.261573542 秒之后
二、编译rpm包
1、备份zabbix.spec原文件,因为原文件默认不会编译生成proxy的rpm包
[root@localhost SPECS]# cp zabbix.spec zabbix.spec.bak
2、修改zabbix.spec文件“Buildroot ..."和"%global build_proxy 0"间的代码段,如下如示,启用mysql版proxy代理程序的编译功能:
Buildroot: %{_tmppath}/zabbix-%{version}-%{release}-root-%(%{__id_u} -n)
%{!?build_proxy: %global build_proxy 1}
%{!?build_with_mysql: %global build_with_mysql 1}
%{!?zabbix_script_dir: %global zabbix_script_dir /usr/lib/zabbix}
%global build_proxy 1
%if 0%{?rhel} >= 7
%{!?build_selinux_policy: %global build_selinux_policy 1}
%endif
3、安装rpm-build工具及其依赖包
[root@localhost rpmbuild]# yum install rpm-build zlib-devel openssl-devel gcc perl-devel pam-devel -y
Last metadata expiration check: 0:02:14 ago on 2022年12月21日 星期三 13时51分09秒.
Package gcc-10.3.1-10.oe2203.x86_64 is already installed.
Package perl-devel-4:5.34.0-3.oe2203.x86_64 is already installed.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
openssl-devel x86_64 1:1.1.1m-13.oe2203 update 1.8 M
pam-devel x86_64 1.5.2-2.oe2203 OS 23 k
rpm-build x86_64 4.17.0-14.oe2203 update 69 k
zlib-devel x86_64 1.2.11-22.oe2203 update 90 k
Upgrading:
cpp x86_64 10.3.1-11.oe2203 update 8.9 M
gcc x86_64 10.3.1-11.oe2203 update 29 M
libgcc x86_64 10.3.1-11.oe2203 update 74 k
libgomp x86_64 10.3.1-11.oe2203 update 228 k
openssl x86_64 1:1.1.1m-13.oe2203 update 445 k
openssl-libs x86_64 1:1.1.1m-13.oe2203 update 1.4 M
python3-rpm x86_64 4.17.0-14.oe2203 update 79 k
rpm x86_64 4.17.0-14.oe2203 update 492 k
rpm-libs x86_64 4.17.0-14.oe2203 update 366 k
zlib x86_64 1.2.11-22.oe2203 update 88 k
Installing dependencies:
babeltrace x86_64 1.5.8-2.oe2203 OS 205 k
debugedit x86_64 5.0-2.oe2203 OS 74 k
dwz x86_64 0.14-3.oe2203 OS 119 k
e2fsprogs-devel x86_64 1.46.4-7.oe2203 OS 287 k
gdb-headless x86_64 11.1-1.oe2203 OS 3.5 M
keyutils-libs-devel x86_64 1.6.3-3.oe2203 OS 12 k
krb5-devel x86_64 1.19.2-2.oe2203 OS 164 k
libipt x86_64 2.0.4-1.oe2203 OS 51 k
libselinux-devel x86_64 3.3-1.oe2203 OS 102 k
libsepol-devel x86_64 3.3-2.oe2203 OS 362 k
libverto-devel x86_64 0.3.2-1.oe2203 OS 17 k
patch x86_64 2.7.6-12.oe2203 OS 123 k
pcre2-devel x86_64 10.39-1.oe2203 OS 501 k
Transaction Summary
=========================================================================================================================================================================================================================================
Install 17 Packages
Upgrade 10 Packages
Total download size: 48 M
Downloading Packages:
...
Complete!
4、进入/root/rpmbuild/SPECS目录,进行试编译
[root@localhost SPECS]# cd /root/rpmbuild/SPECS/
[root@localhost SPECS]# rpmbuild -bb zabbix.spec
错误:构建依赖失败:
pcre-devel 被 zabbix-6.2.3-release1.x86_64 需要
[root@localhost SPECS]# dnf install pcre-devel -y
Last metadata expiration check: 0:12:37 ago on 2022年12月21日 星期三 14时10分10秒.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
pcre-devel x86_64 8.45-2.oe2203 update 437 k
Upgrading:
pcre x86_64 8.45-2.oe2203 update 466 k
...
Upgraded:
pcre-8.45-2.oe2203.x86_64
Installed:
pcre-devel-8.45-2.oe2203.x86_64
Complete!
5、提示”pcre-devel 被 zabbix-6.2.3-release1.x86_64 需要“报错,需安装pcre-devel包,安装后继续编译
[root@localhost SPECS]# rpmbuild -bb zabbix.spec
正在执行(%prep):/bin/sh -e /var/tmp/rpm-tmp.CDUTFx
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd /root/rpmbuild/BUILD
...
checking for mysql_config... no
checking for mariadb_config... no
configure: error: MySQL library not found
错误:/var/tmp/rpm-tmp.Kg6eJW (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.Kg6eJW (%build) 退出状态不好
6、提示”configure: error: MySQL library not found”报错,需安装mariadb-devel包
[root@localhost SPECS]# dnf install -y mariadb-devel
Last metadata expiration check: 0:20:02 ago on 2022年12月21日 星期三 14时41分02秒.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
mariadb-devel x86_64 4:10.5.16-1.oe2203 update 1.1 M
Installing dependencies:
mariadb-connector-c-devel x86_64 3.1.13-2.oe2203 update 52 k
...
Installed:
mariadb-connector-c-devel-3.1.13-2.oe2203.x86_64 mariadb-devel-4:10.5.16-1.oe2203.x86_64
Complete!
7、安装后继续编译
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libxml-2.0', required by 'virtual:world', not found
checking for xmlReadMemory in -lxml2... no
configure: error: Not found libxml2 library
错误:/var/tmp/rpm-tmp.IamAcI (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.IamAcI (%build) 退出状态不好
[root@localhost SPECS]# dnf install -y libxml2-devel
Last metadata expiration check: 0:22:21 ago on 2022年12月21日 星期三 14时41分02秒.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
libxml2-devel x86_64 2.9.12-13.oe2203 update 1.7 M
Installing dependencies:
xz-devel x86_64 5.2.5-1.oe2203 OS 140 k
...
Installed:
libxml2-devel-2.9.12-13.oe2203.x86_64 xz-devel-5.2.5-1.oe2203.x86_64
Complete!
8、继续报错“configure: error: Not found libxml2 library”,安装unixODBC-devel包
configure: error: unixODBC library not found
错误:/var/tmp/rpm-tmp.8oDCDK (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.8oDCDK (%build) 退出状态不好
[root@localhost SPECS]# dnf install -y unixODBC-devel
Last metadata expiration check: 0:23:37 ago on 2022年12月21日 星期三 14时41分02秒.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
unixODBC-devel x86_64 2.3.7-3.oe2203 OS 48 k
Installing dependencies:
unixODBC x86_64 2.3.7-3.oe2203 OS 401 k
...
Installed:
unixODBC-2.3.7-3.oe2203.x86_64 unixODBC-devel-2.3.7-3.oe2203.x86_64
Complete!
9、编译继续
checking for net-snmp-config... no
configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
错误:/var/tmp/rpm-tmp.EjnajB (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.EjnajB (%build) 退出状态不好
[root@localhost SPECS]# dnf install -y net-snmp-devel
10、报错“configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config”,安装net-snmp-devel继续
checking for SSH2 support... no
configure: error: SSH2 library not found
错误:/var/tmp/rpm-tmp.HXzNXK (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.HXzNXK (%build) 退出状态不好
[root@localhost SPECS]# dnf -y install libssh2-devel
11、报错“configure: error: SSH2 library not found”,安装libssh2-devel继续
checking for OPENIPMI support... no
configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h
错误:/var/tmp/rpm-tmp.x0xL7A (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.x0xL7A (%build) 退出状态不好
[root@localhost SPECS]# dnf install -y OpenIPMI-devel
12、报错“configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h”,安装OpenIPMI-devel继续
checking for libevent support... configure: error: Unable to use libevent (libevent check failed)
错误:/var/tmp/rpm-tmp.KfRi8t (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.KfRi8t (%build) 退出状态不好
[root@localhost SPECS]# dnf install libevent-devel -y
13、报错“checking for libevent support... configure: error: Unable to use libevent (libevent check failed)”,安装libevent-devel,继续
checking for LDAP support of ldap.h... no
configure: error: Invalid LDAP directory - unable to find ldap.h
错误:/var/tmp/rpm-tmp.3duW71 (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.3duW71 (%build) 退出状态不好
[root@localhost SPECS]# dnf install -y openldap openldap-devel
14、报错“configure: error: Invalid LDAP directory - unable to find ldap.h”,安装openldap 、openldap-devel,继续
checking for curl-config... no
configure: error: Curl library not found
错误:/var/tmp/rpm-tmp.UPm10a (%build) 退出状态不好
RPM 构建错误:
/var/tmp/rpm-tmp.UPm10a (%build) 退出状态不好
[root@localhost SPECS]# dnf install curl-devel -y
15、报错“configure: error: Curl library not found”,安装curl-devel,继续
RPM 构建错误:
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/proxy.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/sqlite3/proxy.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql
没有找到文件:/root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64/usr/share/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.sql
16、还是报错,一堆postgresql和sqlite3数据库的sql文件没找到,因为只需要mysql的版proxy程序的rpm,再次修改zabbix.spec文件,以下为修改后的文件和备份的原生文件zabbix.spec.bak的区别
[root@localhost SPECS]# diff zabbix.spec zabbix.spec.bak
43d42
< %{!?build_proxy: %global build_proxy 1}
64a64,65
> %{!?build_with_pgsql: %global build_with_pgsql 1}
> %{!?build_with_sqlite: %global build_with_sqlite 1}
67a69,74
> %if 0%{build_with_mysql} == 0 && 0%{build_with_pgsql} == 0
> %global build_server 0
> %if 0%{build_with_sqlite} == 0
> %global build_proxy 0
> %endif
> %endif
700c707
< %endif
---
>
709d715
<
732a739,743
> %if 0%{?build_with_sqlite} && 0%{?build_proxy}
> mkdir -p $RPM_BUILD_ROOT%{_datadir}/zabbix-sql-scripts/sqlite3
> cp database/sqlite3/proxy.sql $RPM_BUILD_ROOT%{_datadir}/zabbix-sql-scripts/sqlite3
> %endif
> %endif
985a997,1010
> %{_datadir}/zabbix-sql-scripts/postgresql/proxy.sql
> %{_datadir}/zabbix-sql-scripts/sqlite3/proxy.sql
> %endif
> %if 0%{?build_server} || 0%{?build_proxy}
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_log.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_str.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_text.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_no_compression/history_pk_uint.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_log.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_str.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_text.sql
> %{_datadir}/zabbix-sql-scripts/postgresql/tsdb_history_pk_upgrade_with_compression/history_pk_uint.sql
17、再次编译,成功。
[root@localhost SPECS]# rpmbuild -bb zabbix.spec
...
Requires(post): /bin/sh systemd
Requires(preun): /bin/sh systemd
Requires(postun): /bin/sh systemd
Requires: libOpenIPMI.so.0()(64bit) libOpenIPMIposix.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.11)(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.15)(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcurl.so.4()(64bit) libevent-2.1.so.7()(64bit) liblber.so.2()(64bit) liblber.so.2(OPENLDAP_2.200)(64bit) libldap.so.2()(64bit) libldap.so.2(OPENLDAP_2.200)(64bit) libm.so.6()(64bit) libm.so.6(GLIBC_2.2.5)(64bit) libm.so.6(GLIBC_2.29)(64bit) libmariadb.so.3()(64bit) libmariadb.so.3(libmariadb_3)(64bit) libmariadb.so.3(libmysqlclient_18)(64bit) libnetsnmp.so.40()(64bit) libodbc.so.2()(64bit) libpcre.so.1()(64bit) libssh2.so.1()(64bit) libxml2.so.2()(64bit) libxml2.so.2(LIBXML2_2.4.30)(64bit) libxml2.so.2(LIBXML2_2.6.0)(64bit) libxml2.so.2(LIBXML2_2.6.5)(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) rtld(GNU_HASH)
检查未打包文件:/usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64
已写至:/root/rpmbuild/RPMS/x86_64/zabbix-js-6.2.3-release1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/zabbix-agent-6.2.3-release1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/zabbix-sender-6.2.3-release1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/zabbix-proxy-mysql-6.2.3-release1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/x86_64/zabbix-get-6.2.3-release1.x86_64.rpm
已写至:/root/rpmbuild/RPMS/noarch/zabbix-sql-scripts-6.2.3-release1.noarch.rpm
正在执行(%clean):/bin/sh -e /var/tmp/rpm-tmp.4XqsVp
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd zabbix-6.2.3
+ rm -rf /root/rpmbuild/BUILDROOT/zabbix-6.2.3-release1.x86_64
+ RPM_EC=0
++ jobs -p
+ exit 0
生成的rpm文件在/root/rpmbuild/RPMS/x86_64目录中,此次共生成了zabbix-proxy-mysql等6个rpm包
三、安装测试
1、安装测试生成的rpm包
[root@localhost SPECS]# dnf install /root/rpmbuild/RPMS/x86_64/zabbix-proxy-mysql-6.2.3-release1.x86_64.rpm
Last metadata expiration check: 3:09:17 ago on 2022年12月21日 星期三 14时29分13秒.
Dependencies resolved.
=========================================================================================================================================================================================================================================
Package Architecture Version Repository Size
=========================================================================================================================================================================================================================================
Installing:
zabbix-proxy-mysql x86_64 6.2.3-release1 @commandline 1.4 M
Installing dependencies:
fping x86_64 4.2-3.oe2203 everything 39 k
Transaction Summary
=========================================================================================================================================================================================================================================
Install 2 Packages
Total size: 1.5 M
Total download size: 39 k
Installed size: 5.6 M
Is this ok [y/N]: y
Downloading Packages:
fping-4.2-3.oe2203.x86_64.rpm 212 kB/s | 39 kB 00:00
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 210 kB/s | 39 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Running scriptlet: fping-4.2-3.oe2203.x86_64 1/2
Installing : fping-4.2-3.oe2203.x86_64 1/2
Running scriptlet: fping-4.2-3.oe2203.x86_64 1/2
Running scriptlet: zabbix-proxy-mysql-6.2.3-release1.x86_64 2/2
Installing : zabbix-proxy-mysql-6.2.3-release1.x86_64 2/2
Running scriptlet: zabbix-proxy-mysql-6.2.3-release1.x86_64 2/2
/usr/lib/tmpfiles.d/net-snmp.conf:1: Line references path below legacy directory /var/run/, updating /var/run/net-snmp → /run/net-snmp; please update the tmpfiles.d/ drop-in file accordingly.
Verifying : fping-4.2-3.oe2203.x86_64 1/2
Verifying : zabbix-proxy-mysql-6.2.3-release1.x86_64 2/2
Installed:
fping-4.2-3.oe2203.x86_64 zabbix-proxy-mysql-6.2.3-release1.x86_64
Complete!
安装成功完成,没有任何报错信息。
2、启动运行并查看程序状态,程序运行正常
3、确认rpm包安装信息,因未改生成包的名称信息的字段定义,所以包名称没有OE2203字样,其实想加也可以做的。
至此,本次定制编译任务完成,实测zabbix6.2.3的proxy在openEuler22.03 LTS系统环境下运行良好。在编译过程中报错加装的依赖包,在zabbix.spec原文件其实也有定义,可以一次性装完,本例为测试并记录出错信息,故采用了各个安装的方式来完成。
网友jaoyzeng提供了以下配置,以增加编译其它安装包,我未测试,有需求的可以参考:
%{!?build_agent: %global build_agent 1}
%{!?build_agent2: %global build_agent2 1}
%{!?build_web_service: %global build_web_service 1}
%{!?build_proxy: %global build_proxy 1}
%{!?build_java_gateway: %global build_java_gateway 1}
%{!?build_server: %global build_server 1}
%{!?build_frontend: %global build_frontend 1}
%{!?build_with_mysql: %global build_with_mysql 1}
%{!?build_with_pgsql: %global build_with_pgsql 1}
%{!?build_with_sqlite: %global build_with_sqlite 1}
%{!?zabbix_script_dir: %global zabbix_script_dir /usr/lib/zabbix}
%{!?build_selinux_policy: %global build_selinux_policy 1}
%global _hardened_build