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

【VM】VirtualBox安装ubuntu22.04虚拟机

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

1.下载Ubuntu系统镜像

打开阿里云的镜像站点:https://developer.aliyun.com/mirror/

找到如图所示位置,选择Ubuntu 22.04.3(destop-amd64)系统

Ubuntu 22.04.3(destop-amd64)系统镜像下载连接如下:

https://mirrors.aliyun.com/ubuntu-releases/jammy/ubuntu-22.04.3-desktop-amd64.iso

如果你不需要使用图形化界面,可以选择22.04.3(live-server-amd64)版本,这样系统的运行资源消耗会更低。如果你是新手,还是下载默认的带图形化界面的办法,方便理解和操作。

2.新建虚拟机

2.1 新建和选择镜像

在virtulbox中,ubuntu可以被快速安装

按下图所示,选择下载好的系统镜像,并创建一个新的文件夹作为虚拟机的安装目录。virtulbox检测到我们需要安装的系统是Ubuntu,可以执行快速安装

2.2 设置linux用户名和密码

输入你的linux用户名和密码,主机名可以修改,也可以不改。

2.3 硬件资源选择

进入硬件选择界面,如果你不知道怎么选,直接无脑拉到绿色条条的末尾即可(即使用宿主机一半的系统资源)。

请注意,如果你的宿主机本身的内存只有8GB,则不建议安装虚拟机,会卡的要死的哦~

这里我选择了8cpu(即八核心)和8gb内存,足够使用了。

2.4 磁盘容量选择

进入磁盘选择,这里建议至少拉到40GB(不会一次性占满你的硬盘的,而是用多少占用多少),避免后续还需要复杂的扩容操作。

2.5 完成创建

虚拟机会自动创建并立即启动,自动进行Ubuntu的初始化设置。

如图,这都是在进行Ubuntu的初始化,不需要我们手动操作。

下图界面并不是安装完成的界面,后台还在跑ubuntu的初始化设置。整个流程会有点耗时的。

安装流程最后还会下载一些软件,耐心等待哦~

2.6 OK!

走到下图所示的用户界面,就代表你的Ubuntu虚拟机已经安装完成了。

不需要自己操作初始化,你就拥有了一个Ubuntu虚拟机,很是方便!

点击该用户,键入你最初在本文2.2步中设置的Linux用户的密码,即可进入Ubuntu的桌面。

刚开始会弹出这个引导界面,全部点skip,不用管他。(这个引导界面很容易卡住。如果提示你程序未响应,你就点force quit强制退出就行了)

3.C++环境配置

因为本站博客是基于CentOS8的,这里简单说一下如何在Ubuntu上配置基础的C++编程环境。

在Ubuntu的桌面上右键,open in terminal,打开Ubuntu的系统终端。

3.1 无法打开终端 解决办法

我就遇到了这个问题,右键打开终端没有反应。参考这篇博客解决  VirtualBox Ubuntu22.10 Terminal无法打开虚拟机打不开终端-CSDN博客

CTRL + ALT + F3 进入命令行模式(需要返回桌面时CTRL + ALT + F1)

先登录到root用户来执行这些命令,会方便一点。这里会提示你要输入密码,输入的就是你当前设置的子用户的密码。在Linux中输入密码是不会有*回显的,盲打就行。

执行如下命令。默认情况下你的宿主机和虚拟机没有配置剪贴板互通,所以需要你自己把这些命令敲上去。

sudo nano /etc/default/locale

locale这个文件长下面这样

用方向键移动光标,把文件中所有的 en_US 改成 en_US.UTF-8

ctrl+x保存退出,下面的选项选择Y

会进入如下界面,让你选择写入哪一个文件。这里直接回车就行。

然后再执行下面两个命令。

sudo locale-gen --purge
sudo reboot

等待虚拟机重启后,会回到图形化界面,此时应该就能正常通过右键打开图形化界面中的终端了。

3.2 设置sudoers

因为默认情况下我们的子用户是没有sudoer的权限的,如下图,执行sudo命令会显示muxue is not in sudoers file

每次执行sudo命令都会让你输入当前用户的密码

需要给子用户添加权限,在终端中su -进入root用户,这里需要输入子用户的密码,就能进入root用户,如下图。

进入root用户后,还是用nano编辑器来编辑sudoers配置文件

sudo nano /etc/sudoers

使用方向键,找到下图位置,在后续追加一行子用户的配置就行了

比如我的子用户名字是muxue,就是像下面这样修改

然后CTRL+X退出文件,再按Y、按回车,退出编辑器,即完成了配置文件的修改。

此时子用户执行sudo命令的时候就不会出现报错了。可以正常安装软件了。

3.3 安装gcc和vim

