云计算实验1——基于VirtualBox的Ubuntu安装和配置

news2024/11/28 0:36:18

实验步骤

1、VirtualBox的安装

本实验使用VirtualBox-7.0.10 进行演示。对于安装包,大家可以前往 VirtualBox官网下载页面(https :/ / www. virtualbox.org/wiki/Downloads)下载其7.0版本安装包进行安装,或者直接使用QQ群的安装包VirtualBox-7.0.10-158379-Win进行安装。

安装的过程中,为了避免C盘空间不足,请选择D盘或者其他盘的一个空文件夹作为安装路径,其它直接默认就可以了。

2、配置虚拟机默认位置

首选在D盘建一个空文件夹VirtualBox VMs,然后在VirtualBox的首页,通过“管理”->“全局设定”进入全局设定界面,设置虚拟机的默认存放位置为“D:\VirtualBox VMs”,最后点击“确定”按钮保存修改。

3、配置虚拟网络

为了实现多台虚拟机之间的网络联通,在VirtualBox安装完成后首先创建一个主机网络(Host-Only Ethernet Adapter)。选择菜单栏中的“管理”→“工具”→“主机网络管理器”打开主机网络管理器

然后单击“创建”按钮可以新建一个VirtualBoxHost-Only Ethernet Adapter。在创建过程中可能会遇到系统权限请求,允许即可

VirtualBox Host-Only Ethernet Adapter创建好之后,在主机网络管理器下方的网卡选项中选择手动配置网卡,将IPv4地址设置为192.168.56.1,IPv4网络掩码设置为255.255.255.0,IPv6地址及网络掩码长度不需要修改

同时,注意建议保持DHCP服务器开启

在VirtualBox 7.0版本中,系统已经自动为我们创建好了一个VirtualBoxHost-Only Ethernet Adapter。

 4、Ubuntu虚拟主机的创建和配置

在VirtualBox主界面,单击“控制“→“新建”按钮创建3台虚拟主机。将3台虚拟主机分别命名为master,slave1,slave2

①创建虚拟机

类型选择“Linux”,版本选择“Other Linux(64-bit)”   【Ubuntu和Linux都可以】

将虚拟主机内存至少设置为2GB,以保证运行流畅.

为虚拟主机机创建足够大小的虚拟硬盘,至少30G。

②设置三个虚拟机网络

点击“设置”按钮,进行网络设置。

选择“网络”选项。其中网卡1默认为“网络地址转换(NAT)”,不需要更改。

选择网卡2,选中“启用网络连接”复选框,连接方式选择“仅主机(Host-Only)网络”,界面名称选择前面建立的VirtualBox Host-OnlyEthernet Adapter。在高级选项中设置混杂模式为“全部允许”,其他选项保持默认

5、Ubuntu的安装

点击“启动”按钮,启动虚拟主机。接着,启动界面的光驱弹窗中,选择加载Ubuntu的ISO镜像文件位置,即可在虚拟主机上进行ubuntu的安装

选择好ISO镜像文件后,单击“挂载并尝试启动”

如果在操作的过程,系统弹窗提示是否进入鼠标和键盘的独占模式,请选择取消,另外,如果不小心进入了鼠标和键盘的独占模式,可以按下右Ctrl键来退出独占模式。

在ubuntu的安装引导页面,默认第一个选项,按ENTER键进入下一步。在ubuntu的语言选择页面,选择安装语言,并点击“安装Ubuntu”

点击“继续”进入下一步

默认所在城市,点击“继续”进入下一步

设置用户名和密码,点击“继续”进入下一步

需要下载一些组件,所以有点慢,请耐心等待。同时,为了避免出现奇怪的问题,请保持网络畅通。

等待安装完成后,点击“重启”按钮.

接着,按ENTER键进入下一步重启。

如果此步出现异常,那么请强行退出,在virtual Box中手动重新启动

重启后,我们输入密码,就可以进入ubuntu了

另外,如果系统提示更新,请拒绝更新

6、安装增强功能

在“设备”中点击“安装增强功能”选项安装增强功能

在“共享粘贴板”中,将粘贴板共享设置为“双向”,关闭虚拟机,重启生效,最后重新启动后,为了获得更好的视觉效果,建议在“视图”中,将视图设置为“无缝模式”。

7、网络与动态IP

使用ip addr show查看主机所有IP

同时,我们也可以使用ifconfig -a 查看当前主机所有的额IP。只是在ubuntu 20.4中,我需要先使用以下命令安装网络相关工具

sudo apt install net-tools

然后输入ifconfig -a命令查看当前网卡状态。可以看到enpos3网卡与enp0s8网卡, enp0s3网卡是虚拟机网络设置中的网卡1,负责通过主机连接互联网;enp0s8为Host-Only网络,负责虚拟局域网内互通。不同机器的网卡名称可能不同,且 Host-Only 网卡默认为关闭状态

