🍃基于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      遇到故障后清理缓存
相关推荐
不想有bug的小菜鸟1 分钟前
vue3使用iframe全屏展示pdf效果
前端·pdf
m0_748238632 分钟前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
u0100559603 分钟前
前端代理,解决跨域问题讲解
前端
quitv8 分钟前
react脚手架配置别名
前端·javascript·react.js
m0_5287238116 分钟前
前端如何进行性能优化
前端·性能优化
chian-ocean17 分钟前
Linux 文件缓冲区:高效数据访问的幕后推手
linux·运维·服务器
化作繁星18 分钟前
在 Vue 3 中,如何缓存和复用动态组件
前端·vue.js·缓存
加油=^_^=19 分钟前
【Linux】进程优先级 | 进程调度(三)
linux·运维·服务器
一粒沙-38 分钟前
iOS 将GIF图分享至微信
前端·ios
graywen42 分钟前
从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
前端