只需要安装GCC/G++编译器就行了,理论上Ubuntu22.04已经自带了这两个编译器。
顺带一提,在Linux中复制粘贴的快捷键是 ctrl+insert/shift+insert

在Linux内部终端执行如下两个命令,这两个命令需要分开执行!不能一次性全写入哦。

sudo apt -y update && sudo apt -y upgrade
sudo apt install -y vim git gcc

安装过程中应该不会出现ERROR提示(出现了代表有问题),安装成功会提示 successfully installed gcc 之类的。如果提示 gcc is already the newest version 代表gcc本来就已经安装好了,不需要额外安装。

安装完毕后,只要gcc命令有输出版本号的结果,那么gcc/g++就是安装好了(这两个命令是一套的)。

gcc --version

你可以百度学习vim编辑器的使用办法,尝试用gcc在Linux下编译C语言程序。

当然,还有一个更简单的办法,是直接在Ubuntu的应用商店里面下载vscode,在vscode中下载C++插件。即可像之前学习C/C++ 一样,在图形化界面中编辑.c.cpp文件,再使用命令行的gcc命令进行编译。

3.4 尝试编译

gcc的基本编译语句如下,假设在当前目录下,你有一个test.c源文件,执行如下命令即可编译成可执行文件test

gcc test.c -o test

如果编译成功,命令行上将不会有任何输出。

使用如下命令执行可执行文件test

./test

请注意,gcc是给c语言用的,仅可以编译C语言代码。如果要编译C++代码,请一定要使用g++命令 (基础编译选项和gcc命令完全相同)

g++ test.cpp -o test

这就是在Linux下编译运行C++代码的最基础操作!

4.调整虚拟机窗口大小

在Ubuntu系统中右键,display settings,设置Ubuntu系统的显示分辨率就行了。

CTRL+F,可以进入虚拟机全屏模式。(相同快捷键退出全屏模式)

相关文章:

【VM】VirtualBox安装ubuntu22.04虚拟机

阅读本文之前,请先根据 安装virtualbox 教程安装virtulbox虚拟机软件。 1.下载Ubuntu系统镜像 打开阿里云的镜像站点:https://developer.aliyun.com/mirror/ 找到如图所示位置,选择Ubuntu 22.04.3(destop-amd64)系统 Ubuntu 22.04.3(desto…...

MySQL的GROUP BY与COUNT()函数的使用问题

在MySQL中,GROUP BY和 COUNT()函数是数据聚合查询中非常重要的工具。正确使用它们可以有效地统计和分析数据。然而,不当的使用可能会导致查询结果不准确或性能低下。本文将详细讨论 GROUP BY和 COUNT()函数的使用方法及常见问题,并提供相应的…...

C# 精炼题18道题(类,三木运算,Switch,计算器)

1.数组元素和 2.数组元素乘积 3.数组元素平均数 4.数组中最大值 5.数组中的偶数 6.数组中的阶乘 7.数组反转 8.字符串反转 9.回文字符串 10.检查回文 11.最小最大值 12.找素数 13.字符串中的最长无重复字符串 14.字符串去重 15.数组中计算两数之和 16.数字到字符…...

96,【4】 buuctf web [BJDCTF2020]EzPHP

进入靶场 查看源代码 GFXEIM3YFZYGQ4A 一看就是编码后的 1nD3x.php 访问 得到源代码 <?php // 高亮显示当前 PHP 文件的源代码&#xff0c;用于调试或展示代码结构 highlight_file(__FILE__); // 关闭所有 PHP 错误报告&#xff0c;防止错误信息泄露可能的安全漏洞 erro…...

数据库 - Sqlserver - SQLEXPRESS、由Windows认证改为SQL Server Express认证进行连接 (sa登录)

本文讲SqlServer Express版本在登录的时候&#xff0c; 如何由Windows认证&#xff0c;修改为Sql Server Express认证。 目录 1&#xff0c;SqlServer Express的Windows认证 2&#xff0c;修改为混合认证 3&#xff0c;启用sa 用户 4&#xff0c;用sa 用户登录 下面是详细…...

2025年02月02日Github流行趋势

项目名称&#xff1a;oumi 项目地址url&#xff1a;https://github.com/oumi-ai/oumi 项目语言&#xff1a;Python 历史star数&#xff1a;1416 今日star数&#xff1a;205 项目维护者&#xff1a;xrdaukar, oelachqar, taenin, wizeng23, kaisopos 项目简介&#xff1a;构建最…...

【数据分析】案例03:当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib)

当当网近30日热销图书的数据采集与可视化分析(scrapy+openpyxl+matplotlib) 当当网近30日热销书籍官网写在前面 实验目的:实现当当网近30日热销图书的数据采集与可视化分析。 电脑系统:Windows 使用软件:Visual Studio Code Python版本:python 3.12.4 技术需求:scrapy、…...

