Linux环境下编译Grafana汉化和打包

Grafana汉化和打包

说明:目前实现汉化的方案很笨拙,需要对源码里的模板文件,以及js里用的显示数据进行一一汉化。所以在这里记录一下汉化以及编译安装的过程。

准备工作

  1. 环境准备:go语言环境,node环境,git,这些环境安装就不再赘述
  2. 构建后端:把grafana源码down下来之后在grafana项目这个目录下执行
    go run build.go setup
    go run build.go build
  3. 构建前端
    npm install -g yarn
    yarn install --pure-lockfile
    yarn build
  4. 在这里注意运行yarn install –pure-lockfile的时候可能会报如下错误;
  5. 原因是虚拟机里没有安装bzip2所以下载的文件解压不了,所以执行如下命令;
    yum install bzip2
  6. 运行Grafana:
    ./bin/grafana-server
    输入localhost:3000就能看见grafana登录界面
    在这里插入图片描述

编译过程

  1. grafana的模板资源主要是在源码的public下,修改相应的html文件以及js文件就可以汉化
  2. 根据替换目标全局搜索,替换之后需要编译一下确保编译成功无报错。
    Yarn buid
    编译无报错如下
    在这里插入图片描述
  3. 将编译后的目录同步
    /bin/cp -rp /usr/share/grafana/
    Systemctl restart grafana-server

注意事项

  1. 有些改的地方在pkg下面,比如侧边栏,这些改完之后需要重新构建后端
    go run build.go build
  2. 将/bin/linux_amd64/grafana-server替换到/usr/sbin/grafana-server,然后重复上述编译过程

打包过程

说明:打包过程分为3部分,打包环境安装,解压官方rpm包获取spec文件和源文件。以源文件模板进行替换。

  1. 打包环境安装(目录结果如下)
    yum install epel-release centos-release –y
    yum install rpm-build rpmrebuild rpm cpio
    在这里插入图片描述

  2. 解压官方rpm包获取spec文件
    先获取官方grafana-7.5.6-1.rpm的包(任何目录下)
    wget https://dl.grafana.com/oss/release/grafana-7.5.6-1.x86_64.rpm

  3. 获取spec文件
    rpmrebuild -e -p --notest-install grafana-7.5.6-1.x86_64.rpm
    这时会打开到该rpm包的spec文件为一个临时文件,用vim打开的,使用vim的另存为功能(shift键+“:”,输入w (空格)文件名),当前目录就会保存一个spec文件,修改%files部分为如下(因为执行构建前后端时会生成动态的JS文件,且名字随机,获取到的原spec文件%files部分指定文件名写死了,不更改执行打包会报部分文件找不到),将spec文件移动至SPECS下。
    在这里插入图片描述

  4. 获取rpm中的源文件
    在获取spec文件时的目录下执行,会生成etc,usr这两个文件夹
    rpm2cpio grafana-7.5.6-1.x86_64.rpm | cpio -div
    在BUILDROOT目录下创建文件夹grafana-7.5.6-1.x86_64,将上述etc,usr移动至此
    修改/usr/lib/system/system/grafana-server.service,去掉如下行。
    在这里插入图片描述

  5. 将修改过后的grafana文件夹替换usr/share/grafana
    将修改过后的grafana文件夹下的/bin/grafana-server替换 usr/share/grafana/sbin/下的grafana-server
    rpmbuild重新构建rpm包
    rpmbuild –bb grafana-7.5.6-1.sepc

安装事项

  1. 执行rpm –ivh grafana-7.5.6-1.x86_64.rpm
  2. /bin/systemctl daemon-reload
  3. /bin/systemctl enable grafana-server.service
  4. /bin/systemctl start grafana-server.service
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值