1 安装rpm依赖环境
yum install rpm-build
yum install rpm-devel
yum install rpmdevtools
2 生成目录
rpmdev-setuptree
3 进入/root/rpmbuild/SPECS/,新建zabbix.spec
# rpmrebuild autogenerated specfile
BuildRoot: /root/.tmp/rpmrebuild.18522/work/root
AutoProv: no
%undefine __find_provides
AutoReq: no
%undefine __find_requires
# Do not try autogenerate prereq/conflicts/obsoletes and check files
%undefine __check_files
%undefine __find_prereq
%undefine __find_conflicts
%undefine __find_obsoletes
# Be sure buildpolicy set to do nothing
%define __spec_install_post %{nil}
#OS: linux
#SIZE: 1001776
#ARCHIVESIZE: 1004664
#ARCH: x86_64
BuildArch: x86_64
Name: zabbix_agentd
Version: 3.0.15
Release: 1
License: unknown
Group: default
Summary: no description given
URL: http://example.com/no-uri-given
Vendor: root@xx-compute-xxxxxx
Packager: <root@xx-compute-xxxxxx1>
Prefix: /
Provides: zabbix_agentd = 3.0.15-1
Provides: zabbix_agentd(x86-64) = 3.0.15-1
Requires: /bin/sh
#Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1
#Requires: rpmlib(CompressedFileNames) <= 3.0.4-1
#suggest
#enhance
%description
no description given
%files
%attr(0644, root, root) "/zabbix-agent.service"
%attr(0644, root, root) "/zabbix_agentd"
%attr(0644, root, root) "/zabbix_agentd.conf"
%attr(0644, root, root) "/scripts/cpu_util.py"
%attr(0644, root, root) "/scripts/disk_read_bytes_rate.py"
%attr(0644, root, root) "/scripts/disk_read_requests_rate.py"
%attr(0644, root, root) "/scripts/disk_util_inband.py"
%attr(0644, root, root) "/scripts/disk_write_bytes_rate.py"
%attr(0644, root, root) "/scripts/disk_write_requests_rate.py"
%attr(0644, root, root) "/scripts/diskagent_process_register.py"
%attr(0644, root, root) "/scripts/get_all_ip.py"
%attr(0644, root, root) "/scripts/mem_util.py"
%attr(0644, root, root) "/scripts/mem_util_v.py"
%attr(0644, root, root) "/scripts/network_incoming_bytes_rate_inband.py"
%attr(0644, root, root) "/scripts/network_outing_bytes_rate_inband.py"
%post -p /bin/sh
#!/bin/bash
##############################################################
# File Name: updatezabbix.sh
# Version: V1.0
# Author: xy
# E-mail: xyzhangyd@163.com
# Created Time : 2018-10-31 17:01:14
# Description:
##############################################################
uuid=`/usr/sbin/dmidecode -s system-uuid | tr 'A-Z' 'a-z'`
check_file(){
/bin/cp /zabbix_agentd /usr/sbin/zabbix_agentd &>/dev/null
/bin/cp /zabbix-agent.service /usr/lib/systemd/system/zabbix-agent.service
/usr/bin/chmod +x /usr/sbin/zabbix_agentd
mkdir -p /etc/zabbix/scripts ; mkdir -p /etc/zabbix/zabbix_agentd.d ; mkdir -p /var/log/zabbix/ ; mkdir -p /run/zabbix/;
}
copy_conf(){
/bin/cp /zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf && /usr/bin/sed -ri "s#^Hostname=.*#Hostname=${uuid}#g" /etc/zabbix/zabbix_agentd.conf
/bin/cp -fr /scripts/* /etc/zabbix/scripts/ && /usr/bin/chmod -R +x /etc/zabbix/scripts/
}
start_server(){
systemctl enable zabbix-agent.service && systemctl restart zabbix-agent.service
rm -rf /root/rpm
rm -f /root/zabbix_agentd-3.0.15-1.x86_64.rpm
}
main(){
check_file
copy_conf
start_server
}
main
ServerActive=169.254.169.254|wc -l)
4 新建rpmbuild/BUILDROOT, 将要打包的文件复制到rpmbuild/BUILDROOT/目录下,解压并改名
zabbix_agentd-3.0.15-1.x86_64
5 进入/SPECS目录,执行rpmbuild -ba zabbix.spec 此时在rpmbuild/RPMS/x86_64/目录会生成rpm打包文件。
6 安装命令: yum install xxxx , 若报错,卸载命令:
rpm -qa|grep ctcm
rpm -e ctcm_agentd-3.0.15-1.ctky1.x86_64
卸载参考:linux安装jdk1.6提示jdk-2000:1.6.0_41-fcs.x86_64 is already installed的解决方法_earthhour的专栏-CSDN博客