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

news2024/9/23 11:17:25

目录

  • 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文件,其实不需要,这个文件是会被系统自动修改的

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

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

相关文章

129页《战略推演:获取竞争优势的思维与方法》

知识星球APP搜索【战略咨询文库】,下载700多份资料 一、战略思维 差异化战略 产品或服务差异化:通过提供独特的产品特性、功能、设计或品质,满足特定客户群体的需求,从而与竞争对手区分开来。例如,苹果公司以其创新…

LeetCode 面试经典 150 题回顾

目录 一、数组 / 字符串 1.合并两个有序数组 (简单) 2.移除元素 (简单) 3.删除有序数组中的重复项 (简单) 4.删除有序数组中的重复项 II(中等) 5.多数元素(简单&am…

数据结构与算法的实现与优化

目录 引言 数据结构与算法的重要性 实现与优化的基本原则 线性表的实现 顺序表与链表的实现 静态链表与动态链表的对比 栈与队列的实现 顺序栈与链栈的实现 顺序队列、链队列、循环队列与双端队列的实现 高级树结构的实现 二叉树、平衡树与哈夫曼树的实现 图的实现…

SSRF——redis(未授权访问)①

本文介绍如何复现并利用Redis的未授权访问漏洞,以达到远程代码执行和获取系统权限的目的。Redis版本(2.8),于Ubuntu环境下进行。 SSRF(Server-Side Request Forgery)是一种网络安全漏洞,允许攻击…

前端实现两张图片合成,图片换背景,简单p图程序

前言 最近在自己做一个图文工具网站,图片背景替换功能,后台通过opencv的AI算法抠出了图片主元素,现在需要把抠出来的元素换一个背景色,或者合成到一张背景图片中,如何操作呢? 实现方式Demo 我考虑的是…

linux系统使用 docker 来部署运行 mysql5.7 并配置 docker-compose-mysql.yml 文件

Docker是一个开源的容器化平台,旨在简化应用程序的创建、部署和管理。它基于OS-level虚拟化技术,通过将应用程序和其依赖项打包到一个称为容器的标准化单元中,使得应用程序可以在任何环境中快速、可靠地运行。 Docker的优势有以下几个方面&a…

【解决问题】linux系统运行程序可以打印信息到屏幕,重定向到一个文件,文件中没有信息

在Linux系统中运行程序时,如果你发现程序打印的信息无法通过重定向写入到文件中,那么很可能是因为程序将信息打印到了标准错误流(stderr),而不是标准输出流(stdout)。重定向操作通常只对标准输出…

20240826 每日AI必读资讯

突发!IBM中国研发岗访问权限一夜关闭,千人或被裁 - IBM中国区一夜关闭了研发测试岗员工的内部权限,波及1000多名员工。 - 今年3月,IBM大中华区董事长陈旭东在媒体及分析师沟通会上表示,公司在IBM大中华区的战略将聚焦…

《重生到现代之从零开始的C语言生活》—— 指针4

字符指针变量 在指针类型中我们知道有一种指针类型为字符指针char* 如果我们想用他 int main() {char p w;char *d &p;return 0; }他可以存放字符变量的地址 也可以这么使用 int main() {char *d "hello"return 0 ; }其本质是把字符串"hello"的…

动态链接库——深入探讨C++程序中.so技术细节和实现方式及C程序中动静态库的区别(+工程分步骤编译库)

在开发中,动态链接库(DLL)和共享对象(Shared Object).so文件的使用成为提升程序灵活性和重用性的关键手段。如下相关工具,GNU Libtool: 一种用于创建可移植共享库的工具。Dynamic Linker: 关于动态链接器的…

VSCode - 终端使用 code 命令

1、Command Shift P 调出 输入 shell 选择 安装命令 2、授权 3、使用 % code --version 1.92.1 eaa41d57266683296de7d214f574d0c2652e1fc4 arm64% code ~/.zshrc 伊织 2024-08-21(三)

6.InnoDB引擎

InnoDB引擎 1.逻辑存储结构2.架构2.1内存架构2.2 磁盘结构 3.事务原理3.1 事务3.2 redo log3.3undo log 4.MVCC4.1MVCC 基本概率14.2 实现原理 1.逻辑存储结构 2.架构 2.1内存架构 2.2 磁盘结构 create tablespace mytest add datafile mytest.idb engineinnodb;后台线程 mys…

Ubuntu 24.04 上安装和配置 Zabbix Agent

Zabbix 是一个强大的开源监控工具,可以帮助您跟踪服务器,网络和应用程序。在主机环境中配置了 Zabbix Server 之后,下一步是添加用于监视的远程主机。Zabbix Agent 从您的服务器收集数据并将其发送到 Zabbix 服务器进行监控。 本指南将向您展…

CUDA-BEVFusion(1): 环境安装

文章目录 1. 查看ubantu配置2. 环境安装2.1 安装包下载2.1.1 tensorRT 下载2.1.2 CUDA 下载2.1.3 cuDNN 下载2.2 安装2.2.1 cuda 安装2.2.2 cuDNN 安装2.2.3 tensorRT安装3. 安装包下载1. 查看ubantu配置 查看GPU的版本sudo apt-get install pciutilslspci | grep VGA查看linux…

Tabby 终端工具推荐

前言:Tabby 是一个现代化的、跨平台的终端模拟器,旨在提供增强的用户体验和定制功能。Tabby(以前称为 Terminus)被设计为比传统终端更加灵活和美观 Eugeny/tabby: A terminal for a more modern age (github.com)https://github.com/Eugeny/…

网络安全售前入门02——产品了解

目录 1.前言 2.WEB应用防火墙介绍 2.1产品架构功能 2.2应用场景 2.3部署形式 2.4产品价值 2.5选型依据 3.上网行为审计 3.1产品架构功能 3.2应用场景 3.3部署形式 3.4产品价值 3.5选型依据 后续 1.前言 为方便初接触网络安全售前工作的小伙伴了解网安行业情况,我…

BUUCTF PWN wp--ciscn_2019_n_1

第一步 checksec,并检查该题的保护机制 该题的保护机制如下: Arch (架构): amd64-64-little 这意味着这个二进制文件是为64位AMD64架构编译的,使用小端序(little-endian)。RELRO (重定位-read-only): Partial RELRO P…

工具技巧:如何使用AutoDL算力云

AutoDL算力云可以快速构建编程环境,价格也很实惠 模型运行已知需要显存少,可以考虑选择4090,有24G,具体选择哪种类型,可以看看重点看看这两方面**:数据盘能否扩容,CUDA版本是否够高** 根据自身…

虚拟化技术VirtualBox

虚拟化技术是当今云计算领域中的重要技术之一,而VirtualBox作为一款开源的虚拟化软件,在Linux系统中发挥着重要作用。本文将从VirtualBox的基本概念入手,介绍其在Linux系统中的应用和高级云计算技术,包括其原理、特点、优势、使用…

http基础原理及应用

三次握手 第一次 发送SYN报文 ,传达信息,我想建立连接 第二次 回传SYNACK报文,传达信息 :好的可以建立链接 第三次 回传ACK报文 传到信息:好的,我知道了,哪我能连接,然后就建立连…