当前位置: 首页 > news >正文

飞腾Ubantu22.04.3安装OpenNebula测试

1.概述

因OpenneBula官方镜像源只有AMD架构的镜像包不存在ARM的镜像包,借此用源码编译进行测试。

2.官网github地址

下载解压存放在服务器上:

https://github.com/OpenNebula/minione/blob/master

文件目录:
在这里插入图片描述

3.安装依赖包

sudo apt -y install g++ libxmlrpc-c++8-dev scons sqlite3 libmysqlclient-dev postgresql libxml2 libxml2-dev libvncserver-dev openssl libssl-dev ruby bison debhelper default-jdk libws-commons-util-java flex freerdp2-dev grunt javahelper libaugeas-dev libcairo2-dev libcurl4 libcurl4-openssl-dev libmysql++-dev libmysqlclient-dev libnode-dev libossp-uuid-dev libpango1.0-dev libpulse-dev libsqlite3-dev libssh2-1-dev  libssl-dev libsystemd-dev libtool libvncserver-dev libvorbis-dev libwebp-dev libxml2-dev libxmlrpc-c++8-dev libxslt1-dev libzmq3-dev libzmq5 nodejs npm postgresql-server-dev-all python3 python3-pip python3-setuptools rake ruby-dev unzip

4.创建用户及文件夹

创建用户文件夹:

sudo mkdir -p /srv/cloud/
sudo groupadd -g 10000 cloud
sudo useradd -u 10000 -g cloud -m oneadmin -d /srv/cloud/one -s /bin/bashsudo passwd oneadmin
sudo chown -R oneadmin:cloud /srv/cloud/

安装秘钥:

su -l oneadmin
ssh-keygen
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
echo “StrictHostKeyChecking no” > ~/.ssh/config
exit

安装nfs:

sudo apt-get install nfs-kernel-server

设置权限:

sudo pico /etc/exports

增加如下内容:

/srv/cloud  *(rw,fsid=0,nohide,sync,root_squash,no_subtree_check)

启动nfs:

sudo /etc/init.d/nfs-kernel-server start

安装 mariadb-client:

apt install mariadb-client-core-10.6

初始化mariadb:

mariadb-secure-installation
mysql -u root -proot
CREATE USER "oneadmin"@"localhost" IDENTIFIED BY "oneadmin";
CREATE DATABASE opennebula;
GRANT ALL PRIVILEGES ON opennebula.* TO "oneadmin" IDENTIFIED BY "oneadmin";
FLUSH PRIVILEGES;
quit;

5.编译

切换到one-master目录执行编译命令【参数根据自己需要选择】:

su -l oneadmin
scons sqlite=no mysql=yes postgresql=yes parsers=yes new_xmlrpc=yes sunstone=yes fireedge=yes systemd=yes rubygems=yes svncterm=yes  context=yes strict=yes

或者修改配置文件【one-master/SConstruct】

scons -j 4

在这里插入图片描述

6.安装

切换到one-master目录执行安装命令:

./install.sh -u oneadmin -g cloud -d /srv/cloud/one

配置环境变量:

vim ~/.bash_profileexport ONE_LOCATION=/srv/cloud/one
export ONE_AUTH=$ONE_LOCATION/.one/one_auth
export ONE_XMLRPC=http://localhost:2633/RPC2
export PATH=$ONE_LOCATION/bin:/usr/local/bin:/var/lib/gems/1.8/bin/:$PATH

刷新环境变量:

source ~/.bash_profile

创建用户登录账号密码:

mkdir ~/.one
echo "oneadmin:YOUR_PASSWORD" > ~/.one/one_auth
chmod 640 ~/.one/one_auth
one start

在这里插入图片描述

7. 启动sunstone-server

注意安装nodejs的版本为14,因"node-sass": “4.14.1”

官网下arm版本

https://nodejs.org/dist/latest-v14.x/ 

解压文件到 /usr/local下

