vigil rpm 包制作
vigil 可以方便的进行服务的监控,以下尝试制作一个rpm 包,方便使用
安装依赖
- ruby
yum -y install ruby rubygems ruby-devel
- 修改gem 源
可选,如果网络访问没有问题的话
gem sources -a http://mirrors.aliyun.com/rubygems/
gem sources --remove http://rubygems.org/
查看修改后的
gem source list
- 安装fpm
可能会有json 的问题,如果有问题,可以自己安装下
gem install fpm
vigil rpm 构建
- 项目结构
├── res
├── vigil
├── vigil.cfg
├── vigil.service
- 说明
res 是vigil 的模版以及静态资源
vigil 是编译好的linux 二进制文件
vigil.cfg 是一个demo 配置
vigil.service 是使用systemd 管理的service
- 我们rpm的目标
安装完成rpm 包之后vigil.cfg 到/etc/目录
vigil 二进制文件到 /usr/bin
vigil.service systemd service 文件到 /usr/lib/systemd/system/vigil.service
res 到 /etc/vigil 目录 - 使用的命令
fpm -s dir -t rpm -n vigil --config-files /etc/vigil.cfg -v v1.4 \
./vigil=/usr/bin/ \
./vigil.cfg=/etc/ \
./res=/etc/vigil/ \
./vigil.service=/usr/lib/systemd/system/vigil.service
说明:
因为我们制作的是rpm 包,所以t 为rpm -s 指定为dir ,使用配置映射,达到我们上边说到的目的
- 执行效果
fpm -s dir -t rpm -n vigil --config-files /etc/vigil.cfg -v v1.4 \
> ./vigil=/usr/bin/ \
> ./vigil.cfg=/etc/ \
> ./res=/etc/vigil/ \
> ./vigil.service=/usr/lib/systemd/system/vigil.service
Created package {:path=>"vigil-v1.4-1.x86_64.rpm"}
- 查看rpm 的效果
使用 rpm2cpio
rpm2cpio vigil-v1.4-1.x86_64.rpm |cpio -ivd
./etc/vigil.cfg
./etc/vigil/res/assets/fonts/open_sans/open_sans_bold.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_bold.woff2
./etc/vigil/res/assets/fonts/open_sans/open_sans_light.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_light.woff2
./etc/vigil/res/assets/fonts/open_sans/open_sans_regular.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_regular.woff2
./etc/vigil/res/assets/fonts/open_sans/open_sans_semibold.woff
./etc/vigil/res/assets/fonts/open_sans/open_sans_semibold.woff2
./etc/vigil/res/assets/images/badges/color-dead-default.svg
./etc/vigil/res/assets/images/badges/color-healthy-default.svg
./etc/vigil/res/assets/images/badges/color-sick-default.svg
./etc/vigil/res/assets/images/badges/icon-dead-default.svg
./etc/vigil/res/assets/images/badges/icon-dead-large.svg
./etc/vigil/res/assets/images/badges/icon-healthy-default.svg
./etc/vigil/res/assets/images/badges/icon-healthy-large.svg
./etc/vigil/res/assets/images/badges/icon-sick-default.svg
./etc/vigil/res/assets/images/badges/icon-sick-large.svg
./etc/vigil/res/assets/javascripts/index.js
./etc/vigil/res/assets/public/robots.txt
./etc/vigil/res/assets/stylesheets/common.css
./etc/vigil/res/assets/stylesheets/index.css
./etc/vigil/res/assets/templates/index.tera
./usr/bin/vigil
./usr/lib/systemd/system/vigil.service
安装&&使用制作好的rpm
- 安装
yum install -y vigil-v1.4-1.x86_64.rpm
已加载插件:fastestmirror
正在检查 vigil-v1.4-1.x86_64.rpm: vigil-v1.4-1.x86_64
vigil-v1.4-1.x86_64.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 vigil.x86_64.0.v1.4-1 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================================================
Package 架构 版本 源 大小
=======================================================================================================================
正在安装:
vigil x86_64 v1.4-1 /vigil-v1.4-1.x86_64 8.4 M
事务概要
=======================================================================================================================
安装 1 软件包
总计:8.4 M
安装大小:8.4 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : vigil-v1.4-1.x86_64 1/1
验证中 : vigil-v1.4-1.x86_64 1/1
已安装:
vigil.x86_64 0:v1.4-1
完毕!
- 启动服务
systemctl start vigil
说明
以上只是简单的一个rpm 的制作,同时代码我也已经放到GitHub 上了,对于vigil 的配置可以参考官方文档
同时这个vigil 二进制是我添加了多人邮件发送构建之后的
参考资料
https://github.com/rongfengliang/vigil-rpm
https://github.com/valeriansaliou/vigil
https://github.com/rongfengliang/myvigil-multiemail
https://fpm.readthedocs.io
vigil rpm 包制作的更多相关文章
- php-7.1.0 rpm包制作
nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...
- RPM包制作教程
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- rpm包制作(待实验)
作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm N ...
- RPM包制作方法
一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...
- rpm包制作介绍
RPM(Rpm Package Management)在ReadHat等发行版下被用作软件包管理程序,其将某个软件相关的文件置入一个.rpm包中,用rpm命令,我们可以方便地完成Linux下软件安装. ...
- vigil deb 包制作
前边有写过简单rpm 包的制作,现在制作一个简单的deb 包. deb 包的制作是通过源码编译+ fpm 环境准备 rust curl https://sh.rustup.rs -sSf | sh 配 ...
- nginx-1.8.0 rpm包制作
1.安装rpm-build # yum install rpm-build 2.创建制作RPM包目录 # cat /root/.rpmmacros %_topdir /root/rpmbuild %_ ...
- 实战RPM包制作
在开发中经常会用到一些rpm包,但是一直没有自己手动制作过.今天在制作的时候意外地还解决了自己以前一直困惑的问题,就是怎么制作rpm debuginfo包,类似CentOS官网那样的debuginfo ...
- RPM包制作过程(一)
本机环境:centos7,64位 1. 首先安装工具,rpmbuild可能在rpmdevtools里已经包含 #yum install rpm-devel.x86_64 #yum install rp ...
随机推荐
- 在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径
原文:在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径 在项目编译成 dll 之前,如何分析项目的所有依赖呢?可以在在项目的 Target 中去收集项目的依赖. ...
- Mars Sample 使用说明
Mars Sample 使用说明 https://github.com/Tencent/mars/wiki/Mars-sample-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98 ...
- in __init__ self._traceback = tf_stack.extract_stack()的一个原因
这样就会出错,原因在于函数返回为三个变量,若直接向写入函数那样运用sess.run()得到,就会导致错误. sess=tf.Session() sess.run(tf.initialize_all_v ...
- 2019 世纪龙java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.世纪龙等公司offer,岗位是Java后端开发,因为发展原因最终选择去了世纪龙,入职一年时间了,也成为了面试官 ...
- Matlab外观模式
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口.本文以计算机为例,用Matlab代码实现外观模式.计算机包括CPU.内存以及硬盘等这些部件.用户 ...
- 如何解决NoSuchMethodError
背景 工作中写单测,本来用的Mockito,但是为了mock方法里调用的其他静态方法,所以需要使用powermock,于是开始报错. 我把包引入了,然后照着网上的写单测代码,写完了之后运行.噩梦开始. ...
- android ViewFlipper(翻转视图) 使用
1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...
- WPF应用打包流程
1,安装工程模板插件Microsoft Visual Studio Installer Projects https://marketplace.visualstudio.com/items?item ...
- python文字转语音
使用百度接口 接口地址 https://ai.baidu.com/docs#/TTS-Online-Python-SDK/top 安装接口 pip install baidu-aip from aip ...
- 【转载】Linux磁盘管理:LVM逻辑卷管理
Linux学习之CentOS(二十五)--Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理 这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一. ...