linux版本suse rpm包,CentOS、RHEL、SUSE平台的rpm包的简单制作

rpm的制作工具rpmbuild,软件包名rpm-build,这里以CentOS6.7系统为例来讲解。如果系统未安装,则配置yum源后安装即可 yum install rpm-build -y 。

9620e63f860b12dc178ef60199e25905.png

rpmbuild制作rpm包的目录topdir使用配置文件macrofiles来配置, /usr/lib/rpm/macros,/usr/lib/rpm/macros.* ,~/.rpmacros 文件。

a07d7621aa5babe68ae917ae34454ffb.png

可查询默认topdir路径为各用户家目录下rpmbuild目录

ba47851e3d62be0f81368874b723a5c6.png

也可以使用命令查询:

CentOS/RHEL5:rpmbuild --showrc | grep macrofiles

CentOS/RHEL6:rpmbuild --showrc | grep topdir

1f1a3221bc568eea5912891520fd20e5.png

也可以自定义topdir目录,比如这里我们定义到 /usr/src/centos/rpmbuild ,创建文件~./rpmmacros,加入 %_topdir    /usr/src/centos/rpmbuild

7c3a8d917694b32ddd204f027aecdd13.png

查看topdir目录已经变成我们自定义的目录了

536a1dc823f3d7e8570effc593732e97.png

创建topdir目录与rpmbuild需要的目录

mkdir -p /usr/src/centos/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

cd08d0754274daaa84639443440a9ce3.png

按照实际的需求编写相关文件,如这里实现安装monitor的rpm包自动将两个脚本monitorCPU.sh、monitorMEM.sh安装到/opt/monitor/目录下,并添加到root用户的crontab计划任务,每隔20分钟运行一次脚本。

编写/usr/src/centos/rpmbuild/SPECS/monitor.spec文件,内容如下:

%define __spec_pre_post true

%define __spec_pre_pre true

%define __spec_build_post true

%define __spec_build_pre true

%define __spec_install_post true

%define __spec_install_pre true

%define __spec_clean_post true

%define __spec_clean_pre true

%define _binary_filesgigest_algorithm 1

%define _build_binary_file_digest_algo 1

%define _binary_payload wq.gzdio

Name:monitor

Version:1.0

Release:1

Summary:none

AutoReqprov:no

BuildRoot:%buildroot

Prefix:/opt/monitor

Group:default

License:GPLv3+

Vendor:CentOS

URL:none

Packager:monitor

Requires:procps

%description

monitor Cpu and Memory function

%pre

%post

cat >> /var/spool/cron/root << EOF

*/20 * * * * /opt/monitor/monitorCPU.sh

*/20 * * * * /opt/monitor/monitorMEM.sh

EOF

%build

%install

%clean

%files

%defattr(-,root,root,0755)

/opt/monitor/monitorCPU.sh

/opt/monitor/monitorMEM.sh

%changelog

257d80de1578aea667c5f5a3a41878ed.png

创建目录,拷贝脚本文件并加上执行权限。

mkdir -p /usr/src/centos/rpmbuild/BUILDROOT/monitor-1.0-1.x86_64/opt/monitor/

cp monitorCPU.sh /usr/src/centos/rpmbuild/BUILDROOT/monitor-1.0-1.x86_64/opt/monitor/

cp monitorMEM.sh /usr/src/centos/rpmbuild/BUILDROOT/monitor-1.0-1.x86_64/opt/monitor/

chmod +x /usr/src/centos/rpmbuild/BUILDROOT/monitor-1.0-1.x86_64/opt/monitor/*

225b52825552f535d0c9e0d84cfdbebc.png

目录文件结构如下:

9bd74aea2706e8a0579a5dabc294e9f8.png

执行命令生成rpm包 rpmbuild -bb /usr/src/centos/rpmbuild/SPECS/monitor.spec

9a7bd640ad5f580025d26ee13edb114d.png

生成的rpm包位于/usr/src/centos/rpmbuild/RPMS/x86_64/目录下

903154c82138c02c231551f6ed1b5cfb.png

安装测试rpm包前查看系统是否存在

eecf43cde5dbfc8d48ce7b4167aedb75.png

安装rpm包 rpm -ivh /usr/src/centos/rpmbuild/RPMS/x86_64/monitor-1.0-1.x86_64.rpm

ef92ba28bd986a5038900021b1aa56d3.png

查看rpm包安装状态,以及脚本部署以crontab任务的添加情况均成功。

ce99999315c8ef5ca7b87cca87f67aa9.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值