在Linux CentOS 7.4上安装VMware Station 12.5

记得很久很久以前,我就喜欢买来各种各样的计算机书,想学习一门拿手的本领。可就是看不懂。比如当年的我看到有人写安装VMware之类的文章,忍不住想问:你到底为什么要安装那个玩意呀?可是,很多人在写下这些内容的时候,根本没有想到要去写为什么。为什么?被人逼得呗。

我却想在这里说一说,我为什么要安装这个东西。我参加了达内的Linux RHCE红帽工程师认证考试辅导班。考试的环境是一台真正的电脑 + 两台模拟出来的服务器。如果不模拟出两台服务器的话,每人要占用三台电脑来考试,那考试费一定会更贵。现在已经非常贵了。

所以,为了省钱,就用程序来模拟另外两台服务器(也可以认为它就是“电脑”,其实它就是特别一点点儿的电脑)。

那为什么非要三台服务器(一真两假)才能考试呢?因为,我们要考的内容是一个网络工程师必须掌握的知识,所以,必须在网络环境下考试。否则,单机考试,岂不是不便宜我们了吗?就像以前考驾照,只考一个打火发动,定点停车就可以拿到驾照。太简单了。会害死人。

说半天,我还没说,我为什么要安装这玩意。培训学校里有设置好的电脑可以用。可是,你总不能老是去那里练习吧?培训学校会很不高兴的。还有,要是半夜里,我想练,他们已经下班锁门了,怎么办?所以,还得自己家有才好。我的笔记本电脑,只有4G的内存。而老师说,这个程序自己都要4G内存。肯定是不行了。我又没钱买新电脑。不过,我家里几台旧服务器,IBM x3650系列,内存都是16G。于是,我就进行了如下的操作:

1、到centos.org下载minimal ISO,7.4版的64位。感谢开源世界的朋友们,感谢阿里云提供下载镜相。当然还有其他公司和大学也提供了镜相。我想,既然我每年还购买了几台阿里云服务器,免费使用一下他们的服务也有点心安理得不是?

2、右键单击那个光盘映像文件CentOS-7-x86_64-Minimal-1708.iso,刻录光盘映像到光驱。电脑是Windows 10,自带的这个刻录软件。 这个软件将这个ISO解压缩,分成好多目录和文件。所以,不能直接拖到光驱里,必须使用“光盘映像刻录”软件。现在,还有将ISO文件刻录到U盘的,你可以试一试。

3、将刻录好的光盘塞进IBM服务器上的光驱内,加电源,启动。启动过程中,选择从光驱启动。

4、安装centos 7。当然,完成后,免不了要修改网卡网址、掩码和网关,修改/etc/resolv.conf,设置域名解析服务器,让这台服务器上网。否则,上不了网,后面的操作都无法进行。

用到的主要命令如下:

systemctl con show,看看有哪些网卡,我的这台有4个

systemctl con modify "eno2" ipv4.......

vi /etc/resolv.conf,添加nameserver 8.8.8.8之类的解析服务器

systemctl restart network,重启网络

这个等以后有空再写。估计大家都会。

5、安装U盘的时候,提示不认识NTFS格式,安装fuse和ntfs-3g

yum install ntfs-3g fuse

结果fuse装上了,ntfs-3g没装上,没找到。于是手动下载:

mkdir /home/vmware,在/home下创建一个名叫vmware的目录。以前有直接这样,不解释,我作为菜鸟要琢磨好半天,这个到底是个虾米命令呀?

cd /home/vmware,进入那个目录

wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-1.el7.x86_64.rpm

rpm -ivh ntfs-3g-2017.3.23-1.el7.x86_64.rpm

6、最小化安装没有X Window,于是要安装GUI,根据万能网友的攻略,我这样安装的

yum group list

看到了这样一些信息:

Loaded plugins: fastestmirror
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.shu.edu.cn
 * updates: ftp.sjtu.edu.cn
Available Environment Groups:
   Minimal Install
   Compute Node
   Infrastructure Server
   File and Print Server
   Basic Web Server
   Virtualization Host
   Server with GUI
   GNOME Desktop
   KDE Plasma Workspaces
   Development and Creative Workstation
Available Groups:
   Compatibility Libraries
   Console Internet Tools
   Development Tools
   Graphical Administration Tools
   Legacy UNIX Compatibility
   Scientific Support
   Security Tools
   Smart Card Support
   System Administration Tools
   System Management
Done

再然后,就安装那个红色的组

yum -y groupinstall "Server with GUI"

启动X Window

startx

居然一下子就成功了!

其实,我也经历了两个小时愚蠢的周折。原因是,我把服务器摆在书房,自己用一台笔记本电脑坐在卧室里,通过PuTTy连上服务器操作的。我没有意识到这一点,总是在PuTTy终端上运行startx命令,肯定会出错啊。正确地做法是,直接走到服务器那个房间,为服务器接上一个显示器。就能看到X Window图形界面完全启动了!

