基于ViutualBox+Ubuntu(Linux)的开发环境搭建

实际在选择虚拟机的时候纠结了要用virualbox还是vmware,初步比较结果:

1.virualbox能够使用vmware的硬盘格式,因此可以自由选择。

2.都能够实现主机和宿主机之间的文件夹共享。

3.virualbox是自由软件,vmware是商业软件。

在功能上二者都能满足条件,但是基于第三点我选择了virualbox。

安装VirtualBox

可自行网上下载,本人使用的是VirtualBox-6.1.22-144080-Win

具体安装过程参考这篇文章(只用看安装的部分):

Windows 10 安装Virtualbox 6.1.22详细教程_virtualbox-6.1.22-144080-win-CSDN博客

注意:上文内说到的扩展包暂不安装,有需要再说。

补充说明:

安装过程中,基本一路向前即可,只不过,安装的位置可以根据自己的情况调整下,我一般不会放在系统盘。

安装后的界面如下所示:

比较简洁。

安装Ubuntu

安装完虚拟机,就要继续安装Linux系统了,是基于Ubuntu版本。

具体安装过程参考这篇文章(只用看安装Ubuntu的部分):

虚拟机||使用VirtualBox安装Ubuntu详细图文教程(安装+调整分辨率+共享文件)_virtualbox安装ubuntu12-CSDN博客

上文内除了安装Ubuntu部分,其他内容都可以不看。

补充说明:

---

内存可以根据自己的情况来设置;

---

磁盘存储空间,一定要在安装的时候就设置好,如果要很大的空间,比如512G,安装时如果给小了,安装完成后再想扩展容量,就很麻烦了;

如果确实安装时的存储空间设置小了,就得删除系统,重新安装。

如何彻底删除?参考这篇文章:

我是想将virtualbox中的Ubuntu系统彻底删除 - CSDN文库

---

存储空间的分配有两种方式,我推荐选择固定大小;

VirtualBox在创建虚拟磁盘时可以选择动态扩展和固定大小两种方式,然后设定磁盘空间大小。

动态扩展类型:

最初只需占用非常小的物理硬盘空间。然后不断增加(最大到当前指定的大小),具体大小根据虚拟电脑的实际需求动态分配。
固定大小类型:

一旦建立就需分配指定大小的物理磁盘空间给该虚拟硬盘使用,性能上有一定优势。建立这种类型的虚拟硬盘需花费较多的时间。

创建500G固定大小的硬盘,特别慢。显示需要38分钟。

耐心等待即可。

设置全屏(安装增强功能)

默认安装的ubuntu分辨率较小,没法全屏。

为了能够全屏显示,一个比较好的方法就是安装自带的增强工具。

所以要先安装增强工具,也不是那么好安装的。

先点击设备-安装增强功能

这时候,没有任何反应。。。。。。

往往会卡在这里。

其实,是已经生成了一个安装盘片,需要我们手动安装。

接下来,回到虚拟机界面点击设置。

然后选择存储-点击盘片-选择增强功能的安装文件

不过,这里又有个坑,那就是不一定能看到VBoxGuestAdditions.iso这个文件,如果有直接选择(别错选了其他的iso文件),如果没有,就要点击这里

点击进去选择即可。

选择后确定无误,就可以重启ubuntu了。

此时,在ubuntu里就会多一个盘符。

双击光盘打开盘符

可以看到有个运行文件,在该文件上右键——在终端打开——输入如下命令:

sudo sh VBoxLinuxAdditions.run

输入密码,等待安装完成即可。

至此,增强工具就会安装完成。

重启系统。

这时会发现 ”视图“ 里的“自动调整显示尺寸”变亮了,点击就可以是显示窗口自动填满界面。

另外,在视图菜单的最后一项“虚拟显示屏1”里也可以选择一个固定的分辨率。

主机和虚拟机之间复制粘贴

默认情况下,主机和虚拟机之间是没法相互复制粘贴的。

安装增强工具后,经过简单设置,就能实现这个功能。

参考这篇文章即可:

virtualBox实现windows和Ubuntu之间的复制粘贴_virtual box主机和ubuntu互相粘贴-CSDN博客

更多略。

配置Samba服务

Samba是个啥?

Samba是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件,以实现文件共享和打印机服务共享。 

在嵌入式系统开发应用平台中,tftp、nfs和samba服务器是最常用的文件传输工具,tftp和nfs是在嵌入式Linux开发环境中经常使用的传输工具,samba则是Linux和Windows之间的文件传输工具。

samba是模仿Windows网上邻居的SMB的通讯协议,将Linux操作系统“假装成”Windows操作系统,通过网上邻居的方式来进行文件传输的。

