一直使用VMWare Wokrstation安装Linux虚拟机用于测试。今天(2018-07-05)有个需求是要在家里和公司的电脑上都安装一套相同的环境。我的需求是能运行一些tomcat和zookeeper等服务就行了,要求并不高。首先列举出会使用的文件:

  • VMware Workstation V12 (版本不限,我只前使用的是V10) 约450M
  • jdk-8u121-linux-x64.tar.gz 约174M
  • CentOS7 系统镜像 约4.2G
  • maven tomcat等忽略不计

我是使用坚果云同步这些文件的,好处就是把文件放到某目录下就好,坚果云会自动同步。VMware和jdk都同步好之后,问题出现了,CentOS这个镜像无论如何同步不了(不管是文件太大还是其它的,问题就是同步不成,当然解决方案有很多,使用U盘传输可以解决该问题,但更应该考虑一下是不是要按需选择镜像呢),于是我就想,CentOS有没有一个精简版的系统?上官看到了Minimal版本,约900M,还不错。(此前找了Debian9,约600M,安装之后界面输入命令显示乱码,尽管我安装时选择国家是United Kingdom……)

最终决定使用这个900M的CentOS7。当然了,使用Minimal的系统还有一个原因,我会安装不止一个linux系统……

安装

安装之前请选择在VMware配置网络,选桥接模式并勾选上复制物理网络连接状态。 安装过程就略过不提了,注意安装语言请选择English(不要选中文,我刚开始选了中文,发现ssh secure shell里输入命令乱码,暂没找到修正的办法,只好重新安装选择English了)。安装之后使用ip addr查看ip,其实网络是禁用的,这时候要做如下操作:

  • 编辑/etc/sysconfig/network-scripts/ifcfg-ensXXX的ONBOOT=no改为ONBOOT=yes
  • 重启系统,输入 reboot
  • 执行ip addr,记录一下分配的ip
  • 再次编辑/etc/sysconfig/network-scripts/ifcfg-ensXXX文件,把BOOTPROTO=dhcp从dhcp修改为static,配置为static后ip就不会变动了,再添加
  • IPADDR=上步的ip,
  • NETMASK=255.255.255.0,
  • GATEWAY=步骤3的ip,把最后一个数置为1,比如IPADDR=192.168.1.200,此处应是192.168.1.1
  • 重启网络 service network restart
  • 关闭防火墙 systemctl stop firewalld.service
  • 禁止防火墙开机启动 systemctl disable firewalld.service
  • 在物理机ping配置的ip,应该能够ping通

无法yum install

这时候就可以使用ssh客户端连上了。这时候就能满足我的需求了,启动tomcat没有任何问题,但是执行无法使用yum install安装软件,如执行yum install unzip -y 会直接报错,我找了30分钟没有找到原因,就不管了,先上传自己的服务再说。 偶然找到一个页面 https://blog.csdn.net/hanzheng260561728/article/details/72648432 里说到修改/etc/resolv.conf,我也试了下,果然可以yum install了,万能的互联网~ 我的resolv.conf如下:

nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver mirrors.sohu.com nameserver mirrors.163.com

之后ping www.baidu.com就有反应了。也能yum install了。 目前来说问题是全部解决了。

md上传图片不太方便,在此附上我的/etc/sysconfig/network-scripts/ifcfg-ensXXX文件内容:

TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no # 修改dhcp为static BOOTPROTO=static 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=ens33 UUID=c74e8f3f-dda6-4917-8402-6414ffb5b534 DEVICE=ens33 # 修改no为yes ONBOOT=yes # 如下三行是添加的 IPADDR=192.168.1.201 NETMASK=255.255.255.0 GATEWAY=192.168.1.1

说明

CentOS6里使用ifconfig查看ip地址,CentOS7中使用ip addr(注意是两个单词)。

遗留问题

无法在虚拟机内ping到物理机。作为一个开发,这个运维的锅我是不想背,先拿这个用吧。目前来说也不需要虚拟机访问物理机。