分类: LINUX
2010-06-04 21:16:43
使用过VMware的都知道有个VMware Tools可以增强虚拟机的性能,不少朋友都使用VMware来安装linux,但是在客户机是linux的情况下安装VMware Tools并不算一件很容易的事情,特别是……出现下面这些问题的时候。还是以我使用的Fedora9为例。
首先,我使用的是VMware6.0绿色精简版,就是那个只有20多M的版本,这个版本可能没有VMware Tools的那个iso文件,又或者只有一个windows版本的iso,因此,我们第一步就是要保证有VMware Tools for linux,如果你使用的VMware没有,你可以从这里下载:
说明:让VMware 支持linux系统,包括ubuntu、freebsd等等【104m的】,如果是9m【默认就是9m的】就单独支持linux
里面有多个下载地址,我下载的是
9M的,不过解压后也有116M了,就是一个linux.iso文件
下面安装VMware Tools。
虚拟机VMware菜单里选安装VMware Tools,没有反应?没这么简单。首先用VMware连接linux.iso,然后挂载(为方便一些初次接触的朋友,我直接给出命令了):在终端里mount /dev/cdrom /mnt,然后进入iso的vmware-tools-distrib目录:cd /mnt/vmware-tools-distrib,在这里你应该看到一个文件vmware-install.pl,用ls命令即可看到,然后在终端里输入./vmware-install.pl,如果一切条件都具备了,那么一路回车就可以安装结束了,忽略下面的步骤。如果你使用的linux.iso是我下载的那个,而你的Fedora9的内核版本又是2.6.25-14.fc9.i686(用uname –r命令可以看到),那么你将会被提示:
None of the pre-built vmmemctl modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes]
我们先在需要一个c编译器,如果你已经安装了,直接回车就行,否则,去哪里找?在安装光盘就有gcc(如果你确实不了解,那么知道它是一个把源代码变成程序的工具就可以了),你可以按照 中的方法来安装gcc,当然,你也可以从网络安装。
安装gcc完成后重新执行./vmware-install.pl,这下你以为该成功了吧,结果又碰到了这个问题:
What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]
这个时候你回车可不管用了,因为你也许会发现你的系统里面/usr/src文件夹根本就是空的。
此时我们需要安装与系统内核配套的开发包,你可以用如下命令来确保相关的开发包真的没有安装:
rpm -q kernel-devel
如果没有安装,将会提示:package kernel-devel is not installed
假如你用uname –r命令看到的是2.6.25-14.fc9.i686,而你的网络状况良好,那么你可以这样安装:
yum install kernel-devel-2.6.25-14.fc9.i686.rpm
如果你发现从安装源下载安装不了,或者速度太慢,你可以这样下载:假设我们用root用户登录,当前工作目录是/root/Download,那么
[root@localhost Download] wget ftp://rpmfind.net/linux/fedora/releases/9/Everything/i386/os/Packages/kernel-devel-2.6.25-14.fc9.i686.rpm
将把这个rpm包下载到/root/Download,如果你觉得wget下载仍然太慢,那么你可以使用相关工具来下载,反正地址都有了。什么?你只会用windows下的迅雷?没关系,你真的可以用迅雷下载,然后在windows搭建一个ftp服务,在linux访问windows的ftp再重新下载一次,你也可以把它发到自己的邮箱,然后在linux打开邮箱下载……只要你喜欢,怎样都行,总之最后把这个文件放到/root/Download就行,然后安装:
rpm -i kernel-devel-2.6.25-14.fc9.i686.rpm
安装完成可以用rpm -q kernel-devel再查询一下是否已经安装成功。
好了,一切重新开始,重新执行./vmware-install.pl,再到这里的话,应该是这样的:
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.25-14.fc9.i686/build/include]
这下该没问题了吧,结果最后发现:
Unable to create the directory /mnt/hgfs.
Execution aborted.
噢泄特,要用到/mnt/目录,把iso放光驱里mount忘了umount呢,它现在是只读的,好,把linux.iso 里面的内容复制到/root/Download,然后umount,还是不行,快疯了吧:
In file included from include/linux/string.h:11,
From /tmp/vmware-config3/vmhgfs-only/cpName.h:18,
from /tmp/vmware-config3/vmhgfs-only/cpName.c:18: include/linux/types.h:40: 错误:与‘uintptr_t’类型冲突
/tmp/vmware-config3/vmhgfs-only/vm_basic_types.h:170: 错误:‘uintptr_t’的上一个声明在此
make[2]: *** [/tmp/vmware-config3/vmhgfs-only/cpName.o] 错误 1 make[1]: *** [_module_/tmp/vmware-config3/vmhgfs-only] 错误 2 make[1]: Leaving directory `/usr/src/kernels/2.6.25-14.fc9.i686'
make: *** [vmhgfs.ko] 错误 2
make: Leaving directory `/tmp/vmware-config3/vmhgfs-only' Unable to build the vmhgfs module.
解决办法是下载一个新的open-vm-tools就可以了,给一个链接:
假设下载的这个文件放到了/root/Download
先看看是不是有我们的文件?
[root@localhost Download]# ls
kernel-devel-2.6.25-14.fc9.i686.rpm open-vm-tools-2008.06.03-96374.tar.gz
vmware-tools-distrib
然后解压继续进行:
[root@localhost Download]# tar xzvf open-vm-tools-2008.06.03-96374.tar.gz
[root@localhost Download]# cd open-vm-tools-2008.06.03-96374
[root@localhost open-vm-tools-2008.06.03-96374]#./configure && make
[root@localhost open-vm-tools-2008.06.03-96374]# cd modules/linux
[root@localhost linux]# for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done
[root@localhost linux]# cd ../../..
[root@localhost Download]# mv -f open-vm-tools-2008.06.03-96374/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/
[root@localhost Download]# cd vmware-tools-distrib/
[root@localhost vmware-tools-distrib]# ./vmware-install.pl
一直回车吧,最后你会看到让你选择屏幕分辨率,最后的最后:
To make use of the virtual printer, you will need to restart the CUPS service
Enjoy,
--the VMware team