场景:由于开发的项目是部署在linux上,之前用过VMWARE,但是占用的内存较大,于是想着用一个相对轻量级的软件来替代,于是也就有了本文
安装步骤
- 先确保本机已经安装好了VirtualBox,首先我们需要准备好centos的iso镜像文件,可以从centos的官网下载。 2.以下操作使用的VirtualBox版本号是VirtualBox6.1.28
一、创建虚拟机
1.下载好操作系统镜像文件后,打开VirtualBox,点击新建虚拟机(首次新建虚拟机推荐使用向导模式,熟练操作步骤后建议使用专家模式)
虚拟机名称可以随便输入,类型选择linux,在操作系统的发行版本中没有找到可选的centos版本,我们选择Other Linux版本(其他版本)替代,如果我们安装的是64位操作系统那么对应的选项是(64-bit),如果是32位那么对应的选项是(32-bit),可以从我们下载的操作系统的iso镜像文件名称中得知操作系统位数(下载之前我们就应该知道的)。
错误补充:CentOS Linux 的发行版本是通过编译 Red Hat, Inc 公开提供的 Red Hat 企业级 Linux 开源代码而产生的。所以这里根据官方的说法应该选择redhat的发行版(其实这里选择Other Linux来创建虚拟机也没有什么问题)。
2.以上设置完成后,点击下一步 进行分配内存
使用建议的内存大小即可,根据宿主机的配置可以自己进行调整,这里的值可以理解为虚拟机最大可占用宿主机的多少内存。
3.内存分配完成,点击下一步设置虚拟硬盘
这里有三个选项,可以选择使用已有的虚拟硬盘文件,或者先不添加虚拟硬盘,等创建好虚拟机后再添加,这里我们选择第二个现在创建虚拟硬盘
4.点击创建,进入虚拟硬盘文件类型选项
默认选项即可,默认选择的是VirtualBox虚拟机软件专用的磁盘映像格式,其他虚拟机软件可能无法读取。
5.点击下一步,进行设置如何分配虚拟硬盘
默认选项即可,两者有何不同界面上已经有很详细的说明了。
6.点击下一步,指定虚拟硬盘文件的存放位置和虚拟硬盘的大小。
虚拟硬盘的大小使用第3步中推荐的硬盘大小即可。
7.点击创建,虚拟机创建完成
主界面中已经看到刚刚创建的虚拟机。
二、安装操作系统
1.正常启动刚刚创建好的虚拟机
提示我们选择一个虚拟光盘文件(iso文件)或者光驱来启动虚拟电脑
2.选择我们准备好的操作系统iso镜像文件,点击启动
第一个选项是安装CentOS7,第二个选项是检查操作系统文件是否损坏并安装CentOS7。
3.我们选择第一个选项按下回车键直接安装,进入语言选择界面
选择中文->简体中文
4.点击界面右下角的继续按钮进行下一步
提示先完成带有黄色叹号的内容,否则无法进行下一步,我们看到安装位置处于此状态,并显示已选择自动分区
5.黄色叹号只是警告我们默认使用了自动分区,目的是让我们确认一下,是否需要手动分区,我们点进去
如果不需要手动分区,还使用默认的自动分区进行安装的话,我们直接点击左上角的完成退出
6.退出后回到刚刚那个摘要的界面,发现黄色感叹号不见了
右下角可以开始安装了,不过安装之前我们需要把以太网打开,否则系统安装后无法联网,并且在命令行操作系统内开启网络需要修改配置相对麻烦。
7.摘要的界面上可以看到网络和主机名的显示为未链接,我们点进去
点击打开以太网,点击完成退出
8.此时的网络和主机名显示有线已连接
9.如果需要图形界面,可以点击软件选择,选择基本环境(如果需要图形界面请下载完整版的操作系统iso镜像文件)
这里选择最小安装即可,linux作为服务器时一般不需要图形界面(图形界面会消耗掉一定的硬件性能),有一个终端仿真器,然后能够通过shell命令去操作系统就足够了。
10.回到安装信息摘要界面,点击开始安装
警告我们设置root密码和创建用户,并且下面显示已经开始安装操作系统
11.设置root密码
点击完成两次完成root密码设置
12.回到配置界面,发现创建用户的警告消失了
是因为没设置root密码之前系统内没有用户,警告我们创建一个用户,设置了root密码也就是创建了root用户,所以警告消失了
13.静静等待安装完成即可
. 完成后点击重启
14.进入系统启动界面
发现启动时有两个选项,不过第二个选项我们不经常用,因为它是急救模式启动的选项(系统出现问题不能正常启动时使用并修复系统)
15.选择第一项 按下回车启动centos系统
输入用户:root,密码:安装时设置的root密码
16.登陆成功
VirtualBox下安装CentOS7系统到此全部结束。
三、 当宿主机插网线(以太网)时的虚拟机网络设置
1.virtualbox默认的网络连接方式如下
这种连接方式虚拟机可以ping通宿主机和外网,但是宿主机无法ping通虚拟机,执行ip address命令可以看到虚拟机自动分配的ip地址是10.0.2.15(我这里显示的是这个ip,可能会有不同),跟宿主机根本不在一个网段。
2.VirtualBox的四种网络连接方式
可以看到桥接模式是最佳选项,它支持所有情况的访问
3.修改虚拟机连接方式为桥接网卡
左边是宿主机的网络设置,右边是虚拟机网络设置,我们修改虚拟机的连接方式为桥接网卡、界面名称处选择的是宿主机当前使用的网卡
4.虚拟机网络修改完成后,查看宿主机网络信息
保证你的宿主机网络连接正常,然后记下左图的信息,稍后虚拟机配置时需要作为参考。
5.启动虚拟机,输入ip address命令
默认情况下(下面第8步的BOOTRPOTO=dhcp时)虚拟机会根据宿主的网卡信息自动分配一个ip(如果没有分配ip可能是因为你的宿主机连接的wifi网络,稍后我们再说宿主机wifi网络下虚拟机如何上网),上图显示了ip/子网掩码信息和以太网卡的名称(根据这个名称可以在/etc/sysconfig/network-scripts/下找到相应的网络配置文件)。
6.如果一切顺利,经过以上步骤,我们的虚拟机应该可以与宿主机互相ping通了,再看看虚拟机能不能ping通外网(ping baidu.com),如果通了那下面的几步就不用看了,说明网络一切正常,如果不通则检查虚拟机是否获取到正确的dns服务器地址,执行vi /etc/resolv.cong可以看到自动获取的dns地址,发现这里是交换机的,而不是真实的dns地址
7.修改网络配置文件,执行cd /etc/sysconfig/network-scripts;ls
”ifcfg-“开头加上我们的以太网卡名称“enp0s3” 就是我们要修改的文件
8.使用vim根据宿主机网络信息修改虚拟机配置文件的内容
左边是修改前,右边是修改后,右边把BOOTRPOTO修改成了static,是因为dhcp是自动获取,如果不改成static,我们在这里修改的这些地址不会生效,因为重启网络服务时,BOOTRPOTO的值决定了是自动分配还是使用静态数据,DNS1和DNS2对应的是宿主机的首选DNS服务器和备用DNS服务器
9.重启网络服务
界面名称为当前的wifi网卡
网络重启后,再次执行vi /etc/resolv.cong可以看到dns地址已经更新成刚刚指定的dns地址,最后ping一下baidu.com,显示外网可以ping通了
四、当宿主机wifi时的虚拟机网络设置
宿主机wifi时配置比较简单,以上几步即可。
当宿主机为wifi时也可以配置虚拟机的固定ip 执行cd /etc/sysconfig/network-scripts; ls
vi ifcfg-enp0s3
代码语言:javascript复制TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
#BOOTPROTO="dhcp" // 这里用#表示注释掉
BOOTPROTO="static" // 这个地方表示固定ip
IPADDR="192.168.1.116" // 设定给虚拟机具体的ip
NETMASK="255.255.255.0" //子网掩码
GATEWAY="192.168.1.1" // 网关
DNS1="202.106.46.151" // dns服务器 DNS1和DNS2可通过ipconfig -all获取
DNS2="114.114.114.114"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="b4783055-492e-48e0-a610-f8e1bf7ff696"
DEVICE="enp0s3"
ONBOOT="yes"
到此网络配置结束,已经成功配好了宿主机ping通虚拟机、虚拟机ping通宿主机,虚拟机ping通外网。
最后可以通过Xshell来连接Linux
五、其它问题
为什么ifconfig 及 netstat程序centos7默认没有安装:你对 ifconfig/netstat 做了甚手脚?
有的宿主机的dns服务器可能显示是192.168.1/0.1,这是路由器的地址,真正的DNS服务器地址可以在路由器设置界面wan详情里看到,网上也可以找到一些通用的dns地址(不知道是否安全,不推荐使用)。
什么是宿主机? 虚拟机中的概念是这样的: 1、宿主机:指要安装虚拟机软件的计算机,你花钱买的物理机。 2、虚拟机:利用虚拟机工具构造出来的,有一整套硬件设备,有自己操作系统,应用软件。 3、宿主操作系统:物理机上安装的,例如在一台Win2K机上安装VMWare 4、客户操作系统:虚拟机上的操作系统,如Red Hat Linux。
推荐阅读:
centos官方wiki:https://wiki.centos.org/zh/FrontPage?action=show&redirect=zh
该版本智能用vi命令,无法用vim命令
本次配置参考博客:https://www.cnblogs.com/hihtml5/p/8217062.html
查看ip地址的命令:ip address