本文介绍如何使用virtual box虚拟机安装cenos-7,并进行网络配置,使虚拟机可以连外网,使宿主机可以连虚拟机。
- 宿主机:windows 10 (2019.06.02更新,版本号1809,操作系统版本号17763.503。在设置--系统--关于中查看)
- 虚拟机: virtual box 5.2.30
- CentOS: CentOS-7-x86_64-DVD-1810.iso
- 工具:XShell 5. xshell在Linux下配色选择BlackPoppingCandy.xcs
virtual box默认安装即可,本文不再赘述。
1. 设置virtual box
- 打开virtual box,点击新建按钮
- 在新打开的窗口中,类型选择Linux,版本选择Red Hat 64bit,名称写自己喜欢的名称
- 设置内存,添加硬盘(现在创建虚拟硬盘),VDI,动态分配,然后为虚拟硬盘选择一个位置,并设置大小
- 点击创建
- 点击新创建好的虚拟机,然后点击设置
- 系统设置中,反选“软驱”。这一步不做也可以
- 存储设置中,为光驱(IDE控制器下的圆盘)加载CentOS的镜像文件:
- 网络设置中,网卡1是“网络地址转换(NAT)”,这个默认应该已经启动。然后再把网卡2启动,选择“仅主机(Host-Only)网络”,此时应该会自动选择一个界面名称,每个机器可能不一样:
- 共享文件夹界面,点击右侧的添加按钮,设置一个共享文件夹,可以在windows和linux之间传文件。不需要自动挂载:
- 配置完之后,点击确定
- 可以通过设置CPU数量为4,CPU使用率降低到50%,降低VirtualBox的CPU使用率
2. 安装CentOS-7
- virtual box的主界面上,点击启动,启动刚才的虚拟机。在新界面中,会提示安装CentOS。通过按上下键选择不同的选项。这里我们直接选择“install CentOS 7”来安装
- 语言选择界面,我们选择English>English(United States)。如果鼠标在虚拟机中出不来,按键盘右侧的ctl键即可让鼠标跳出虚拟机
- INSTALLATION SUMMARY界面: 设置Data&Time为中国地界,设置完后点击左上角的“Done”按钮。设置INSTALLATION DESTINATION,进去后选择分配的磁盘(需要点它两次),使用默认分区(Automatic partition)即可。SOFTWARE SELECTION中默认选择的就是Minamal Install,如果需要安装其他功能,可以进入这个选择其它功能进行安装。
- 然后就开始安装了,此时我们可以设置root密码,并新建一个用户。如果密码设置过于简单,需要点击两次Done按钮,强制设置简单的密码。在新建的用户中,最好选择上“设置为管理员”,这样新用户就可以执行sudo操作。安装完后点击reboot重启
3. 设置网络
- 使用root用户登陆重启后的虚拟机
- 执行
ip a
命令查看现有的网络地址 cd /etc/sysconfig/network-scripts
-
vi ifcfg-enp0s3
,把最后的ONBOOT设置为yes。enp0s3就是virtual box中设置的NAT网络。这个网络是为了让虚拟机可以上网
-
vi ifcfg-enp0s8
,修改BOOTPROTO=staic, ONBOOT=yes,添加IPADDR=192.186.56.103,103可以换成其它的。enp0s8就是virtual box中设置的host-only网络。这个网络是为了让宿主机和虚拟机之间互联(IP地址需要先使用ip a
命令查看现有地址,再修改最后一位)
-
service network restart
重启网络 -
ip addr
查看网络状态:
- 使用XShell 5,用ssh命令连接192.168.56.103地址,可以连接通,说明宿主机和虚拟机通了。ping www.baidu.com也通,则说明外网通了
至此在Windows10下使用virtual box安装centos-7就成功了
4. 安装增强功能并设置共享目录
- 这里我们切换到了具有sudo权限的普通用户,不再直接使用root用户操作
-
lsscsi
查看设备。其中的/dev/sr0就是虚拟机的虚拟光驱
- 在虚拟机界面,点击设备--分配光驱-->然后选择virtual box安装目录中的VBoxGuestAddition.iso文件
sudo mkdir /media/cdrom
-
sudo mount /dev/sr0 /media/cdrom
,把光盘挂在到/media/cdrom目录 -
cd /media/cdrom
后,能看到很多文件,说明挂载成功 -
sudo yum install gcc kernel-devel kernel-headers dkms make bzip2
安装依赖软件 -
sudo yum update
更新软件 -
sudo sh ./VBoxLinuxAdditons.run
,安装增强功能- 如果增强功能安装失败,比如报“找不到header”,执行
cat /var/log/VBoxGuestAdditions.log
查看具体报错信息 -
sudo yum install -y "kernel-devel-uname-r == $(uname -r)"
,这个命令安装一个和Linux内核版本匹配的kernel-devel - 具体问题具体分析,一般来说不用执行
- 如果增强功能安装失败,比如报“找不到header”,执行
-
sudo mkdir /media/sf_share
,设置共享目录在Linux中的位置 -
sudo chmod 777 /media/sf_share
,设置其为777。不必做 -
sudo reboot
,重启虚拟机中的CentOS系统,很重要 -
sudo mount -t vboxsf TmpShareFolder /media/sf_share
,其中TmpShareFolder就是第1节中设置共享文件夹时指定的“共享文件夹名称”
5. 安装一些常用软件
5.1 vim
-
sudo yum install vim*
,安装vim,可以彩色显示-
新建文件~/.vimrc,设置其内容为:
set nu set showmode set ruler set autoindent syntax on
- :set nonu可以取消显示行号
- :set paste可以在粘贴时不自动添加缩进
-
xshell连接终端,使用vim退出后,屏幕依旧有文件内容的解决方法
$ vim ~/.bashrc
添加一行
export TERM=xterm
重新登录终端。
5.2 openjdk
- 使用
sudo yum search openjdk
查看有哪些可以安装的jdk版本。从中我们选择1.8版本的jdk. sudo yum install java-1.8.0-openjdk
- 使用
java -version
查看安装结果
6. 一些设置
6.1 设置hostname和hosts
- 设置hostname:
hostnamectl set-hostname you-new-host-name
- 设置hosts:
vi /etc/hosts
,在每个条目后面添加上you-new-host-name
[eric@vmwmin1 ~]$ cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 vmwmin1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 vmwmin1
- 重启:
sudo reboot
6.2. 关闭tab的铃声
vi /etc/inputrc
,去掉set bell-style none前面的#号,重启系统。
6.3 使用阿里源
sudo yum install -y wget
sudo mkdir /etc/yum.repos.d/bak
cd /etc/yum.repos.d/; sudo mv CentOS-Base.repo bak/
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum makecache
6.4 设置防火墙
- 防火墙命令帮助:
firewall-cmd --help | less
- 查看现在开放的端口:
sudo firewall-cmd --list-ports
- 临时打开端口,防火墙重启后失效:
sudo firewall-cmd --add-port=80/tcp
- 永久打开端口,防火墙重启后不失效:
sudo firewall-cmd --add-port=80/tcp --permanent
- 关闭端口:
sudo firewall-cmd --remove-port=80/tcp
- 永久关闭端口:
sudo firewall-cmd --remove-port=80/tcp --permanent
- 开启端口转发:
sudo firewall-cmd --add-masquerade
- 设置端口转发:
sudo firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80:toadddr=192.168.22.11
- 查看端口转发:
sudo firewall-cmd --query-forward-port
- 删除端口转发:
sudo firewall-cmd --remove-forward-port=port=8080:proto=tcp:toport=80:toadddr=192.168.22.11
- 关闭防火墙:
sudo systemctl stop firewalld.service
- 禁止防火墙开机启动:
sudo systemctl disable firewalld.service
- 启动防火墙:
sudo systemctl start firewalld.service
- 查看防火墙状态:
sudo firewall-cmd --state
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。