使用shell命令安装virtualbox的虚拟机并导出到vagrant的Box

0. 安装virtualbox and vagrant

[root@olx79vagrant ~]# cat /etc/resolv.conf
#search 114.114.114.114
nameserver 180.76.76.76-- install  VirtualBox
yum install oraclelinux-developer-release-*
wget https://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oraclevim /etc/yum.repos.d/ol7-temp.repo
[ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1yum install oraclelinux-release-el7
mv /etc/yum.repos.d/ol7-temp.repo /etc/yum.repos.d/ol7-temp.repo.disabled-- If you want to update your system, proceed with the following command:
yum update -yyum install oraclelinux-developer-release-*
yum-config-manager --enable ol7_optional_latest      ## include vulkan
## yum-config-manager --enable ol7_developer         ## include VirtualBox
yum makecacheyum install VirtualBox-7.0-- Install Vagrant (https://vagrantup.com/)
## yum-config-manager --disable hashicorp
wget https://releases.hashicorp.com/vagrant/2.4.3/vagrant-2.4.3-1.x86_64.rpm
yum install vagrant-2.4.3-1.x86_64.rpm

1. 创建virtualbox虚拟机 vbvm19c

查询系统类型
vboxmanage list ostypes创建目录
mkdir -p /opt/vbvm
cd /opt/vbvm注册虚拟机
VBoxManage createvm --name vbvm19c --ostype Oracle7_64 --register --basefolder="/opt/vbvm"
cd /opt/vbvm/vbvm19c#仅注销虚拟机VBoxManage unregistervm vbvm19c设置内存大小4G
VBoxManage modifyvm vbvm19c --memory 6144建立虚拟磁盘:系统盘100G
VBoxManage createmedium --filename /opt/vbvm/vbvm19c/vbvm19c_HDD_SYS_40G.vdi --size 40000创建存储控制器IDE、SATA
VBoxManage storagectl vbvm19c --name IDE --add ide --controller PIIX4 --bootable on
VBoxManage storagectl vbvm19c --name SATA --add sata --controller IntelAhci --bootable on关联虚拟机磁盘
VBoxManage storageattach vbvm19c --storagectl SATA --port 0 --device 0 --type hdd --medium /opt/vbvm/vbvm19c/vbvm19c_HDD_SYS_40G.vdi关联镜像文件
VBoxManage storageattach vbvm19c --storagectl IDE --port 0 --device 0 --type dvddrive --medium /opt/iso/OLX7R9.iso需要使用VBoxManage(安装目录下)工具添加一个nat网络,并制指定参数:
VBoxManage natnetwork add --netname NatNetwork --network "10.0.2.0/24" --enable然后启动这个网络:
VBoxManage natnetwork start --netname NatNetwork查看已经存在的网络:
VBoxManage list natnetworks配置第一个网卡为NAT
VBoxManage modifyvm vbvm19c --nic1 natVBoxManage 主机与宿主机之间实现端口映射
VBoxManage modifyvm "vbvm19c" --natpf1 "guestssh,tcp,10.168.16.200,2122,10.0.2.15,22"
VBoxManage modifyvm "vbvm19c" --natpf1 "guestssh,tcp,,2122,,22"删除映射vboxmanage modifyvm "vbvm19c" --nat-pf1 delete "guestssh"设置CPU数量
VBoxManage modifyvm vbvm19c  --ioapic on
VBoxManage modifyvm vbvm19c --cpus 8使能largepages选项
VBoxManage modifyvm vbvm19c  --largepages on启动
VBoxManage startvm vbvm19c --type headless在图形界面安装虚拟机断电关闭虚拟机
VBoxManage controlvm vbvm19c poweroff

在这里插入图片描述

安装完成

## 可以在这个虚拟机里做一些模板类操作
比如 安装好相关的软件,甚至是部署好一套成熟的测试环境

2. 将vbvm19c装换成vagrantBox

1. 查看虚拟机名称
vboxmanage list vms## 使用virtual的VM创建vagrant的Box
启动虚拟机
VBoxManage startvm vbvm19c --type headless#登录虚拟机进行操作
ssh -p2122 root@10.168.16.200
# Set root Password to vagrant.
echo -e "vagrant\nvagrant" | passwd# Vagrant user with password of vagrant.
useradd vagrant
echo -e "vagrant\nvagrant" | passwd vagrant# Give vagrant user passwordless sudo.
cat >> /etc/sudoers <<EOF
vagrant ALL=(ALL) NOPASSWD: ALL
EOF# Add insecure public key.
rm -Rf /home/vagrant/.ssh
mkdir /home/vagrant/.ssh
systemctl stop firewalld
wget -O /home/vagrant/.ssh/authorized_keys https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub
chown -R vagrant:vagrant /home/vagrant/.ssh
chmod 0700 /home/vagrant/.ssh
chmod 0600 /home/vagrant/.ssh/authorized_keys# OL7/OL8 with Red Hat Compatibility Kernel (RHCK).  (Switch "yum" to "dnf" on OL8)
yum install -y gcc kernel-devel-$(uname -r) kernel-headers-$(uname -r) make bzip2 perl wget elfutils-libelf-devel libX11 libXt libXext libXmu
yum update -y
reboot## 安装扩展 在宿主机上操作
mkdir /media/VBoxGuestAdditions
mount -o loop,ro /usr/share/virtualbox/VBoxGuestAdditions.iso /media/VBoxGuestAdditions
复制到虚拟机
cd /media/VBoxGuestAdditionsscp -P2122 VBoxLinuxAdditions.run root@10.168.16.200:/tmp/
## 密码是 vagrant登录到虚拟机操作
ssh -p2122 root@10.168.16.200
[root@vbvm19c tmp]# sh VBoxLinuxAdditions.run ## 这个地方可以不进行 只是为了后面更好的压缩虚拟盘
dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY## 关闭虚拟机
shutdown -h now
or
VBoxManage controlvm vbvm19c poweroff## 导出虚拟机vbvm19c到vagrant的box
mkdir -p /opt/vagrantvm/vbvm19c/
cd /opt/vagrantvm/vbvm19c/
VBoxManage startvm vbvm19c --type headless# 默认名称是package.box
vagrant package --base "vbvm19c"
mv package.box olx79vmbox.box## 将olx79vmbox.box复制到备份目录,可重复使用## 添加到box
vagrant box add olx79vmbox.box --name "olx79vmbox"
vagrant box add olx79vmbox.box --name "example/olx79vm" --provider virtualbox
vagrant box list## 删除box
vagrant box remove "olx79vmbox"
vagrant box remove "example/olx79vm"

3. 将生成的BOX的注册并初始化一个vm vgvm19c

##Run & Vagrantfilemkdir /opt/vgvm19c
cd /opt/vgvm19c## 初始化vagrant
vagrant init## 配置box
vim Vagrantfile
config.vm.box = "example/olx79vm"## 配置名称
Vagrant.configure("2") do |config|config.vm.define "vgvm19c" do |vgvm19c|vgvm19c.vm.box = "example/olx79vm"end
endvagrant upvagrant ssh
or
ssh -p2222 vagrant@127.0.0.1vagrant status

成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/67138.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】空间复杂度

目录 一、引入空间复杂度的原因 二、空间复杂度的分析 ❥ 2.1 程序运行时内存大小 ~ 程序本身大小 ❥ 2.2 程序运行时内存大小 ~ 算法运行时内存大小 ❥ 2.3 算法运行时内存大小 ❥ 2.4 不考虑算法全部运行空间的原因 三、空间复杂度 ❥ 3.1空间复杂度的定义 ❥ 3.2 空…

MySQL--》深度解析InnoDB引擎的存储与事务机制

目录 InnoDB架构 事务原理 MVCC InnoDB架构 从MySQL5.5版本开始默认使用InnoDB存储引擎&#xff0c;它擅长进行事务处理&#xff0c;具有崩溃恢复的特性&#xff0c;在日常开发中使用非常广泛&#xff0c;其逻辑存储结构图如下所示&#xff0c; 下面是InnoDB架构图&#xf…

Redis高阶5-布隆过滤器

Redis布隆过滤器 ​ 由一个初始值都为零的bit数组和多个哈希函数构成&#xff0c;用来快速判断集合中是否存在某个元素 目的减少内存占用方式不保存数据信息&#xff0c;只是在内存中做一个是否存在的标记flag 布隆过滤器&#xff08;英语&#xff1a;Bloom Filter&#xff0…

DeepSeek学术题目选择效果怎么样?

论文选题 一篇出色的论文背后&#xff0c;必定有一个“智慧的选题”在撑腰。选题足够好文章就能顺利登上高水平期刊&#xff1b;选题不行再精彩的写作也只能“当花瓶”。然而许多宝子们常常忽视这个环节&#xff0c;把大量时间花在写作上&#xff0c;选题时却像抓阄一样随便挑一…

Docker核心命令与Yocto项目的高效应用

随着软件开发逐渐向分布式和容器化方向演进&#xff0c;Docker 已成为主流的容器化技术之一。它通过标准化的环境配置、资源隔离和高效的部署流程&#xff0c;大幅提高了开发和构建效率。Yocto 项目作为嵌入式 Linux 系统构建工具&#xff0c;与 Docker 的结合进一步增强了开发…

Qt 5.14.2 学习记录 —— 이십 QFile和多线程

文章目录 1、QFile1、打开2、读写3、关闭4、程序5、其它功能 2、多线程1、演示2、锁 3、条件变量和信号量 1、QFile Qt有自己的一套文件体系&#xff0c;不过Qt也可以使用C&#xff0c;C&#xff0c;Linux的文件操作。使用Qt的文件体系和Qt自己的一些类型更好配合。 管理写入读…

多版本并发控制:MVCC的作用和基本原理

多版本并发控制&#xff1a;MVCC的作用和基本原理 1、MVCC简介1.1 快照读与当前读的区别1.1.1 快照读1.1.2 当前读 1.2 数据库的读写问题1.3 MVCC的作用 2、MVCC实现原理之ReadView2.1 什么是ReadView2.2 ReadView的设计思路2.3 MVCC整体操作流程 1、MVCC简介 1.1 快照读与当前…

神经网络|(二)sigmoid神经元函数

【1】引言 在前序学习进程中&#xff0c;我们已经了解了基本的二元分类器和神经元的构成&#xff0c;文章学习链接为&#xff1a; 神经网络|(一)加权平均法&#xff0c;感知机和神经元-CSDN博客 在此基础上&#xff0c;我们认识到神经元本身在做二元分类&#xff0c;是一种非…

Qt中QVariant的使用

1.使用QVariant实现不同类型数据的相加 方法&#xff1a;通过type函数返回数值的类型&#xff0c;然后通过setValue来构造一个QVariant类型的返回值。 函数&#xff1a; QVariant mainPage::dataPlus(QVariant a, QVariant b) {QVariant ret;if ((a.type() QVariant::Int) &a…

BAHD酰基转移酶对紫草素的手性催化-文献精读105

Two BAHD Acyltransferases Catalyze the Last Step in the Shikonin/Alkannin Biosynthetic Pathway 两个BAHD酰基转移酶催化了紫草素/左旋紫草素生物合成途径中的最后一步 一个BAHD酰基转移酶专门催化紫草素的酰基化&#xff0c;而另一个BAHD酰基转移酶则仅催化紫草素的对映…

CLion开发Qt桌面

IDE&#xff1a;CLion Qt Qt版本&#xff1a;5.12 学习正点原子的嵌入式Linux开发板时&#xff0c;使用Qt Creator写代码不是很方便&#xff0c;遂尝试使用CLion搭建Qt开发环境。 一、CLion的Qt环境搭建 1&#xff0c;配置工具链 找到Qt的安装目录&#xff0c;此处为E:\Tools\…

【学术会议-第五届机械设计与仿真国际学术会议(MDS 2025) 】前端开发:技术与艺术的完美融合

重要信息 大会官网&#xff1a;www.icmds.net 大会时间&#xff1a;2025年02月28日-03月02日 大会地点&#xff1a;中国-大连 会议简介 2025年第五届机械设计与仿真国际学术会议&#xff08;MDS 2025) 将于2025年02月28-3月02日在中国大连召开。MDS 2025将围绕“机械设计”…

84,【8】BUUCTF WEB [羊城杯 2020]Blackcat

进入靶场 音乐硬控我3分钟 回去看源码 <?php // 检查 POST 请求中是否包含 Black-Cat-Sheriff 和 One-ear 字段 // 如果任意一个字段为空&#xff0c;则输出错误信息并终止脚本执行 if(empty($_POST[Black-Cat-Sheriff]) || empty($_POST[One-ear])){die(请提供 Black-C…

人工智能:从基础到前沿

目录 目录 1. 引言 2. 人工智能基础 2.1 什么是人工智能&#xff1f; 2.2 人工智能的历史 2.3 人工智能的分类 3. 机器学习 3.1 机器学习概述 3.2 监督学习 3.3 无监督学习 3.4 强化学习 4. 深度学习 4.1 深度学习概述 4.2 神经网络基础 4.3 卷积神经网络&#…

漏洞情报:为什么、要什么和怎么做

漏洞一直是网络攻防的焦点所在&#xff0c;因为漏洞直接或间接影响安全性的核心方面——权限。攻击者挖掘和利用漏洞&#xff0c;获取非授权的权限&#xff1b;防御方定位和消除漏洞&#xff0c;监测和阻断漏洞的利用&#xff0c;使攻击者无法利用漏洞达到其目的。漏洞信息本质…

leetcode——删除链表的倒数第N个节点(java)

给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[] 示例 3&#xf…

正则表达式以及Qt中的使用

目录 一、正则表达式 1、基本匹配&#xff1a; 2、元字符&#xff1a; 2.1 .运算符&#xff1a; 2.2 字符集&#xff1a; 2.3 重复次数&#xff1a; 2.4 量词{} 2.5 特征标群() 2.6 或运算符 2.7 \反斜线转码特殊字符 2.8 锚点 3、简写字符 4、零宽度断言 4.1 正…

流行的开源高性能数据同步工具 - Apache SeaTunnel 整体架构运行原理

概述 背景 数据集成在现代企业的数据治理和决策支持中扮演着至关重要的角色。随着数据源的多样化和数据量的迅速增长&#xff0c;企业需要具备强大的数据集成能力来高效地处理和分析数据。SeaTunnel通过其高度可扩展和灵活的架构&#xff0c;帮助企业快速实现多源数据的采集、…

消息队列篇--原理篇--Pulsar(Namespace,BookKeeper,类似Kafka甚至更好的消息队列)

Apache Pulusar是一个分布式、多租户、高性能的发布/订阅&#xff08;Pub/Sub&#xff09;消息系统&#xff0c;最初由Yahoo开发并开源。它结合了Kafka和传统消息队列的优点&#xff0c;提供高吞吐量、低延迟、强一致性和可扩展的消息传递能力&#xff0c;适用于大规模分布式系…

VS Code i18n国际化组件代码code显示中文配置 i18n ally

VUE项目做i18n国际化之后&#xff0c;代码中的中文都变成了code这时的代码就会显得非常难读&#xff0c;如果有一个插件能把code转换成中文显示就好了 vscode插件搜索“i18n ally” 在项目根文件夹下创建文件&#xff1a;.vscode/settings.json settings.json 内容如下 {"…