samba最先在Linux和Windows两个平台之间架起了一座桥梁,正式由于Samba的出现,我们才可以在Linux系统和Windows系统之间互相通信,如复制文件,实现不同操作系统之间的资源共享等,可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印。

也就是说,如果想要实现主机和虚拟机之间的两个系统之间共享目录文件,我们就可以使用samba服务。

那么,如何在Linux下部署samba服务呢?

直接参考这篇文章:

【详细步骤】Ubuntu安装Samba服务及配置共享文件夹_ubuntu samba-CSDN博客

这篇文章提供相关指令参考:

ubuntu下Samba服务器的搭建_ubuntu下搭建samba服务齐全-CSDN博客

修正:sudo /etc/init.d/smbd start

补充说明:

---

不必像上文中说的那样配置静态ip,使用默认的ip设置方式即可,也不必和主机在同一网段。

---

如何查看samba服务是否已经开启?

使用以下语句:

sudo systemctl status smbd.service

这个命令将显示Samba服务的状态信息,如果服务正在运行,则说明重启成功。如果服务未运行,你可以尝试其他方法来解决问题,比如查看错误日志或重新安装Samba服务。

---

服务开启后,先在主机上ping一下Linux系统;同时在Linux上也ping一下主机;保证二者可以互相访问。

在主机和Linux上都ping下外网(比如www.baidu.com),保证都能访问外网。

---

注意配置虚拟机上网卡的模式,一般都会配置双网卡。

参考:VirtualBox 使用 NAT网络、仅主机(Host-only)网络 实现双网卡上网并与宿主机连接。_virtualbox host only-CSDN博客

这篇文章主要看各种模式之间的区别。

我们实际配置中,两个网卡,一个网卡选择“网络地址转换(NAT)”,用来让虚拟机访问外网;一个选择“仅主机(Host-Only)网络”,用来和主机间互联。

一般只有这样配置之后才能ping通。

---

通过win+R在主机访问时,可以直接输入\\ip,就会跳入共享的目录

注意,通过主机访问,名字都是统一的叫share,不管你在linux里给共享文件夹取的是什么名字,比如,我在linux里取的共享文件夹的名字是myshare

不过在windows下远程访问时,仍然是叫share

不过注意,在该share目录上映射成网络时,需要添加\\ip\share

这里有个问题注意下:

是映射成网络驱动器,而不是在我的电脑那里添加一个网络位置。

windows中添加一个网络位置与映射网络驱动器的区别-CSDN博客

注意,一定要映射成网络驱动器,要不然到时用查看代码工具时访问不到该目录。

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

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

相关文章

【SCAU操作系统】实验二页面置换算法的模拟实现及命中率对比python源代码及实验报告参考

一、课程设计目的 通过请求页式管理方式中页面置换算法的模拟设计,了解虚拟存储技术的特点,掌握请 求页式存储管理中的页面置换算法。 二、课程设计内容 模拟实现 OPT (最佳置换)、 FIFO 和 LRU 算法,并计算缺页…

JUC从实战到源码:CompletableFuture详细学习

【JUC】- CompletableFuture详细学习 😄生命不息,写作不止 🔥 继续踏上学习之路,学之分享笔记 👊 总有一天我也能像各位大佬一样 🏆 博客首页 怒放吧德德 To记录领地 🌝分享学习心得&#xf…

读人工智能时代与人类未来笔记17_人类未来

1. 人类未来 1.1. 在印刷读物出现之前,中世纪的欧洲人主要通过社区传统获取知识 1.1.1. 通过参与收割和季节轮作积累民间智慧 1.1.2. 在礼拜场所践行信仰并遵守圣礼 1.1.3. 加入行业公会,学习技术&…

补环境——A股市场

补环境 吐环境 1.Proxy对象 Proxy对象由两个部分组成:target、handler target:目标对象 handler:是一个对象,声明了代理target的指定行为,支持的拦截操作,一共13种: get(target,propKey,receiver)&…

Java特性之设计模式【备忘录模式】

一、备忘录模式 概述 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象,备忘录模式属于行为型模式 备忘录模式允许在不破坏封装性的前提下,捕获和恢复对象的内部状态 主要解决&#xff…

【硬核测评】猫咪主食冻干测评揭秘SC、希喂、爱立方真实对比测评

主食冻干喂养是否必要? 来自七年经验的铲屎官明确告诉你,这是非常必要的喂养方式! 随着宠物经济的蓬勃发展和科学养宠知识的普及,如今养猫已不仅仅是让猫咪吃饱那么简单。越来越多的养猫人开始重视猫咪的饮食健康。大量实际喂养案…

电脑如何远程访问?

