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

【VM】VirtualBox安装CentOS8虚拟机

阅读本文前,请先根据 VirtualBox软件安装教程 安装VirtualBox虚拟机软件。

1. 下载centos8系统iso镜像

可以去两个地方下载,推荐跟随本文的操作用阿里云的镜像

  • centos官网:https://www.centos.org/download/
  • 阿里云镜像:http://mirrors.aliyun.com/centos/8-stream/isos/x86_64/

本文安装的是centos8-stream的iso,本站所写的linux文档,都是使用这个系统进行的操作!这里我选择的是图中箭头所指的CentOS-Stream-8-x86_64-latest-boot.iso镜像。

为了避免后续的其他操作和本文不符,这里顺便也把iso镜像给上传了一个
直接去阿里云官网下载就可以了,应该大差不差,百度云的速度还是太慢了
https://pan.baidu.com/s/1jleRo4mxILq2RwSU-rxaaA 
提取嘛: t7ay

image-20230612205049383

这里我直接贴出上图中箭头所指的iso镜像阿里云下载链接

http://mirrors.aliyun.com/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-boot.iso?spm=a2c6h.25603864.0.0.59013584oRJVrF

2. 创建CentOS8虚拟机

打开virtualbox软件,点击新建

依照下图所示进行配置

  • 键入虚拟机名字
  • 选择一个虚拟机的安装路径(建议选择你的电脑上剩余容量较多的硬盘,在其中创建一个新的文件夹来安装虚拟机)
  • 虚拟光盘处选择下载好的CentOS8系统iso镜像
  • 类型选择 Linux
  • 版本选择Red Hat(64-bit),CentOS是基于Red Hat开发的。

选择好了之后,点击下一步

下图这个页面是选择系统内存和CPU核心数:

  • 内存至少2GB,建议4/8GB;
  • CPU至少2,建议4/8;

选择好了之后,点击下一步

硬盘至少选择20GB,建议选择40GB以上。和VMware一样,这部分空间并不会立马占满。所以强烈建议选择大一点的硬盘空间,避免后续虚拟机硬盘空间不足扩容(扩容硬盘是很麻烦的)

选择好了之后,点击下一步

最后就是汇总页面,检查一下配置有无问题,没有问题就可以点击完成,创建虚拟机了

如下图,我们的虚拟机就已经创建完毕了

点击绿色箭头启动,就可以进入CentOS8的初始化和配置界面。

3. 配置CentOS8虚拟机

启动后虚拟机后,会出现一个新窗口,是虚拟机的屏幕。第一次鼠标点击该窗口会弹出下面的提示,意思是虚拟机会独占你的鼠标和键盘,如果想要退出虚拟机的独占,同时按下左右两个ctrl键就可以了。

3.1. 启动系统安装程序

CentOS8会先进入一个黑屏白字界面,让我们进行选择。鼠标左键单机进入虚拟机界面,用键盘方向键选择第一个install centos8,回车即可

随后会在终端里面走一部分流程,这部分不要操作。

3.2. 选择语言为英文

成功了之后,就会来到如下的图形化配置界面。第一步要我们选择的是语言,我们选择英文English+美国United States即可。选择好了之后点击continue。

Linux中绝大部分终端软件都不支持中文,所以选择中文并不会给你带来多少汉化,这部分英文的学习也算是程序员的基本功,是避不过的。

随后会进入如下配置界面,依次进行配置

3.3. 网络适配器

进入network & host选项,点击右上角的开关开启网络适配器,然后点击左上角的Done

3.4. 软件选择

从网络界面退出,回到主界面后,中间的软件一栏会显示在download下载一些数据

稍作等待,界面会变成如下模样

选择中间的software selecttion,进入如下页面,选择最左侧的server,其他选项不用动,点击左上角的Done完成该页面的配置。

3.5. 硬盘选择

回到主界面,选择右上角磁盘图标的按钮,进入磁盘路径配置

勾选我们自己创建的40GB的虚拟磁盘,然后点击done

3.6. 时区选择

再次回到主界面,进行时区的选择

我们是东八区,时区要选择Asia亚洲,和Shanghai上海

再点击Help!按钮下方的齿轮,添加一个国内的ntp授时服务器

cn.pool.ntp.org

这里必须要手动输入该服务器地址,然后点击+号添加到ntp服务器列表中。完成后,点击下方ok退出该界面,再点击左上角Done回到主界面。

3.7. root用户密码配置

最后,我们就只剩下左下角root password的密码配置项了。

进入该配置项,填写一个你自己喜欢的密码,不能太简单,不然无法通过Linux的检查。

3.8. 配置完成,开始安装