vim  /etc/profile
export NODE_HOME=/usr/local/node-v14.21.3-linux-arm64
export PATH=$PATH:$NODE_HOME/binsource /etc/profile
rm -rf /usr/local/bin/node
ln -s /usr/local/node-v14.21.3-linux-arm64/bin/node /usr/local/bin/node
rm -rf /usr/local/bin/npm
ln -s  /usr/local/node-v14.21.3-linux-arm64/bin/npm /usr/local/bin/npm

改变npm默认的路径。
步骤如下:
进入终端,依次输入一下命令
(1)创建global安装任务的目录
mkdir ~/.npm-global
(2)配置npm使用新的目录
sudo npm config set prefix ‘~/.npm-global’
(3)在~/.profile文件中增加配置
sudo export PATH=~/.npm-global/bin:$PATH
(4)配置文件立即生效
source ~/.profile

目前ubantu 不支持在线下载16版本以下的nodejs,安装方法保留,

sudo apt purge nodejs
sudo apt autoremove 
sudo apt update
sudo apt install -y curl
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo dpkg --remove --force-remove-reinstreq libnode-dev
sudo dpkg --remove --force-remove-reinstreq libnode72:amd6
sudo apt install nodejs build-essential -y

配置为淘宝镜像:

npm config set registry http://registry.npm.taobao.org/

还原默认镜像

npm config set registry https://registry.npmjs.org

到安装目录/lib/sunstone/public/下构建nodejs

sudo npm install -g bower
sudo npm install -g grunt-cli
sudo npm install -g grunt
npm install
sh build.sh

运行

sunstone-server start

8. 异常

Install 过程中部分文件找不到(先忽略):
在这里插入图片描述
移除man相关文件

mv /usr/share/man/man1/oneacct.1.gz /bak
mv /usr/share/man/man1/oneshowback.1.gz /bak
mv /usr/share/man/man1/oneacl.1.gz /bak
mv /usr/share/man/man1/onehook.1.gz /bak
mv /usr/share/man/man1/onebackupjob.1.gz /bak
mv /usr/share/man/man1/onelog.1.gz /bak
mv /usr/share/man/man1/oneirb.1.gz /bak
mv /usr/share/man/man1/onehost.1.gz /bak
mv /usr/share/man/man1/oneimage.1.gz /bak
mv /usr/share/man/man1/oneuser.1.gz /bak
mv /usr/share/man/man1/onevm.1.gz /bak
mv /usr/share/man/man1/onevnet.1.gz /bak
mv /usr/share/man/man1/onetemplate.1.gz /bak
mv /usr/share/man/man1/onegroup.1.gz /bak
mv /usr/share/man/man1/onecfg.1.gz /bak
mv /usr/share/man/man1/onedb.1.gz /bak
mv /usr/share/man/man1/onedatastore.1.gz /bak
mv /usr/share/man/man1/onecluster.1.gz /bak
mv /usr/share/man/man1/onezone.1.gz /bak
mv /usr/share/man/man1/onevcenter.1.gz /bak
mv /usr/share/man/man1/oneflow.1.gz /bak
mv /usr/share/man/man1/oneflow-template.1.gz /bak
mv /usr/share/man/man1/oneprovision.1.gz /bak
mv /usr/share/man/man1/oneprovider.1.gz /bak
mv /usr/share/man/man1/onesecgroup.1.gz /bak
mv /usr/share/man/man1/onevdc.1.gz /bak
mv /usr/share/man/man1/onevrouter.1.gz /bak
mv /usr/share/man/man1/onemarket.1.gz /bak
mv /usr/share/man/man1/onemarketapp.1.gz /bak
mv /usr/share/man/man1/onevmgroup.1.gz /bak
mv /usr/share/man/man1/onevntemplate.1.gz /bak

生成man包文件(如果缺少其他依赖请自己安装):

apt-get install ronn
cd /xxx/one-master/share/man
bash build .sh

One服务启动失败:
在这里插入图片描述
详细查看日志文件onehem.error(不能加载文件):
在这里插入图片描述
在rubby工具中安装工具:

gem install ffi
gem install ffi-rzmq

再次启动 one start
在这里插入图片描述
安装依赖:

sudo gem install treetop

在这里插入图片描述
安装依赖:

sudo gem install  parse-cron

在次启动,具体错误找寻不到:
在这里插入图片描述
sunstone-server 服务启动失败:
在这里插入图片描述
安转依赖:

sudo gem install  sinatra

在这里插入图片描述
安转依赖:

sudo gem install  rqrcode

在这里插入图片描述
安转依赖:

sudo gem install  rotp

在这里插入图片描述
安转依赖:

sudo gem install  rbvmomi

在这里插入图片描述
安转依赖:

sudo gem install  addressable

缺少文件:
在这里插入图片描述

相关文章:

飞腾Ubantu22.04.3安装OpenNebula测试

1.概述 因OpenneBula官方镜像源只有AMD架构的镜像包不存在ARM的镜像包,借此用源码编译进行测试。 2.官网github地址 下载解压存放在服务器上: https://github.com/OpenNebula/minione/blob/master文件目录: 3.安装依赖包 sudo apt -y …...

gookit/color - Go语言命令行色彩使用库教程

gookit/color - Go语言命令行色彩使用库教程 1.安装2.基础颜色(16-color)3.256色彩/RGB风格 1.安装 go get github.com/gookit/color2.基础颜色(16-color) 提供通用的API方法:Print Printf Println Sprint Sprintf 1、例如: color.Yellow.Println(&q…...

python弹奏《起风了》

代码是很大的! 其实就是python用ctypes调用Win API import ctypes import threading import time winmm = ctypes.windll.winmmclass Scale:Rest = 0C8 = 108B7 = 107A7s = 106A7 = 105G7s = 104G7 = 103F7s = 102F7 = 101E7 = 100D7s = 99D7 = 98C7s = 97C7 = 96B6 = 95A6s…...

Linux---all

Linux常用命令: Linux常用命令-CSDN博客 Linux命令大全(超详细版)_linux命令行大全-CSDN博客Linux常用命令大全(非常全面)-CSDN博客Linux 命令大全(看这一篇就足够)_linux命令-CSDN博客Linux常用命令大全——赶紧收藏…...

前端中级算法题

前端中级算法题 反转字符串 编写一个函数,接受一个字符串作为输入,并返回反转后的字符串。 示例: function reverseString(str) {return str.split().reverse().join(); }reverseString(hello); // 输出: olleh 找出数组中的最大值 编写一个函…...

Ant Design Vue 编译后的网页特点是什么,怎么确认他是用的前端 Ant Design Vue 技术栈的呢?

Ant Design Vue 是一个前端 UI 框架,使用 Vue.js 构建。它包含了大量的预设样式和组件,如按钮、表单、表格等,可以帮助开发者快速构建出优雅且功能丰富的网页。但是,要确定一个编译后的网页是否使用了 Ant Design Vue,…...

python | PYTHON正则表达式

操作符说明实例.表示任何单个字符[]字符集,对单个字符给出取值范围[abc]表示a、b、c,[a-z]表示a到z单个字符[^ ]非字符集,对单个字符给出排除范围[^abc]表示非a或b或c的单个字符*前一个字符0次或无限次扩充abc* 表示ab,abc&#x…...

为什么大学c语言课不顺便教一下Linux,Makefile

为什么大学c语言课不顺便教一下Linux,Makefile,git,gdb等配套工具链呢? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Linux的资料从专业入门到高级教程工具包」&…...

Go后端开发 -- main函数 变量 常量 函数

Go后端开发 – main函数 & 变量 & 常量 & 函数 文章目录 Go后端开发 -- main函数 & 变量 & 常量 & 函数一、第一个main函数1.创建工程2.main函数解析 二、变量声明1.单变量声明2.多变量声明 三、常量1.常量的定义2.优雅的常量 iota 四、函数1.函数返回…...

2023/12/30 c++ work

定义一个Person类,私有成员int age,string &name,定义一个Stu类,包含私有成员double *score,写出两个类的构造函数、析构函数、拷贝构造和拷贝赋值函数,完成对Person的运算符重载(算术运算符、条件运算…...

ctfshow——文件上传

文章目录 文件上传思路web 151web 152web 153知识点解题 web 154web 155web 156web 157web 158web 159web160web 161 文件上传思路 web 151 打开页面显示:前台校验不可靠。说明这题是前端验证。 右键查看源代码,找到与上传点有关的前端代码&#xff1a…...

【RocketMQ每日一问】RocketMQ SQL92过滤用法以及原理?

1.生产端 public class SQLProducer {public static int count 10;public static String topic "xiao-zou-topic";public static void main(String[] args) {DefaultMQProducer producer MQUtils.createLocalProducer();IntStream.range(0, count).forEach(i -&g…...

Go语言中的包管理工具之Go Path的使用

GoLang 中常用的包管理的方式 1 )概述 常用的有三种 Go PathGo VendorGo Modules 2 )发展历程 早期go的包管理存在很大缺陷,甚至可以说没有官方统一的包管理工具 一方面官方在努力发布一些实验性的包管理工具。同时也出现了很多社区开发…...

cocos creator(2.4.7版本) webview 可以在上层添加UI控件

实现原理:cocos本身在平台中属于view,所以可以把webview放在底层,以达到目标。 实现过程:参考 cocos creator(2.4.7版本) videoplayer 可以在上层添加UI控件() 需要增加以下过程: …...

2023 年四川省职业院校技能大赛“信息安全管理与评估”样题

2023 年四川省职业院校技能大赛(高等职业教育) “信息安全管理与评估”样题 竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 第一阶段:模块一 网络平台搭建与设…...

ubuntu2204,mysql8.x安装

ubuntu 2204, MySQL8.x安装 sudo apt-get update sudo apt-get upgrade# 习惯性的先设置一下时区,这里我使用东八区 date -R # 若发现时间正常则无需设置tzselect# 依次选择 4 -> 10 -> 1 -> 1cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimedate -R# 同步时间…...

CG Magic分享云渲染和本地渲染之间的区别有什么?

无论是效果图渲染还是影视渲染,对于3D设计师来说都是常见的渲染方式就是云渲染和本地渲染。 本地电脑渲染是指将渲染任务分配给本地计算机进行处理,而云渲染是指将渲染任务上传至云端服务器进行处理。 对于一些初入行业的新手朋友来说,会在想…...

【算法与数据结构】763、LeetCode划分字母区间

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题要求为: 1.尽可能多的划分片段2.字母只能出现在一个片段中3.片段连接起来仍然是s&…...

新火种AI|人形机器人敲响上市罗,首日市值高达390亿港元

作者:一号 编辑:彩云 ​ 史上第一次!人形机器人在港交所和人类一起敲锣。 12月29日,在港交所现场,熊猫机器人优悠走上舞台,将手中的锣锤递给了优必选创始人、董事长兼CEO周剑,而同周剑一同准…...

SpringMVC框架

SpringMVC 三层架构MVC模式SpringMVC入门案例总结 三层架构 表现层(web) 页面数据的收集,产出页面 业务逻辑层(service) 业务处理 数据访问层(Dao) 数据持久化 MVC模式 SpringMVC 基于Java…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景

Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...

xmind转换为markdown

文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解:从决策树开始理解三、解法一:二叉决策树 DFS四、解法二:组合式回溯写法(推荐)五、解法对比 递归算法是编程中一种非常强大且常见的思想,它能够优雅地解决很多复杂的…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看,后端SQL查询确实返回了数据,但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离,并且ai辅助开发的时候,很容易出现前后端变量名不一致情况,还不报错,只是单…...

Java数组Arrays操作全攻略

Arrays类的概述 Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。 常用成员方法及代码示例 排序(sort) 对数组进行升序…...