【天联】的使用场景 电脑远程访问在现代科技的发展中扮演了重要的角色。对于企业和个人用户来说,远程访问的便利性提供了许多机会和可能性。作为一种高效的工具,【天联】具有广泛的应用场景,可以实现异地统一管理、协同办公以及远程数据采集…

【数据结构】AVL树——平衡二叉搜索树

个人主页:东洛的克莱斯韦克-CSDN博客 祝福语:愿你拥抱自由的风 目录 二叉搜索树 AVL树概述 平衡因子 旋转情况分类 左单旋 右单旋 左右双旋 右左双旋 AVL树节点设计 AVL树设计 详解单旋 左单旋 右单旋 详解双旋 左右双旋 平衡因子情况如…

阿里开源React应用动效解决方案:ant-motion

ant-motion:简化动效开发,提升用户体验 - 精选真开源,释放新价值。 概览 Ant Motion是由Ant Design团队精心打造,专为React应用设计的动画规范和组件库。它不仅仅是一套动画规范,更是一个完整的解决方案,旨…

C# yolov8 TensorRT Demo

C# yolov8 TensorRT Demo 目录 效果 说明 项目 代码 下载 效果 说明 环境 NVIDIA GeForce RTX 4060 Laptop GPU cuda12.1cudnn 8.8.1TensorRT-8.6.1.6 版本和我不一致的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:https://githu…

2024年JAVA、C++、Pyhton学哪种语言更容易进国央企?

对于不同编程语言在进入国有企业的观点大体是正确的,不过在实际选择时还需考虑一些因素。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个评论222,私信…

【CSDN独家公开】Python解析.SchDoc格式文件转换为json文件

前情提要 因工作需求,需要解析.SchDoc格式文件,提取文本和位置关系,通常方式是转换为图片或PDF,再进行OCR,但是这样识别精度太低了 Github找了好些项目,都不支持 PyAltium不支持 https://github.com/plu…

apexcharts数据可视化之饼图

apexcharts数据可视化之饼图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式: 基础饼图单色饼图图片饼图 基础饼图 import ApexChart from react-apexcharts;export function SimplePie() {// 数据序列const series [44, 55, 13, 43, 22]// …

APM2.8内置罗盘校准

如果你有外置罗盘,可以不用校准内置罗盘,可以忽略此文。推荐使用外置罗盘,内置罗盘容易受干扰。 使用内置罗盘需要插入飞控GPS接口旁边的跳线帽。如图: 如果要使用内置罗盘,而又加了GPS的,记得一定要把GPS…

【错误记录】HarmonyOS 运行报错 ( Failure INSTALL _PARSE _FAILED _USESDK _ERROR )

文章目录 一、报错信息二、问题分析三、解决方案 一、报错信息 在 DevEco Studio 中 , 使用 远程设备 , 向 P40 Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] compileSdkVersion and releaseType of the app do not match the apiVersion and releaseType on the device. 二、…

SpringMVC枚举类型字段处理

在日常的项目开发中经常会遇到一些取值范围固定的字段,例如性别、证件类型、会员等级等,此时我们可以利用枚举来最大程度减少字段的乱定义,统一管理枚举的值。 SpringMVC中对于枚举也有默认的处理策略: 对于RequestParam&#xf…

静态测试---基于WorkList的活跃变量分析

本文主要用于记录在活跃变量分析实验中的报错及解决,涉及静态测试的详细原理内容较少,编译运行底层逻辑偏多。 一、实验要求 1)使用llvm基于框架实现一个基于WorkList的活跃变量分析demo。变量在某个程序点有两种状态,live 或 dea…

利用 Scapy 库编写源路由攻击脚本

一、介绍 源路由攻击是一种网络攻击方法,攻击者通过利用IP数据包中的源路由选项来控制数据包的传输路径,从而绕过安全设备或防火墙,直接访问目标系统。源路由功能允许数据包的发送方指定数据包通过的路径,而不是由路由器根据路由…

Xshell 5(xmanager5)报错

总结 所有的错误都是因为Xshell版本太低,与新的Linux系统不兼容导致的。 所以解决办法都是使用Xshell7 XShell 7 (解压、运行绿化.bat) https://pan.baidu.com/s/151W_MeLrrceUZQIFiNlMdg?pwd8888错误1:找不到匹配的host key算…

【LeetCode刷题】滑动窗口解决问题:串联所有单词的子串(困难)、最小覆盖子串(困难)

【LeetCode刷题】Day 10 题目1:30. 串联所有单词的子串(困难)思路分析:思路1:滑动窗口哈希map 题目2:LCR 017.最小覆盖子串思路分析思路1:滑动窗口哈希表 题目1:30. 串联所有单词的子…