飞腾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 打开页面显示:前台校验不可靠。说明这题是前端验证。 右键查看源代码,找到与上传点有关的前端代码:…...
【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…...
PCB布局设计规范与最佳实践指南
PCB布局设计的最佳实践指南1. 布局设计基础原则1.1 结构约束优先处理在PCB布局初期,必须优先考虑机械结构约束条件:根据导入的结构文件定位所有有特殊位置要求的器件连接器1脚位置必须与结构设计完全匹配严格遵守产品设计中规定的元件限高要求1.2 美观与…...
AI 模型量化精度控制与评估方法
AI模型量化精度控制与评估方法 随着人工智能技术的快速发展,AI模型在边缘计算、移动设备等资源受限场景中的应用日益广泛。为了在有限的计算资源下保持模型性能,量化技术成为关键手段。量化过程中精度的损失直接影响模型的可靠性,因此量化精…...
Original PIPE vs. Serdes PIPE: Understanding the Key Differences in PHY Interface Design
1. 从零理解PIPE接口:物理层设计的通用语言 第一次接触PIPE接口时,我完全被各种缩写搞晕了。直到在某个PCIe项目中被时序问题折磨了整整两周后,才真正明白这个接口的重要性。简单来说,PIPE(PHY Interface for PCI Expr…...
Qt串口通信实战:用QSerialPort从零搭建一个串口调试助手(附完整源码)
Qt串口通信实战:从零构建工业级调试助手 在嵌入式开发和工业控制领域,串口通信作为最基础也最可靠的通信方式之一,至今仍发挥着不可替代的作用。无论是单片机与上位机的数据交换,还是工业设备的参数配置,一个稳定高效的…...
Miniconda环境迁移实战:如何将CentOS装好的Python环境打包到其他服务器?
Miniconda环境迁移实战:跨服务器Python环境无缝转移指南 当你在CentOS服务器上精心配置了一个完美的Python数据分析环境,却需要在另一台服务器上复现时,难道要重新经历一遍繁琐的安装过程?本文将揭示两种高效可靠的Miniconda环境迁…...
Simcenter Amesim 2023与Matlab 2023a联合仿真:从环境配置到实战例程详解
1. 联合仿真环境搭建前的准备工作 在开始Simcenter Amesim 2023与Matlab 2023a的联合仿真之前,我们需要做好充分的准备工作。这就像盖房子前要打好地基一样重要,否则后续工作可能会遇到各种意想不到的问题。 首先说说硬件要求。根据我的实测经验…...
OpenClaw智能体应用第一集--飞书多智能体配置
1.理论知识1. 1 Agent(智能体) 一个 Agent 是一个完全独立作用域的"大脑",拥有自己的三大核心要素: 从学术界和工程界的共识来看,一个生产级的通用 Agent 由以下 几大核心要素构成:1.2 模型 LLM …...
OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离
OpenClaw多用户方案:QwQ-32B共享环境下的权限隔离 1. 为什么需要多用户方案? 去年我在家里搭建了一个OpenClaw自动化环境,原本只是个人使用。直到某天家人看到我用语音指令让AI自动整理照片、生成周报后,纷纷要求"共享&quo…...
虚拟光驱软件Daemon Tools Lite
链接:https://pan.quark.cn/s/ebc5b998a07bDaemon Tools Lite 是一款免费、稳定、方便、优秀的虚拟光驱软件。安装后会自动在资源管理器生成一个和真实光驱一样的盘符,让您像访问真正光驱一样来访问虚拟光驱。Daemon Tools Lite 还可以模拟备份并且合并保…...
AtlasOS系统性能优化指南:从诊断到维护的全流程解决方案
AtlasOS系统性能优化指南:从诊断到维护的全流程解决方案 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...
