記得好久好久之前,我就喜歡買來各類各樣的計算機書,想學習一門拿手的本領。可就是看不懂。好比當年的我看到有人寫安裝VMware之類的文章,忍不住想問:你到底爲何要安裝那個玩意呀?但是,不少人在寫下這些內容的時候,根本沒有想到要去寫爲何。爲何?被人逼得唄。linux
我卻想在這裏說一說,我爲何要安裝這個東西。我參加了達內的Linux RHCE紅帽工程師認證考試輔導班。考試的環境是一臺真正的電腦 + 兩臺模擬出來的服務器。若是不模擬出兩臺服務器的話,每人要佔用三臺電腦來考試,那考試費必定會更貴。如今已經很是貴了。centos
因此,爲了省錢,就用程序來模擬另外兩臺服務器(也能夠認爲它就是「電腦」,其實它就是特別一點點兒的電腦)。api
那爲何非要三臺服務器(一真兩假)才能考試呢?由於,咱們要考的內容是一個網絡工程師必須掌握的知識,因此,必須在網絡環境下考試。不然,單機考試,豈不是不便宜咱們了嗎?就像之前考駕照,只考一個打火發動,定點停車就能夠拿到駕照。太簡單了。會害死人。服務器
說半天,我還沒說,我爲何要安裝這玩意。培訓學校裏有設置好的電腦能夠用。但是,你總不能總是去那裏練習吧?培訓學校會很不高興的。還有,要是半夜裏,我想練,他們已經下班鎖門了,怎麼辦?因此,還得本身家有才好。個人筆記本電腦,只有4G的內存。而老師說,這個程序本身都要4G內存。確定是不行了。我又沒錢買新電腦。不過,我家裏幾臺舊服務器,IBM x3650系列,內存都是16G。因而,我就進行了以下的操做:網絡
一、到centos.org下載minimal ISO,7.4版的64位。感謝開源世界的朋友們,感謝阿里雲提供下載鏡相。固然還有其餘公司和大學也提供了鏡相。我想,既然我每一年還購買了幾臺阿里雲服務器,無償使用一下他們的服務也有點問心無愧不是?socket
二、右鍵單擊那個光盤映像文件CentOS-7-x86_64-Minimal-1708.iso,刻錄光盤映像到光驅。電腦是Windows 10,自帶的這個刻錄軟件。 這個軟件將這個ISO解壓縮,分紅好多目錄和文件。因此,不能直接拖到光驅裏,必須使用「光盤映像刻錄」軟件。如今,還有將ISO文件刻錄到U盤的,你能夠試一試。post
三、將刻錄好的光盤塞進IBM服務器上的光驅內,加電源,啓動。啓動過程當中,選擇從光驅啓動。學習
四、安裝centos 7。固然,完成後,免不了要修改網卡網址、掩碼和網關,修改/etc/resolv.conf,設置域名解析服務器,讓這臺服務器上網。不然,上不了網,後面的操做都沒法進行。ui
用到的主要命令以下:this
systemctl con show,看看有哪些網卡,個人這臺有4個
systemctl con modify "eno2" ipv4.......
vi /etc/resolv.conf,添加nameserver 8.8.8.8之類的解析服務器
systemctl restart network,重啓網絡
這個等之後有空再寫。估計你們都會。
五、安裝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
六、最小化安裝沒有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-authdlauncherMar 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,不過,也是同樣的。就這樣,好了。