刚在VMware上装了个FreeBSD,现在为了发挥更多的功能,打算把VMware-Tools装上,以下是我安装的过程,分享给大家。
环境:VMware workstation 7.0 + FreeBSD 8.0
安装支持FreeBSD的VMware-Tools,需要freebsd.iso这个文件,通常应该在vm的安装目录中可以找到,我用的是精简安装 版的vm,只在它的main目录中找到了windows.iso,没办法下一个吧(搜索“VMware tools for FreeBSD”应该可以下载到)。然后在虚拟光驱中加载下载到的freebsd.iso这个文件(需要把vm的光驱设置成你安装的虚拟光驱),那么下一 步就是启动vm登录FreeBSD并执行命令行。
view plainprint?1 # mount /cdrom //加载光盘
# cp -r /cdrom/vmware-tools-distrib /tmp/vmware-tools-distrib //复制目录(有的可能是 vmware-freebsd-tools.tar.gz 这个压缩文件,需要解压到/tmp目录下)
# cd vmware-tools-distrib //进入目录
# ./vmware-install.pl //运行安装脚本
到这里出现了一个小插曲(而且后来的经历证明那是相当曲折),当我运行此文件时,系统出现“./vmware- install.pl:Command not found.”的提示,这是为什么呢?原来要运行.pl文件,系统必须支持perl,但默认系统并没有安装,所以还得先让系统支持perl。
方法:
当运行 ./vmware-install.pl 命令且系统出现“./vmware-install.pl:Command not found.”提示时,运行一下命令:
# cd /usr/ports/lang/perl5.8 && make WITH_GDBM=yes install clean
这时候你可以去喝杯水,等你回来就可以继续运行 .pl 文件了,但是等你一路ok下去,依然会出现上图显示的问题。别叹气,从perl的安装脚本可以发现,其中会运行“vmware-checkvm”来检查是 否是在虚拟机上运行,如果直接在命令行运行此命令,则出现以下提示:
问题也就出在这,要运行 vmware-checkvm 这个静态的二进制链接,FreeBSD需安装 compat6x port ,那好,再运行以下命令:
# cd /usr/ports/misc/compat6x && make install clean
又是一段等待,但是等你打个哈欠之后,这个过程可能就结束了,那么这时就可以重新运行 vmware-install.pl 文件了吗?答案是no,“晕倒”——也许你想这样说。其实 Vmware 期望 libc.so.6 库被 compat6x 安装到 /lib 目录,但是所有 compat{3,4,5,6}x ports 都把它们的库安装到了 /usr/local/lib/compat 目录以避免打乱了系统文件,那么我们可以在这里为 Vmware 创建一个指向 libc.so.6 的软链接,所以执行以下命令:
# ln -s /usr/local/lib/compat/libc.so.6 /lib
这样就可以了吧?但是当你看到下图,你就知道答案依然是no,“这么麻烦啊”——我也想这样说。
这说明,即使我们登录的是虚拟机的控制台,tcsh (root shell in FreeBSD) 也会设置 REMOTEHOST 这个变量,所以执行以下命令:
# unsetenv REMOTEHOST
到此就可以再次执行 ./vmware-install.pl 文件了,一路ok到最后就应该可以看到成功的画面了,试试吧。