基于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.rhkb.cn/news/334934.html

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

相关文章

LuatOS学习

开发顺序 Lua是脚本语言中运行速度最快的语言 资源占用极低 脚本语言运行方式 脚本语言是从上往下一行一行运行的 变量 coun 123456 a,b,c 1,2,3交换 a,b b,a在测试环境中,用print(a,b)打印 nil类型 未声明的变量就是nil,nil用来表示此变量为空…

5G工厂长啥样

5G工厂是一种新型的工业互联网基础设施,利用5G为代表的新一代信息通信技术集成,打造新型工业互联网基础设施。在5G工厂中,自动化和智能化设备广泛使用,高度互联的工厂网络得以实现,远程监控和管理成为可能,…

学习笔记——动态路由协议——OSPF(OSPF网络类型2)

2、OSPF网络类型 常见链路层协议对应的默认网络类型 网络类型 描述 常见链路层协议 Hello报文间隔 报文类型 有无DR、BDR选举 P2P 点对点网络 HDLC、PPP、LAPB 10s 以组播方式发送OSPF报文 有 P2MP 点对多点网络 无 30s 以组播方式发送Hello报文,单…

春秋云境CVE-2018-20604

简介 雷风影视CMS是一款采用PHP基于THINKPHP3.2.3框架开发,适合各类视频、影视网站的影视内容管理程序,该CMS存在缺陷,可以通过 admin.php?s/Template/edit/path/*web*..*..*..*..*1.txt 的方式读取任意文件。 正文 1.进入靶场 2./admin…

移动应用程序设计详解:基本概念和原理

移动应用程序设计是什么? 一般来说,应用程序设计师的核心职责是让用户有体验应用的欲望,而开发者负责让它正常工作。移动应用程序设计包括用户界面 (UI) 和用户体验 (UX)。设计者负责应用程序的整体风格,包括配色方案、字体选择、…

c语言游戏实战(3):三子棋

前言: 三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小,三子棋在很多时候会出现和…

【记录】网络|没有路由器没有网线,分别使用手机或Windows电脑共享网络给ARM64开发板,应急连接

事情是这样的,我的开发板明明已经选择了记住热点 WiFi 密码,但是却没有在开机的时候自动连接,我又没有放显示器在身边,又不想为了这点事去找个显示器来,就非常难受。 我手边有的设备是: 笔记本电脑&#…

蓝桥杯物联网竞赛_STM32L071_18_长短按键检测

长短按键的检测是国赛题里面遇到的,省赛没出过有两种实方法 定时器配置: 定时器的话要比delay准确,其中tim7定时器的准度最高 定时器预分配配置32 - 1,计数周期是10000 - 1这样做那么32MHZ/32也就是一秒钟记录10^6的数&#xf…

重置服务器之后 SSH 登录报错:REMOTE HOST IDENTIFICATION HAS CHANGED!

问题原因: 报错是由于远程的主机的公钥发生了变化导致的。ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问…

【机器学习300问】102、什么是混淆矩阵?

一、混淆矩阵的定义 混淆矩阵是一种用于评估分类模型性能的评估指标。当模型对数据进行预测并将数据分配到预定义的类别时,混淆矩阵提供了一种直观的方式来总结这些预测与数据实际类别之间的对应关系。具体来说,它是一个表格。 二、分类模型性能评估一级…

[AIGC] Nginx常用变量详解

Nginx非常强大,其主要功能包括HTTP服务器、反向代理、负载均衡等。Nginx的配置中有许多内置的变量,你可以在配置文件中使用这些变量进行灵活的配置。在本篇文章中,我们将介绍一些Nginx中常见的变量,包括proxy_add_header。 常见变…

【windows】Total Uninstall:一款功能强大的完全卸载软件

软件介绍 Total Uninstall是一款专业的软件卸载工具,旨在帮助用户彻底地清除计算机上的应用程序,包括与应用程序相关的所有文件和注册表项。以下是Total Uninstall的一些主要功能和特点: 完全卸载:软件可以监视应用程序的安装过程…

Linux-CentOS7-解决vim修改不了主机名称(无法打开并写入文件)

Linux-CentOS7-修改主机名称 修改之后使用强制保存退出也不行。 解决办法: 使用hostnamectl命令进行修改 查看系统主机名和信息: hostnamectl这条命令会显示当前系统的主机名、操作系统信息、内核版本、架构信息等相关信息。 修改系统主机名&#xff1…

行为设计模式之状态模式

文章目录 概述定义结构图 2.代码示例小结 概述 定义 状态模式(state pattern)的定义: 允许一个对象在其内部状态改变时改变它的行为。 对象看起来似乎修改了它的类。 状态模式就是用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题.。状态模式将一个对象的状态…

免费插件集-illustrator插件-Ai插件-文本对象分行

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,进行文本对象分行。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550/87890501&…

ubuntu-24.04系统静态Mac和IP配置

操作系统版本(桌面版):ubuntu-24.04-desktop-amd64.iso 原因说明:因网络的IP地址和Mac是预分配的,所以ubuntu系统需要修改网卡的mac地址和IP才能访问,网络查了半天资料都没成功,后再界面提示&a…

IC618 虚拟机 EDA Calibre2019 Hspice2018 Spectre19.1

虚拟机包含 CentOS 7.9 Cadence IC618 Calibre 2019 Hspice 2018 Spectre19.1 下载地址: 链接:https://pan.baidu.com/s/1aMtPO2G5ad-x5BtIJjCDig?pwdxcii 提取码:xcii

【代码随想录】面试常考类型之动态规划01背包

前言 更详细的在大佬的代码随想录 (programmercarl.com) 本系列仅是简洁版笔记,为了之后方便观看 不同的二叉搜索树 96. 不同的二叉搜索树 - 力扣(LeetCode) 通过举例子发现重叠子问题 代码很简单,主要是思路问题&#xff0…

FaceChain-FACT:开源10秒写真生成,复用海量LoRa风格,基模友好型写真应用

github开源地址:https://github.com/modelscope/facechain/tree/main/facechain_adapter 魔搭创空间应用体验:魔搭社区 一、效果演示 FaceChain FACT的代码和模型目前已经在github和modelscope创空间上同步开源。FaceChain FACT具有简单的交互式界面设…

CentOS 7如何使用systemctl管理应用

说明:本文介绍如何使用systemctl命令的方式来启动、查看、停止和重启应用,以安装后的prometheus、alertmanager为例; Step1:创建文件 在系统/etc/systemd/system/路径下,创建一个xxx.service文件,该文件内…