🍃基于Linux Kylin10 系统的kibana源码编译(利用淘宝源)

🍂前言

简单记录一下在Linux Kylin10系统里源码编译kibana,期间也踩了不少坑,仅供大家参考。

🍂一、编译环境

kibana版本:7.17.7

服务器系统:4.19.90-23.8.v2101.ky10.aarch64

🍂二、安装依赖包

需要安装 glibcg++, makebasionPython等。(因为当时我是就升级了这么多的依赖),node 的版本也要对应。

1.首先查看node版本,kibana7.17.7用的是node16.17.1

perl 复制代码
nvm use

nvm无效的话,通过curl或wget安装

bash 复制代码
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

source ~/.bashrc 重启环境

nvm --version

nvm install v16.19.1   安装node

nvm use v16.17.1   使用指定版本node

2.按照以下命令即可升级make

go 复制代码
wget http://ftp.gnu.org/pub/gnu/make/make-4.3.tar.gz
tar -zxvf make-4.3.tar.gz 
cd make-4.3 
./configure --prefix=/usr
make && make install
make -v

3.按照以下命令即可升级basion

bash 复制代码
wget http://ftp.gnu.org/pub/gnu/bison/bison-3.0.5.tar.gz
tar -zxvf bison-3.0.5.tar.gz 
cd bison-3.0.5
./configure
make && make install
basin --version

4、按照以下命令即可升级python

bash 复制代码
yum install -y python2   安装python  如果有,可以忽略此步骤

yum install -y python3   安装python3

**下载新版本python**
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz

tar -zxvf Python-2.7.18.tgz

cd Python-2.7.18

./configure --prefix=/usr

make && make install

python --version 查看版本

下载新版本python3
wget https://www.python.org/ftp/python/3.8.8/Python-3.8.8.tgz

tar -zxvf Python-3.8.8.tgz

cd Python-3.8.8

./configure

make && make install

python3 -V    查看python3版本

5.在升级 glibcg++的时候踩了很多的坑,最终采用 openeuler 去解决

首先vi /etc/yum.repo.d/openEuler.repo 如果没有这个文件直接新建

bash 复制代码
vi /etc/yum.repo.d/openEuler.repo 

将下面的代码复制进去

ini 复制代码
[osrepo]
name=osrepo
baseurl=http://repo.openeuler.org/openEuler-22.03-LTS/everything/aarch64/
enabled=1
gpgcheck=1
gpgkey=http://repo.openeuler.org/openEuler-22.03-LTS/everything/aarch64/RPM-GPG-KEY-openEuler

执行yum install ocaml-dune

yum install ocaml-dune  

6.此时所有用到的依赖已经升级完毕,可直接运行

sql 复制代码
yarn start    
或
yarn start --run-examples

🍂三、修改代码部分

(1.) src/dev/build/lib/platform.ts文件

修改前:

javascript 复制代码
getNodeArch() {
         return `${name}-x64`;
         }
     getBuildName() {
         return `${name}-x86_64`;
         }

修改后:

javascript 复制代码
getNodeArch() {
         return `${name}-arm64`;
         }
     getBuildName() {
         return `${name}-aarch64`;
         }

(2.)src/dev/build/tasks/os_packages/create_os_package_tasks.ts文件

修改前:

arduino 复制代码
async run(config, log, build) {
         await runFpm(config, log, build, 'rpm', [
         '--architecture', 'x86_64',
         '--rpm-os', 'linux'
         ]);

         }

修改后:

arduino 复制代码
async run(config, log, build) {
         await runFpm(config, log, build, 'rpm', [
         '--architecture', 'aarch64',
         '--rpm-os', 'linux'
         ]);

         }

(3.)src/dev/ci_setup/setup_env.sh文件

修改前:

bash 复制代码
nodeUrl="https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v$nodeVersion/node-v$nodeVersion-${OS}-${classifier}"

修改后:

bash 复制代码
nodeUrl="https://npm.taobao.org/mirrors/node/v$nodeVersion/node-v$nodeVersion-${OS}-${classifier}"

(4.)src/dev/build/tasks/nodejs/node_download_info.ts文件

修改前:

ini 复制代码
const url = `https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v${version}/${downloadName}`;

修改后:

ini 复制代码
const url = `https://npm.taobao.org/mirrors/node/v${version}/${downloadName}`;

(5.)src/dev/build/tasks/nodejs/node_shasums.ts文件

修改前:

ini 复制代码
const url = `https://us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-proxy-cache/dist/v${nodeVersion}/SHASUMS256.txt`;

修改后:

ini 复制代码
const url = `https://npm.taobao.org/mirrors/node/v${nodeVersion}/SHASUMS256.txt`;

(6.)删除根目录下package.json里面的iedriver这行依赖,淘宝源里没有这个.如果没有就不需要了

综上所述就是一个理论:


us-central1-elastic-kibana-184716.cloudfunctions.net/kibana-ci-p...

全部换成

npm.taobao.org/mirrors/nod...

原因就是之前地址访问不到,导致执行yarn build --skip-os-packages的时候会连接超时而无法下载

🍂四、设置淘宝源,下载所需的依赖包和编译,执行以下命令

arduino 复制代码
npm config set registry https://registry.npm.taobao.org/

yarn config set registry https://registry.npm.taobao.org/

yarn config set "chromedriver_cdnurl" "https://npm.taobao.org/mirrors/chromedriver"

npm config set puppeteer_download_host=https://npm.taobao.org/mirrors

Bootstrap Kibana 安装所有依赖项其他命令:

css 复制代码
yarn kbn bootstrap

yarn kbn bootstrap --offline   可离线安装

yarn kbn bootstrap --force-install    强制安装

yarn kbn clean     切换不同版本npm需要运行

yarn cache clean      遇到故障后清理缓存
相关推荐
程序员南飞1 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
StrokeAce1 小时前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
学习使我快乐012 小时前
JS进阶 3——深入面向对象、原型
开发语言·前端·javascript
bobostudio19952 小时前
TypeScript 设计模式之【策略模式】
前端·javascript·设计模式·typescript·策略模式
黄尚圈圈3 小时前
Vue 中引入 ECharts 的详细步骤与示例
前端·vue.js·echarts
浮华似水4 小时前
简洁之道 - React Hook Form
前端
热爱嵌入式的小许5 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
正小安6 小时前
如何在微信小程序中实现分包加载和预下载
前端·微信小程序·小程序
_.Switch8 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一路向前的月光8 小时前
Vue2中的监听和计算属性的区别
前端·javascript·vue.js