当前位置: 首页 > 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)图像金字塔定义 高斯金字塔拉普拉斯金字塔 高斯金字塔:向下采样方法(缩小) 高斯金字塔:向上采样方法(放大)…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手&#xff1a;借助大模型技术&#xff0c;开发能根据用户输入的主题、风格等要求&#xff0c;生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用&#xff0c;帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...