如何使用 DeepSeek 和 Dexscreener 构建免费的 AI 加密交易机器人?

我使用DeepSeek AI和Dexscreener API构建的一个简单的 AI 加密交易机器人实现了这一目标。在本文中&#xff0c;我将逐步指导您如何构建像我一样的机器人。 DeepSeek 最近发布了R1&#xff0c;这是一种先进的 AI 模型。您可以将其视为 ChatGPT 的免费开源版本&#xff0c;但增加…...

buu-jarvisoj_level0-好久不见30

嘶&#xff0c;我咋觉得这个也是栈溢出呢&#xff0c;找到读取的值&#xff0c;在再找到后门函数...

深度学习查漏补缺:1.梯度消失、梯度爆炸和残差块

一、梯度消失 梯度消失的根本原因在于 激活函数的性质和链式法则的计算&#xff1a; 激活函数的导数很小&#xff1a; 常见的激活函数&#xff08;例如 Sigmoid 和 Tanh&#xff09;在输入较大或较小时&#xff0c;输出趋于饱和&#xff08;Sigmoid 的输出趋于 0 或 1&#xf…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.2 多维数组切片:跨步访问与内存布局

2.2 多维数组切片&#xff1a;跨步访问与内存布局 目录/提纲 #mermaid-svg-FbBIOMVivQfdX2LJ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FbBIOMVivQfdX2LJ .error-icon{fill:#552222;}#mermaid-svg-FbBIOMVivQ…...

ResNet--深度学习中的革命性网络架构

一、引言 在深度学习的研究和应用中&#xff0c;网络架构的设计始终是一个关键话题。随着计算能力和大数据的不断提升&#xff0c;深度神经网络逐渐成为解决复杂任务的主流方法。然而&#xff0c;随着网络层数的增加&#xff0c;训练深度神经网络往往面临梯度消失或梯度爆炸的…...

TypeScript语言的语法糖

TypeScript语言的语法糖 TypeScript作为一种由微软开发的开源编程语言&#xff0c;它在JavaScript的基础上添加了一些强类型的特性&#xff0c;使得开发者能够更好地进行大型应用程序的构建和维护。在TypeScript中&#xff0c;不仅包含了静态类型、接口、枚举等强大的特性&…...

17.2 图形绘制4

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 17.2.5 线条样式 C#为画笔绘制线段提供了多种样式&#xff1a;一是线帽&#xff08;包括起点和终点处&#xff09;样式&#xff1b…...

tomcat核心组件及原理概述

目录 1. tomcat概述 1.1 概念 1.2 官网地址 2. 基本使用 2.1下载 3. 整体架构 3.1 核心组件 3.2 从web.xml配置和模块对应角度 3.3 如何处理请求 4. 配置JVM参数 5. 附录 1. tomcat概述 1.1 概念 什么是tomcat Tomcat是一个开源、免费、轻量级的Web服务器。 Tomca…...

本地部署DeepSeek教程(Mac版本)

第一步、下载 Ollama 官网地址&#xff1a;Ollama 点击 Download 下载 我这里是 macOS 环境 以 macOS 环境为主 下载完成后是一个压缩包&#xff0c;双击解压之后移到应用程序&#xff1a; 打开后会提示你到命令行中运行一下命令&#xff0c;附上截图&#xff1a; 若遇…...

MyBatis-Plus笔记-快速入门

大家在日常开发中应该能发现&#xff0c;单表的CRUD功能代码重复度很高&#xff0c;也没有什么难度。而这部分代码量往往比较大&#xff0c;开发起来比较费时。 因此&#xff0c;目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是…...

爬取豆瓣书籍数据

# 1. 导入库包 import requests from lxml import etree from time import sleep import os import pandas as pd import reBOOKS [] IMGURLS []# 2. 获取网页源代码 def get_html(url):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36…...

基于微信小程序的电子商城购物系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

6-图像金字塔与轮廓检测

文章目录 6.图像金字塔与轮廓检测(1)图像金字塔定义(2)金字塔制作方法(3)轮廓检测方法(4)轮廓特征与近似(5)模板匹配方法6.图像金字塔与轮廓检测 (1)图像金字塔定义 高斯金字塔拉普拉斯金字塔 高斯金字塔:向下采样方法(缩小) 高斯金字塔:向上采样方法(放大)…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库&#xff0c;特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

解锁数据库简洁之道:FastAPI与SQLModel实战指南

在构建现代Web应用程序时&#xff0c;与数据库的交互无疑是核心环节。虽然传统的数据库操作方式&#xff08;如直接编写SQL语句与psycopg2交互&#xff09;赋予了我们精细的控制权&#xff0c;但在面对日益复杂的业务逻辑和快速迭代的需求时&#xff0c;这种方式的开发效率和可…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...