VirtualBox下安装Centos7.9虚拟机的踩坑记录

2024-08-25 14:20

本文主要是介绍VirtualBox下安装Centos7.9虚拟机的踩坑记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 0 背景
  • 1 安装Centos7.9
    • 1.1 下载iso镜像
    • 1.2 正常安装虚拟机
    • 1.3 将用户添加到sudoers并免密
    • 1.4 更新yum源
    • 1.5 配置静态IP
    • 1.6 通过ssh工具传文件
    • 1.7 总结

0 背景

最近搞了个便宜的低配台式机用来敲代码,主要是嫌弃笔记本屏幕太小了,想用个大屏。
然后我手里就有两个独立的实体电脑。就可以写一些web项目来跑了。
具体的思路就是,在台式机上写代码,然后后端代码部署在笔记本上,本来想着再在笔记本上装个双系统的,后来觉得双系统太不灵活了,又不便于管控,就使用了虚拟机。
虚拟机上的Linux系统我之前安装了Ubuntu24.04,为了追求多样性,这次决定再安装一个Centos,选择的版本是7.9。另外,作为服务器使用的Linux系统不用考虑图形界面,安装黑窗口就行了。Ubuntu24.04也有live-server版本就是没有图形化界面的。
我们也不用实际去使用虚拟电脑,因为那上面的字有点小,字体也有点丑,通常是使用ssh连接工具来使用的,常见的有XShell,这个之前还是免费的,但不知为何又收费了,不用;Termius,这个是真的好用,但是也要收费,可惜;在众多免费的工具中,我选择了WindTerm,怎么说呢,界面虽然不如Termius,但是也还行。
核心就是:台式机上装WindTerm,远程连接(但其实在一个局域网内)笔记本上VirtualBox上的Linux系统,然后就可以在台式机上操作服务器了(虚拟电脑就是服务器)。

1 安装Centos7.9

1.1 下载iso镜像

这一点是安装虚拟机共有的,但是值得说明的一点是,在清华源上,要选择centos-vault,不然找不到iso:
在这里插入图片描述

1.2 正常安装虚拟机

这一步和之前安装Ubuntu的步骤是一样的,不同点在于安装centos没那么多设置项。只需要设置时区,磁盘(这个直接点那个整体就行了,不用分区),给root用户设置密码(可选),创建一个新用户就行了。这里不再赘述。

1.3 将用户添加到sudoers并免密

刚刚安装了centos7.9(或者说是一个自己用的Linux系统),首先为了方便,还是添加这一步。

1.4 更新yum源

在Ubuntu中,我们使用sudo apt update来更新(注意VirtualBox的网络连接模式选网络地址转换(NAT),这是默认的),在centos中,使用sudo yum clean all && sudo yum makecache fast来更新源。
我们使用阿里源

  1. 先将原有的备份
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  1. 直接使用curl获取阿里源,需要能连通外网,先试一下ping www.baidu.com通不通再说
curl http://mirrors.aliyun.com/repo/Centos-7.repo > a # 先将源下载到文件a中暂存,因为直接使用curl是没有权限的,加sudo也不行
sudo mv a /etc/yum.repos.d/CentOS-Base.repo # 再将文件a替换为yum源

这样下载的源使用的是http协议,也可以将其全部换为https,编辑文件即可。
注意(坑点):

  1. 如果你发现有的文章说的是用wget命令获取,但是你的centos系统中并没有wget这个命令,那就不要大费周章地去解决这个问题了,直接使用curl即可,这个命令是自带的,不需要安装。
  2. 就算是你选择了网络地址转换(NAT)模式,还是有可能连不上外网,此时编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3文件,将原始文件中的ONBOOT=no改为ONBOOT=yes即可。然后重启网络:sudo systemctl restart network.service
    完成之后执行
sudo yum clean all
sudo yum makecache fast

即可更新源。

1.5 配置静态IP

由于ssh连接是根据IP来连接的,如果你的虚拟电脑使用的是动态IP,那么每一次连接都需要先看一遍IP,再连接,这样很不方便。另外,虚拟电脑要作为服务器的话,其IP地址本身就要求不可变。

所以要配置静态IP,还是编辑/etc/sysconfig/network-scripts/ifcfg-enp0s3文件,将其内容修改为如下:
在这里插入图片描述
注意:在设置静态IP之前,先去看看宿主机的IPv4地址。
然后将VirtualBox网络连接模式改为桥接模式。正常情况下,这样不能连外网,但能够实现宿主机(同一局域网下的主机)和虚拟机相互之间能ping通。此时就可以用ssh工具进行连接了。

1.6 通过ssh工具传文件

现在能连接到虚拟机了,那么还要能传文件才行,笔者之前用的XShell可以直接将文件拖进去上传,WindTerm也可以。要实现这个功能,还要先在虚拟机上安装一些工具。(此时桥接模式不能通外网,静态IP在网络地址转换(NAT)模式下也不能连外网,目前只有将其恢复为动态IP加网络地址转换(NAT)模式才可以)
现在在ssh工具(WindTerm)中连上了centos,并切换到了目录/a/b,此时需要给centos传一个test.jar的包,想要直接拖动这个包上传的话,需要安装lrzsz工具,在虚拟机(服务器)上安装,安装也很简单,执行sudo yum -y install lrzsz即可。

1.7 总结

在这个过程中,需要注意以下几点:

  1. 如果没有wget命令则用curl命令
  2. 虚拟机网络连接模式中,网络地址转换(NAT)模式 + 动态IP才能连接外网,凡是使用yumwgetcurl来访问外网的命令都需要
  3. 自己部署服务只需要内网就行了,一般使用 桥接模式 + 静态IP,如果需要安装工具的话,还得切到能访问外网的情况下(建议写个脚本一键切换)
  4. 如果命令sudo systemctl restart network.service不好用了就用sudo NetworkManager restart
  5. 可能有些文章说还要修改/etc/resolv.conf文件,其实不需要,这个文件是会被系统自动修改的

这篇关于VirtualBox下安装Centos7.9虚拟机的踩坑记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105793

相关文章

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

MySQL使用EXISTS检查记录是否存在的详细过程

《MySQL使用EXISTS检查记录是否存在的详细过程》EXISTS是SQL中用于检查子查询是否返回至少一条记录的运算符,它通常用于测试是否存在满足特定条件的记录,从而在主查询中进行相应操作,本文给大... 目录基本语法示例数据库和表结构1. 使用 EXISTS 在 SELECT 语句中2. 使用 EXIS

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

基于Spring Boot 的小区人脸识别与出入记录管理系统功能

《基于SpringBoot的小区人脸识别与出入记录管理系统功能》文章介绍基于SpringBoot框架与百度AI人脸识别API的小区出入管理系统,实现自动识别、记录及查询功能,涵盖技术选型、数据模型... 目录系统功能概述技术栈选择核心依赖配置数据模型设计出入记录实体类出入记录查询表单出入记录 VO 类(用于