密码也配置完成后,右下角的begin installation按钮就变成蓝色可点状态了。我们点击它,开始系统的安装流程

等待进度条走完,就能安装成功。

3.9. 安装成功

进度条走完后,会出现重启系统Reboot System的按钮。点击它就可以重启虚拟机的系统,我们的centos8系统就算安装完毕了。

3.10. 登录系统

重启系统后,会出现如下登录页面。

键入用户名root,和你刚刚设置的密码,就能登陆进linux系统。注意,这里的密码键入不会有任何回显提示,需要盲打后回车。密码错了系统会提示你。

4. ssh连接虚拟机

先下载ssh连接软件,如tabby、xshell、putty等;推荐使用开源的tabby,这里贴出tabby的下载地址:https://github.com/Eugeny/tabby/releases

4.1. 安装sshd服务

yum install -y openssh-server

centos8中是默认带了ssh服务的,安装会显示already installed

所以我们只需要重启这个服务,确保它是启动状态就可以了

systemctl restart sshd

如果这个命令执行成功,则不会有任何提示。Linux下的大部分控制命令都是如此,执行成功是不会有提示的,执行失败才会有提示。

4.2. 配置NAT端口转发

这部分和VMware不同,在VMware中,不管使用NAT/桥接方式创建虚拟机,我们都可以使用ifconfig命令找到虚拟机的局域网IP,通过局域网IP链接到虚拟机。

但在VirtualBox中,虚拟机默认是用NAT方式启动的,在虚拟机内执行ifconfig并不会显示出能直接供我们访问的虚拟机IP地址,上图中出现的10.0.2.15这个IP地址并不能被宿主机直接访问。

这就需要我们配置NAT的端口转发,来ssh链接这个虚拟机。在virtualbox的管理界面,点击设置,进入虚拟机的配置界面。

找到网络-高级-端口转发

进入后,点击+号创建一个新的端口转发,主机端口对应的是宿主机(运行虚拟机软件的主机)的本地端口。这里我选择了一个五位数的不常用端口60022(每台电脑端口号的范围都是0-65535,前1024个端口一般都是系统使用,建议绑定五位数的不常用端口)

子系统端口对应的是虚拟机的端口,选择22(ssh服务的默认端口)即可。

这样配置了之后,对宿主机60022端口号的所有网络访问,都会通过虚拟机软件转发到虚拟机中的22号端口。就约等于我们直接访问了虚拟机的22号端口。

然后点击该页面的确定,再点击设置页面的确定

软件会弹出如下防火墙弹窗,选择允许访问,端口转发就配置好了

4.3. tabby ssh链接

现在我们就可以链接虚拟机了。以tabby为例,点击设置,配置与连接,新配置

image-20230612215039444

选择ssh连接

image-20230612215111073

IP填入127.0.0.1,代表我们宿主机的本地IP,端口号改成我们刚刚端口转发中配置的60022端口,用户名root

创建完毕配置后,点击开始播放的按钮链接这个配置

弹出如下页面,就代表我们的NAT转发是成功的了!键入root用户的密码,并勾选remember记住密码。

第一次链接linux主机的时候,都会弹出密钥验证,这是ssh协议的必需品。我们点击接受就可以了。

很好,现在我们就已经通过tabby链接上我们的虚拟机啦!

5. Over!

成功完成virtualbox的虚拟机配置

相关文章:

【VM】VirtualBox安装CentOS8虚拟机

阅读本文前,请先根据 VirtualBox软件安装教程 安装VirtualBox虚拟机软件。 1. 下载centos8系统iso镜像 可以去两个地方下载,推荐跟随本文的操作用阿里云的镜像 centos官网:https://www.centos.org/download/阿里云镜像:http://…...

【C++篇】哈希表

目录 一,哈希概念 1.1,直接定址法 1.2,哈希冲突 1.3,负载因子 二,哈希函数 2.1,除法散列法 /除留余数法 2.2,乘法散列法 2.3,全域散列法 三,处理哈希冲突 3.1&…...

Java篇之继承

目录 一. 继承 1. 为什么需要继承 2. 继承的概念 3. 继承的语法 4. 访问父类成员 4.1 子类中访问父类的成员变量 4.2 子类中访问父类的成员方法 5. super关键字 6. super和this关键字 7. 子类构造方法 8. 代码块的执行顺序 9. protected访问修饰限定符 10. 继承方式…...

边缘检测算法(candy)

人工智能例子汇总:AI常见的算法和例子-CSDN博客 Canny 边缘检测的步骤 1. 灰度转换 如果输入的是彩色图像,则需要先转换为 灰度图像,因为边缘检测通常在单通道图像上进行。 2. 高斯滤波(Gaussian Blur) 由于边缘…...

