1,宿主机:windows 8 ,4G内存
2,虚拟机:VMware 9.0.1
3,虚拟主机:VMware下Fedora 18 ,1G内存。
VMware Tools是VMware虚拟机中自带的一种增强工具,相当于 VirtualBox
中的增强功能(Sun VirtualBox Guest Additions),是 VMware
提供的增强虚拟显卡和硬盘性能、以及同步 虚拟机
与主机时钟的驱动程序。
只有在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按ctrl+alt),且虚拟机屏幕也可实现全屏化。
VMware Tools专栏提供VMware Tools下载及安装方法(含VMware Tools在linux系统,如Fedora系统下的安装方法),以及VMware Tools安装出错的解决方法,源自http://baike.baidu.com/view/3692037.htm。
1、安装VMware Tools需要root权限,可使用命令 su 进行切换
[andy@locallhost~]$su
密码:
[root@locallhost andy]#
2、点击VMware->VM->Install VMware Tools...,VMare 会自动挂载VMware Tools工具盘到/media(或/mnt)目录下,如下图
进入/media/VMware Tools目录,在VMwareTools-8.8.0-471268.tar.gz点右键->解压到/home/andy目录下,
[root@locallhost andy]# tar xzvf VMwareTools-9.2.2-893683.tar.gz -C/home/andy
[root@locallhost andy]# ls
如下图:
解压后/home/andy目录下会生成 vmware-tools-distrib 文件夹,进入vmware-tool-distrib文件夹下运行vmware-install.pl 可执行文件
[root@locallhost andy]# cd vmware-tools-distrib
[root@locallhost andy]# ./vmware-install.pl
然后一直Enter
3、问题1:
在此过程中,程序会自动查询GCC和kernel heards 的安装路径,所以先前没安装GCC和kernel heards 自然查询不到路径而提示更改路径。
GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。它是一套GNU编译器套装 GNU编译器套装[1]
以 GPL 许可证所发行的自由软件,也是 GNU计划的关键部分。GCC原本作为GNU操作系统的官方编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC同样适用于微软的Windows。GCC是自由软件过程发展中的著名例子,由自由软件基金会以GPL协议发布,GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada与其他语言。
gcc是符合ISO标准的C编译器,它在需要的时候调用其它组件(预处理器、汇编器、连接器)。
gcc ≠ GCC
很多人把GCC看成只是一个C编译器,其实GCC是GNU Compiler Collection的简称,目前GCC可以支持C,C++,ADA,JAVA,Fortran,PASCAL等多种高级语言,GCC主要包括以下一些工具: cpp(预处理器), gcc(C编译器),g++(C++编译器)等编译器.
解决办法是:打开一个终端,查看gcc和kernel-devel是否安装,使用命令 rpm -qa|grep 软件包名 查询,如下图:
如果已安装相应的软件包,终端上会显示相应的软件包名,由此可知,我的linux系统上没有安装gcc和kernel-devel,下面先进行gcc和kernel-devel安装,使用 yum install 命令安装
4、安装c和c++ 编译器gcc gcc-c++
[root@locallhost andy]# yum install gcc gcc-c++ automake make
输入y 开始下载安装,下载安装过程需要几分钟,耐心等一下。。。
安装完毕!再查看一下是否安装成功
[root@locallhost andy]# rpm -qa|grep gcc
结果如下图
OK!安装成功
同理,再安装上kernel-devel ,
#yum install kernel-devel
5、问题2:
Searching for a valid kernel header path…
The path “” is not valid.
Would you like to change it? [yes] yesWhat is the location of the directory of C header files that match your running
kernel? 输入/usr/src/kernels/3.8.3-203.fc18.i686/include
The path “/usr/src/kernels/2.6.35.10-72.fc14.i686/include” is not valid.
Would you like to change it?
输入n ,Enter
解决!
我看到网上这么解决:
打开vmware-config-tools.pl文件,寻找类似下面的代码:
sub getValidKernelHeadersPath {
my $kh_path = shift;
my $modconfig = shift;
my $appLoaderArgs = shift;
my $answer;
my $query;
my $default;while (1)
{
if (system(“$modconfig –validate-kernel-headers \”$kh_path\” ” .
“$appLoaderArgs >/dev/null 2>&1″) == 0) {
$query = “The path \”$kh_path\” appears to be a valid path to the ” .
“kernel headers of the running kernel.”;
$default = ‘no’;
} else {
$query = “The path \”$kh_path\” is not valid.”;
$default = ‘yes’;
$kh_path = ”;
}$answer = get_answer($query . “\n Would you like to change it?”,
‘yesno’, $default);
if ($answer eq ‘yes’) {
# Get new path.
$kh_path = query(‘What is the location of the ‘ .
‘directory of C header files that match your ‘ .
‘running kernel?’, $kh_path, 0);
} else {
last;
}
}
return $kh_path;
}
代码前一段是检查是否合法,如果不合法,会清空路径(这个是关键),然后询问是否需要再一次修改路径。
已经说过,我已经确定路径就是/usr/src/kernels/2.6.35.10-72.fc14.i686/include只不过那个该死的检查中是说该路径非法。
所以,我将$kh_path = ”;这一句话注释掉。
实际上,不需要那么做也可以安装成功。
全部安装完毕后,再重启一下fedora ,就可以实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(不用再按ctrl+alt)了。