8、SSH配置

为了方便通过SSH协议远程连接我们的ubuntu主机,我需要安装SSH服务端,命令如下:

sudo apt install openssh-server -y

如果SSH服务端,,使用ssh无法登录该主机,遇到类似的问题ssh Connection reset by 192.168.56.103 port 22

重装SSH服务成为唯一的解决方法

#卸载ssh服务

sudo apt remove --purge openssh-server -y

9、Windows中Git安装和远程连接

安装完成后,我们可以通过开始菜单-》所有应用-》“Git”->“Git Bash”或者鼠标右键弹窗的“显示更多选项”->“Git Bash Here”进入Git的命令行

我们可以直接使用“ssh master@192.168.56.17”远程连接我们的ubuntu主机

使用ssh进行远程连接的时候,出现了类似的以下错误:

 no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

那么请使用以下命令进行清理,然后再重试

ssh-keygen -R 192.168.56.105

10、安装vim软件包

sudo apt install vim来安装vim

【最好在Get上执行】

11、开启root用户

ubuntu中,默认没有开启root用户,不过我们先通过sudo passwd root设置root的密码,来启动root用户

启动root用户后,我们可以通过su命令从当前用户切换到root用户

12、SSH中,允许root用户直接登录

对于SSH,编辑 /etc/ssh/sshd_config 文件:

sudo vim /etc/ssh/sshd_config

找到 PermitRootLogin 这一行,并将其修改为:

PermitRootLogin yes

保存关闭文件,并重新启动

这样我们就可以远程使用SSH直接进行root用户的登录。

比如,ssh root@192.168.56.200

13、静态IP配置

通过以下指令更改配置文件,实现第二网卡enp0s8的静态IP配置:

sudo vim /etc/netplan/01-network-manager-all.yaml

在文件中添加如下信息:

  ethernets:010

      enp0s8:

        dhcp4: false

        addresses: [192.168.56.200/24]

        gateway4: 192.168.56.1

修改完成后保存文件﹐输入以下指令启动网卡:

sudo netplan apply

建议将slave1和slave2这三台主机设置为静态IP:192.168.56.3,192.168.56.4。

即master、slave1和slave2这三台主机的静态IP分别为:192.168.56.200,192.168.56.3,192.168.56.4。

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

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

相关文章

基于开源Jetlinks物联网平台协议包-MQTT自定义主题数据的编解码

目录 前言 1.下载官方协议包 2.解压 3.自定义主题 4.重写解码方法 5.以下是我解析后接收到的数据 前言 最近这段时间,一直在用开源的Jetlinks物联网平台在学习,偶尔有一次机会接触到物联网设备对接,在协议对接的时候,遇到了…

Spring面试题——第五篇

