基于二进制可执行文件打包Rpm文件【zabbix agent】

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博客

 参考链接:

可执行文件简单打包成rpm文件_fang437385323的专栏-CSDN博客_rpm 打包可执行文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值