接下来,安装VMware。

安装的程序是从哪里来的?从培训学校拷贝来的。一个设置好的服务器snapshot(截图),放在一个文件夹里。一个是安装程序,名字叫VMware-Workstation-Full-12.5.0.x86_64.bundle。

在Linux CentOS 7.4上安装VMware Station 12.5,结果出错了。如果你将这个程序拷贝到一个叫/home/vmware的目录或路径下。就

cd /home/vmware

然后再运行下面这个命令:

./VMware-Workstation-Full-12.5.0.x86_64.bundle 

“./”代表在当前路径下。当然,你也可以这样:

/home/vmware/VMware-Workstation-Full-12.5.0.x86_64.bundle

回车之后,屏幕上有很多东西在往上跑,你不用理睬它们。我就是这样做的。结果有一个提示说什么Kernel Header没有安装。

kernel-headers-3.10.0-693.el7.x86_64.rpm were not found...

怎么办?安装它。有一个通用的命令,不管你的内核版本是什么,都中。

yum install "kernel-devel-uname-r == $(uname -r)"

好,非常好。但是启动的时候,出错了。出现的提示说,要我到/tmp/vmware-root下面去看一个名叫vmware-18801.log的日志文件。当然,不同的机器显示的这个编号是不一样的。打开那个日志,是这样的。

2018-03-09T08:07:27.986-05:00| vthread-4| I125: Log for VMware Workstation pid=18801 version=12.5.0 build=build-4352439 option=Release
2018-03-09T08:07:27.986-05:00| vthread-4| I125: The process is 64-bit.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: Host codepage=UTF-8 encoding=UTF-8
2018-03-09T08:07:27.986-05:00| vthread-4| I125: Host is Linux 3.10.0-693.el7.x86_64 CentOS Linux release 7.4.1708 (Core)
2018-03-09T08:07:27.986-05:00| vthread-4| I125: DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: DictionaryLoad: Cannot open file "/root/.vmware/config": No such file or directory.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: PREF Optional preferences file not found at /root/.vmware/config. Using default values.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: PREF Unable to check permissions for preferences file.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: DictionaryLoad: Cannot open file "/root/.vmware/preferences": No such file or directory.
2018-03-09T08:07:27.986-05:00| vthread-4| I125: PREF Failed to load user preferences.
2018-03-09T08:07:27.991-05:00| vthread-4| W115: Logging to /tmp/vmware-root/vmware-18801.log
2018-03-09T08:07:27.999-05:00| vthread-4| I125: Obtaining info using the running kernel.
2018-03-09T08:07:27.999-05:00| vthread-4| I125: Created new pathsHash.
2018-03-09T08:07:27.999-05:00| vthread-4| I125: Setting header path for 3.10.0-693.el7.x86_64 to "/lib/modules/3.10.0-693.el7.x86_64/build/include".
2018-03-09T08:07:27.999-05:00| vthread-4| I125: Validating path "/lib/modules/3.10.0-693.el7.x86_64/build/include" for kernel release "3.10.0-693.el7.x86_64".
2018-03-09T08:07:27.999-05:00| vthread-4| I125: Failed to find /lib/modules/3.10.0-693.el7.x86_64/build/include/linux/version.h
2018-03-09T08:07:27.999-05:00| vthread-4| I125: /lib/modules/3.10.0-693.el7.x86_64/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2018-03-09T08:07:27.999-05:00| vthread-4| I125: using /bin/gcc for preprocess check
2018-03-09T08:07:28.033-05:00| vthread-4| I125: Preprocessed UTS_RELEASE, got value "3.10.0-693.el7.x86_64".
2018-03-09T08:07:28.033-05:00| vthread-4| I125: The header path "/lib/modules/3.10.0-693.el7.x86_64/build/include" for the kernel "3.10.0-693.el7.x86_64" is valid.  Whoohoo!
2018-03-09T08:07:28.173-05:00| vthread-4| I125: found symbol version file /lib/modules/3.10.0-693.el7.x86_64/build/Module.symvers
2018-03-09T08:07:28.173-05:00| vthread-4| I125: Reading symbol versions from /lib/modules/3.10.0-693.el7.x86_64/build/Module.symvers.
2018-03-09T08:07:28.193-05:00| vthread-4| I125: Read 16054 symbol versions
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Reading in info for the vmmon module.
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Reading in info for the vmnet module.
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Reading in info for the vmblock module.
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Reading in info for the vmci module.
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Reading in info for the vsock module.
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Setting vsock to depend on vmci.
2018-03-09T08:07:28.194-05:00| vthread-4| I125: Invoking modinfo on "vmmon".
2018-03-09T08:07:28.197-05:00| vthread-4| I125: "/sbin/modinfo" exited with status 256.
2018-03-09T08:07:28.197-05:00| vthread-4| I125: Invoking modinfo on "vmnet".
2018-03-09T08:07:28.199-05:00| vthread-4| I125: "/sbin/modinfo" exited with status 256.
2018-03-09T08:07:28.199-05:00| vthread-4| I125: Invoking modinfo on "vmblock".
2018-03-09T08:07:28.202-05:00| vthread-4| I125: "/sbin/modinfo" exited with status 256.
2018-03-09T08:07:28.202-05:00| vthread-4| I125: Invoking modinfo on "vmci".
2018-03-09T08:07:28.204-05:00| vthread-4| I125: "/sbin/modinfo" exited with status 256.
2018-03-09T08:07:28.204-05:00| vthread-4| I125: Invoking modinfo on "vsock".
2018-03-09T08:07:28.208-05:00| vthread-4| I125: "/sbin/modinfo" exited with status 0.
2018-03-09T08:07:28.219-05:00| vthread-4| I125: to be installed: vmmon status: 0
 