1. Spring的优点 轻量级和非侵入性:不需要引入大量的依赖和配置。面向切面编程:Spring提供了强大的面向切面编程,允许用户定义横切关注点,并将其与核心业务逻辑分离,提高了灵活性。依赖注入(DI&#xff09…

java对接钉钉发送消息(纯萌新文档解惑)

java对接钉钉(纯萌新文档解惑) 注意:不是其他直接给你个写好的钉钉工具类,但不知道它怎么来的。是以钉钉官方文档为准,流程是什么,你想要什么可以自己在文档找(所有文档都有只是萌新看着懵&…

Kafka高可用性原理深度解析

在分布式系统中,高可用(High Availability, HA)是指系统在面对硬件故障、网络分区、软件崩溃等异常情况时,仍能继续提供服务的能力。对于消息队列系统而言,高可用性尤为重要,因为它通常作为数据流通的中枢&…

SSD | (十)PCIe介绍(上)

文章目录 📚从PCIe的速度说起📚PCIe拓扑结构🐇PCI——总线型拓扑结构🐇PCIe——树形拓扑结构📚PCIe分层结构📚PCIe TLP类型📚PCIe TLP结构🐇通用结构🐇具体TLP的Header📚从PCIe的速度说起 PCIe发展至今,速度一代比一代快。 连接速度所示1、2等是指PCIe链接…

Python 打包成 EXE 的方法详解

#1024程序员节|征文# 日常开发中,python由于其便捷性成为了很多人的首选语言,但是python的环境配置也是有点麻烦的,那么我们如何让其变得更加友好呢?没错,就是打包成exe可执行文件。 一、PyInstaller 简介…

修改windows11的hosts,配置127.0.0.1域名(最清晰)

这里记录的是学习短链接项目,通过配置127.0.0.1域名,达到可以通过域名代替127.0.0.1访问127.0.0.1下的某个端口的服务,达到短链接的前缀的效果,这里展示windows11的更改过程。 一、hosts文件路径 C:\Windows\System32\drivers\e…

【Java数据结构】---哈希表

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 ,Java 欢迎大家访问~ 创作不易,大佬们点赞鼓励下吧~ 前言 在顺序结构以及平衡树中&…

littlefs源码分析1-设计思考

1.littlefs设计目的 littlefs 最初是作为一个实验而构建的,目的是在微控制器的环境中了解文件系统设计。目的是:构建一个在不使用无限制内存的情况下对电源丢失和闪存磨损具有弹性的文件系统。 这对嵌入式文件系统littlefs提出了三个主要要求&#xff1…

【Linux】 exit 和 _exit 的区别

在Linux系统中&#xff0c;exit(int status) 和 _exit(int status) 都是用来终止进程的函数&#xff0c;都能通过参数 int status传递一个整型的退出状态码给父进程&#xff0c;但它们之间有一些重要的区别。 1. 头文件不同 exit() 函数定义在 <unistd.h> 中 _exit() 函…

【Python爬虫实战】高效解析和操作XML/HTML的实用指南

&#x1f308;个人主页&#xff1a;https://blog.csdn.net/2401_86688088?typeblog &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、lxml的安装 &#xff08;一&#xff09;使用 pip 安装 &#xff08;二&…

(一)ubuntu下通过c++编译cpu版本paddleocr-2.8.1

编译环境 操作系统&#xff1a;ubuntu 20.04/22.04 OCR版本&#xff1a;paddleocr 2.8.1 Opencv版本&#xff1a;opencv3.4.16/4.10.0 o参照官方文档&#xff1a; PaddleOCR/deploy/cpp_infer/readme_ch.md at release/2.6 PaddlePaddle/PaddleOCR GitHubhttps://github…

Vue3脚手架和指令

什么是Vue&#xff1f; 简单来说&#xff0c;vue就是可以让有写代码很爽的体验。 概念&#xff1a;Vue是一套构建用户界面的渐进式JavaScript框架。 什么是构建用户界面&#xff1f; 基于数据渲染出用户可以看到的界面 什么是渐进式&#xff1f; 渐进式就是循序渐进的学习…

LabVIEW提高开发效率技巧----VI继承与重载

在LabVIEW开发中&#xff0c;继承和重载是面向对象编程&#xff08;OOP&#xff09;中的重要概念。通过合理运用继承与重载&#xff0c;不仅能提高代码的复用性和灵活性&#xff0c;还能减少开发时间和维护成本。下面从多个角度介绍如何在LabVIEW中使用继承和重载&#xff0c;并…

HttpURLConnection构造请求体传文件

HttpURLConnection构造请求体传文件 在Java中&#xff0c;使用HttpURLConnection构造请求体传输文件&#xff0c;你需要做以下几步&#xff1a; 1、创建URL对象指向你想要请求的资源。 2、通过URL打开连接&#xff0c;转换为HttpURLConnection实例。 3、设置请求方法为POST。 …

Java 多线程(五)—— 阻塞队列、wait、notify

wait wait 和 notify 都是 Object 类提供的方法&#xff0c;也就是说 Java 任意对象都可以使用 这两个方法。 首先 wait 会抛出 InterruptedException 这个异常&#xff0c;说明这个方法可以被 interrupt 给唤醒。 然后我们是不能直接使用 wait 方法的&#xff0c;否则还会抛…

Win10系统安装docker操作步骤

Docker下载 docker下载地址&#xff1a;Docker: Accelerated Container Application Development 打开网页后&#xff0c;点击图下所示&#xff0c;下载windows版本的docker 启用Hyper-V 和容器特性 右键左下角windows图标&#xff0c;选择应用和功能 然后在下面的界面中&am…

电脑技巧:Rufus——最佳USB启动盘制作工具指南

目录 一、功能强大&#xff0c;兼容性广泛 二、界面友好&#xff0c;操作简便 三、快速高效&#xff0c;高度可定制 四、安全可靠&#xff0c;社区活跃 在日常的电脑使用中&#xff0c;无论是为了安装操作系统、修复系统故障还是进行其他需要可引导媒体的任务&#xff0c;拥…

初始JavaEE篇——多线程(2):join的用法、线程安全问题

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 目录 模拟实现线程中断 join的用法 线程的状态 NEW&#xff1a; RUNNABLE&#xff1a; TIMED_WAITING&#xff1a; TERMINATED…

ElasticSearch-7.17.10集群升级至ElasticSearch-7.17.24

文章目录 集群概览 主机名系统版本es01CentOS_7.6-aaarch64ElasticSearch-7.17.10es02CentOS_7.6-aaarch64ElasticSearch-7.17.10es03CentOS_7.6-aaarch64ElasticSearch-7.17.10 需求 1. 将三台ES节点从ElasticSearch-7.17.10升级至ElasticSearch-7.17.24&#xff1b; 2. 保证…