设计模式Python版 组合模式

文章目录 前言一、组合模式二、组合模式实现方式三、组合模式示例四、组合模式在Django中的应用 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式…...

dfs枚举问题

碎碎念:要开始刷算法题备战蓝桥杯了,一切的开头一定是dfs 定义 枚举问题就是咱数学上学到的,从n个数里面选m个数,有三种题型(来自Acwing) 从 1∼n 这 n个整数中随机选取任意多个,输出所有可能的选择方案。 把 1∼n这…...

【开源免费】基于SpringBoot+Vue.JS社区智慧养老监护管理平台(JAVA毕业设计)

本文项目编号 T 163 ,文末自助获取源码 \color{red}{T163,文末自助获取源码} T163,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

安全防护前置

就业概述 网络安全工程师/安全运维工程师/安全工程师 安全架构师/安全专员/研究院(数学要好) 厂商工程师(售前/售后) 系统集成工程师(所有计算机知识都要会一点) 学习目标 前言 网络安全事件 蠕虫病毒--&…...

高性能消息队列Disruptor

定义一个事件模型 之后创建一个java类来使用这个数据模型。 /* <h1>事件模型工程类&#xff0c;用于生产事件消息</h1> */ no usages public class EventMessageFactory implements EventFactory<EventMessage> { Overridepublic EventMessage newInstance(…...

kamailio中的sctp模块

以下是关于 Kamailio 配置中 enable_sctpno 的详细解释&#xff1a; 1. 参数作用 enable_sctp&#xff1a; 该参数用于控制 Kamailio 是否启用 SCTP&#xff08;Stream Control Transmission Protocol&#xff09; 协议支持。 设置为 yes&#xff1a;启用 SCTP&#xff0c;并加…...

前端学习-事件解绑,mouseover和mouseenter的区别(二十九)

目录 前言 解绑事件 语法 鼠标经过事件的区别 鼠标经过事件 示例代码 两种注册事件的区别 总结 前言 人道洛阳花似锦&#xff0c;偏我来时不逢春 解绑事件 on事件方式&#xff0c;直接使用null覆盖就可以实现事件的解绑 语法 btn.onclick function(){alert(点击了…...

独立游戏RPG回顾:高成本

刚看了某纪录片&#xff0c; 内容是rpg项目的回顾。也是这个以钱为核心话题的系列的最后一集。 对这期特别有代入感&#xff0c;因为主角是曾经的同事&#xff0c;曾经在某天晚上听过其项目组的争论。 对其这些年的起伏特别的能体会。 主角是制作人&#xff0c;在访谈中透露这…...

10.4 LangChain核心架构揭秘:模块化设计如何重塑大模型应用开发?

LangChain核心架构揭秘:模块化设计如何重塑大模型应用开发? 关键词: LangChain模块化设计、大模型开发框架、LangChain核心概念、AI应用开发、LLM工程化 一、LangChain的模块化设计哲学:从“手工作坊”到“工业化生产” 传统开发痛点: 代码重复:每个项目从零开始编写胶…...

【学习笔记】深度学习网络-正则化方法

作者选择了由 Ian Goodfellow、Yoshua Bengio 和 Aaron Courville 三位大佬撰写的《Deep Learning》(人工智能领域的经典教程&#xff0c;深度学习领域研究生必读教材),开始深度学习领域学习&#xff0c;深入全面的理解深度学习的理论知识。 在之前的文章中介绍了深度学习中用…...

网站快速收录:如何优化网站头部与底部信息?

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/46.html 为了加快网站的收录速度&#xff0c;优化网站头部与底部信息是关键一环。以下是一些具体的优化建议&#xff1a; 网站头部信息优化 标题标签&#xff08;TitleTag&#xff09;优化…...

网络测试工具

工具介绍&#xff1a; 这是一个功能完整的网络测速工具&#xff0c;可以测试网络的下载速度、上传速度和延迟。 功能特点&#xff1a; 1. 速度测试 - 下载速度测试 - 上传速度测试 - Ping延迟测试 - 自动选择最佳服务器 2. 实时显示 - 进度条显示测试进度 - 实时显示测试状…...

使用HttpClient和HttpRequest发送HTTP请求

项目中经常会用到向第三方系统发送请求来传递数据或者获得信息&#xff0c;一般用的比较多的为HttpClient 和 HttpRequest&#xff0c;这里简要总结一下 HttpClient 和 HttpRequest 的用法 一、HttpClient 1. 发送get请求 public static String get(String url, Map<Stri…...

软件工程概论试题五

一、多选 1.好的软件的基本属性包括()。 A. 效率 B. 可依赖性和信息安全性 C. 可维护性 D.可接受性 正答&#xff1a;ABCD 2.软件工程的三要素是什么()? A. 结构化 B. 工具 C.面向对象 D.数据流! E.方法 F.过程 正答&#xff1a;BEF 3.下面中英文术语对照哪些是正确的、且是属…...

填充每个节点的下一个右侧节点指针力扣--116,117

目录 题目 思路 代码 题目 116 给定一个 完美二叉树 &#xff0c;其所有叶子节点都在同一层&#xff0c;每个父节点都有两个子节点。二叉树定义如下&#xff1a; struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针&#xff0c…...

DBUtils中QueryRunner(空参,传数据源)构造方法的区别及应用场景

关于学习Spring框架时重构DAO层时&#xff0c;遇到的QueryRunner构造方法的问题&#xff0c;回忆MySQL中DBUtils部分 1. 空参构造方法 new QueryRunner() 特点&#xff1a; 不绑定数据源&#xff1a;QueryRunner 实例内部没有 DataSource&#xff0c;因此无法自动获取连接。 …...

STM32 TIM输入捕获 测量频率

输入捕获简介&#xff1a; IC&#xff08;Input Capture&#xff09;输入捕获 输入捕获模式下&#xff0c;当通道输入引脚出现指定电平跳变时&#xff0c;当前CNT的值将被锁存到CCR中&#xff0c;可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数 每个高级定时器…...

Autosar-以太网是怎么运行的?(Davinci配置部分)

写在前面&#xff1a; 入行一段时间了&#xff0c;基于个人理解整理一些东西&#xff0c;如有错误&#xff0c;欢迎各位大佬评论区指正&#xff01;&#xff01;&#xff01; 目录 1.Autosar ETH通讯软件架构 2.Ethernet MCAL配置 2.1配置对应Pin属性 2.2配置TXD引脚 2.3配…...

16.[前端开发]Day16-HTML+CSS阶段练习(网易云音乐五)

完整代码 网易云-main-left-rank&#xff08;排行榜&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name&q…...

langchain 实现多智能体多轮对话

这里写目录标题 工具定义模型选择graph节点函数定义graph 运行 工具定义 import random from typing import Annotated, Literalfrom langchain_core.tools import tool from langchain_core.tools.base import InjectedToolCallId from langgraph.prebuilt import InjectedSt…...

Java-数据结构-优先级队列(堆)

一、优先级队列 ① 什么是优先级队列&#xff1f; 在此之前&#xff0c;我们已经学习过了"队列"的相关知识&#xff0c;我们知道"队列"是一种"先进先出"的数据结构&#xff0c;我们还学习过"栈"&#xff0c;是"后进先出"的…...

C++实现状态模式

首先上代码&#xff1a; #include <iostream> #include <memory>class Context;class State { public:virtual void Handle(Context * context) 0; //纯虚函数virtual ~State() default; //虚析构函数 };//创建状态A class ConcreateStateA : public State{…...

FreeRTOS学习笔记2:FreeRTOS的基础知识

1.FreeRTOS介绍 FreeRTOS是一个免费的嵌入式实时操作系统&#xff0c;同时它在市面上也是一款主流的操作系统&#xff0c;是工作上必不可少的技能。它具有以下六种特点&#xff1a; 1.免费开源&#xff1a;在商业产品中使用&#xff0c;无潜在商业风险&#xff0c;无需担心。 2…...

计算机网络之计算机网络的分类

计算机网络可以根据不同的角度进行分类&#xff0c;以下是几种常见的分类方式&#xff1a; 1. 按照规模和范围&#xff1a; 局域网&#xff08;LAN&#xff0c;Local Area Network&#xff09;&#xff1a;覆盖较小范围&#xff08;例如一个建筑物或校园&#xff09;&#xf…...

从理论到实践:Linux 进程替换与 exec 系列函数

个人主页&#xff1a;chian-ocean 文章专栏-Linux 前言&#xff1a; 在Linux中&#xff0c;进程替换&#xff08;Process Substitution&#xff09;是一个非常强大的特性&#xff0c;它允许将一个进程的输出直接当作一个文件来处理。这种技术通常用于Shell脚本和命令行操作中…...

Flutter常用Widget小部件

小部件Widget是一个类&#xff0c;按照继承方式&#xff0c;分为无状态的StatelessWidget和有状态的StatefulWidget。 这里先创建一个简单的无状态的Text小部件。 Text文本Widget 文件&#xff1a;lib/app/app.dart。 import package:flutter/material.dart;class App exte…...