用/systemctl status vmware查看运行状态,会出现以下错误:

Module vmmon loaded
Module vmnet not loaded

要用systemctl status vmware.service,会出现以下错误信息:

systemctl status vmware.service
● vmware.service - SYSV: This service starts and stops VMware services
   Loaded: loaded (/etc/rc.d/init.d/vmware; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sun 2018-03-11 10:35:20 EDT; 42s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 5996 ExecStart=/etc/rc.d/init.d/vmware start (code=exited, status=1/FAILURE)
   CGroup: /system.slice/vmware.service
           ├─1715 /usr/lib/vmware/bin/vmware-vmblock-fuse -o subtype=vmware-vmblock,default_permissions,allow_other /var/run/vmblock-fuse
           └─1744 /usr/sbin/vmware-authdlauncher

Mar 11 10:35:20 localhost vmware[5996]: Virtual machine monitor[  OK  ]
Mar 11 10:35:20 localhost vmware[5996]: Virtual machine communication interface[  OK  ]
Mar 11 10:35:20 localhost vmware[5996]: VM communication interface socket family[  OK  ]
Mar 11 10:35:20 localhost vmware[5996]: Blocking file system[  OK  ]
Mar 11 10:35:20 localhost vmware[5996]: Virtual ethernet[FAILED]
Mar 11 10:35:20 localhost vmware[5996]: VMware Authentication Daemon[  OK  ]
Mar 11 10:35:20 localhost systemd[1]: vmware.service: control process exited, code=exited status=1
Mar 11 10:35:20 localhost systemd[1]: Failed to start SYSV: This service starts and stops VMware services.
Mar 11 10:35:20 localhost systemd[1]: Unit vmware.service entered failed state.
Mar 11 10:35:20 localhost systemd[1]: vmware.service failed.

有人说,是CentOS 7.4的问题,需要打一个补丁。在这个网页(https://wiki.centos.org/Manuals/ReleaseNotes/CentOS7)上,你搜索vmware,可以看到这样一行:

In VMware, building the vmnet.ko kernel module fails. There is a patch to fix this. See their post for details.

点开那个POST,就打开了一个解决方案:

网址:https://communities.vmware.com/message/2686431?tstart=0#2686431

补丁:https://communities.vmware.com/servlet/JiveServlet/download/2686431-179601/VMware-Workstation-12.5.7-vmnet-RHEL74.patch.zip

其解决方案就是将/usr/lib/modules/source/vmnet.tar拷贝到一个地方,解压缩后,打个补丁,再修改一下。我是菜鸟,写给菜菜鸟们,我是这样做的:

systemctl stop vmware,先把它停掉

mkdir /home/vmnet-fix  创建一个单独的目录  

cd  /home/vmnet-fix 进入那个单独的目录

cp /usr/lib/vmware/modules/source/vmnet.tar ./vmnet-12.5.7.tar  把要补丁的包拷贝过来

wget https://communities.vmware.com/servlet/JiveServlet/download/2686431-179601/VMware-Workstation-12.5.7-vmnet-RHEL74.patch.zip 把补丁下载到当前目录中

tar xf vmnet-12.5.7.tar 解压缩到当前目录,会现一个vmnet-only的目录

unzip VMware-Workstation-12.5.7-vmnet-RHEL74.patch.zip 将补丁解压到当前目录,会出现一个名叫VMware-Workstation-12.5.7-vmnet-RHEL74.patch的目录
patch -p0 < ./VMware-Workstation-12.5.7-vmnet-RHEL74.patch 打补丁
tar cf vmnet.tar vmnet-only/
cp vmnet.tar /usr/lib/vmware/modules/source/vmnet.tar 替换原来那个包

vmware-modconfig --console --install-all,重新安装一下配置文件

systemctl start vmware

我安装的是12.5.0,并不是那位大神说的12.5.7,不过,也是一样的。就这样,好了。

猜你喜欢

转载自my.oschina.net/u/589241/blog/1633119
今日推荐