SDB:安装 VMware server 或 workstation

跳转到:导航搜索
对于内核版本大于或等于 2.6.32,需要修补 VMware 使用的内核模块才能启用它们进行编译。本文档介绍了如何安装包含当前补丁的预构建 rpm,以及简化这些内核模块安装和构建的必要脚本。

在 openSUSE 上测试

推荐文章

Icon-manual.png

相关文章


VMware workstation 或服务器安装

先决条件

需要以下开发应用程序:

  • make, gcc, patch, kernel-source, kernel-syms, linux-glibc-devel 或 linux-kernel-headers。
  • VMware-server 2.0.2、VMware-Workstation 6.5.4 或 6.5.5 以及低于 7.1 的版本

清理之前的补丁

不成功的安装或修补可能会留下残余物,因此最好卸载任何以前安装的 VMware 并清理以下目录。打开终端会话并运行以下命令:

su -
密码
cd /usr/lib/vmware/modules
pwd {检查您是否在正确的目录中!!}
ls
rm -rf source*
exit

安装 VMware Workstation (openSUSE)

在 openSUSE 11.3 上,存在工作站安装卡住的问题,可以通过解包 rpm 来克服这个问题。

打开终端会话,并以您的用户身份 cd 到 rpm 的下载位置(在您的主目录下的一个工作目录是一个好主意),并运行以下命令:

rpm2cpio VMware-Workstation-6.5.4-246459.x86_64.rpm | cpio -idmv
./var/cache/vmware/VMware-Workstation-6.5.4-246459.x86_64.bundle
774099 blocks
mv ./var/cache/vmware/VMware-Workstation-6.5.4-246459.x86_64.bundle .
chmod u+x *.bundle

现在您需要在第二个终端会话中打开并成为 root 用户,然后运行以下命令:

su -
密码
while true; do killall -9 vmware-modconfig-console; sleep 1; done

在之前的终端(您解包 rpm 的地方也成为 root 用户并运行以下命令安装 bundle:

su -
密码
cd <bundle 位置>
./VMware-Workstation-6.5.4-246459.x86_64.bundle --ignore-errors

现在按照要求进行操作,直到安装程序完成,然后在运行 killall 命令的终端中,按 ctrl+c 退出循环命令并退出/关闭终端。

安装 VMware Workstation (SLE 11 SP1)

对于 VMware-workstation,通过 rpm 命令安装,因此打开终端会话并运行以下命令:

su -
密码
rpm -Uhv <path_to_rpm>/<name_of_rpm_to_install>

安装 VMware Server (openSUSE 或 SLE 11 SP1)

对于 VMware-server,通过 rpm 命令安装,因此打开终端会话并运行以下命令:

su -
密码
rpm -Uhv <path_to_rpm>/<name_of_rpm_to_install>

修补 VMware

安装 vmware-fix

首先,您需要获取适用于您系统的 vmware-fix rpm,可以通过使用 openSUSE Build Service 搜索功能 software.opensuse.org: 搜索结果 找到它们

然后,您可以使用您喜欢的方法安装 rpm。在 openSUSE 11.3 上,有一个安装后脚本运行以创建指向 autoconf.h 和 utsrelease.h 的软链接。如果您卸载 rpm,它将删除它们。

安装 vmware-fix rpm 后,打开终端会话并成为 root 用户,然后根据您下面的安装运行以下命令:

为 openSUSE 11.4 安装 vmware-fix-workstation-6.5.5

首先,您需要获取适用于您系统的 vmware-fix-workstation-6.5.5 rpm,可以通过使用 openSUSE Build Service 搜索功能 software.opensuse.org: 搜索结果 找到它们

然后,您可以使用您喜欢的方法安装 rpm。在 openSUSE 11.4 上,有一个安装后脚本运行以创建指向 autoconf.h 和 utsrelease.h 的软链接。如果您卸载 rpm,它将删除它们。

安装 vmware-fix-workstation-6.5.5 rpm 后,打开终端会话并成为 root 用户,然后根据您下面的安装运行以下命令:

对于 vmware-server:

su -
密码
vmware_server_fix

[更新]:对于那些在使用 Host-only 或 NAT 网络时遇到问题的人,rpm 中提供的补丁需要是不同的补丁:http://risesecurity.org/2010/04/02/vmware-server-2-0-2-update-patch-2/。 简而言之,vmnet 接口不显示 mac 地址,并且配置为不是以太网而是 netrom(AMPR NET/ROM 在 `ip addr` 中)。 如果您受到影响,这是对补丁的临时差异(直到我们找到基于 rpm 的解决方案)

--- /usr/sbin/vmware_server_fix.orig    2010-09-28 22:29:08.484777254 +0100
+++ /usr/sbin/vmware_server_fix 2010-11-04 12:11:51.467653463 +0100
@@ -37,12 +37,12 @@
find vsock-only/ -type f -exec chmod 644 {} \;

#Copy patch into fixed directory and apply
-cp /usr/share/vmware-fix/vmware-server-2.0.2-203138.patch /tmp/fixed
+cp /usr/share/vmware-fix/VMware-server-2.0.2-203138-update-2.patch /tmp/fixed
if [ -f vmmon-only/include/compat_cred.h ]; then
  echo "compat_cred.h exists, removing"
  rm -f vmmon-only/include/compat_cred.h
fi
-patch -p0 < vmware-server-2.0.2-203138.patch
+patch -p4 < VMware-server-2.0.2-203138-update-2.patch

[/更新]


对于 vmware-workstation

su -
密码
vmware_workstation_fix

在上述两种情况下,该脚本在应用补丁后运行安装程序例程,因此只需回答问题直到安装完成即可。


内核更新问题

上述修补和脚本只需要运行一次来修补模块,内核升级后重启工作站或服务器将重建已经修补的模块。

对于 openSUSE 11.3 和 11.4

内核更新后,会添加一个新的 <kernel-version>-obj 目录,因此需要更新指向 autoconf.h 和 utsrelease.h 的软链接。 因此,在内核更新后运行任何 vmware 重配置之前,您需要运行以下命令:

su -
密码
vmware_update_softlinks

对于 openSUSE 12.3

使用 3.7.* 内核,.version.h 的位置已从 VMWare 的默认路径更改。 这可能不会影响所有版本的 VMWare,但是,这适用于版本 9.0.1 及更高版本。

SUSE 中的位置从 /usr/src/linux/linux-$(uname -r)/include/linux/version.h 更改为 /usr/src/linux-3.7.x-x.xx-obj/x86_64/desktop/include/generated/uapi/linux/version.h。 但是,VMWare 会在 /lib/modules/3.7.x-x.xx-desktop/build/include/linux/version.h 中查找它。 可以通过创建指向 version.h 的符号链接来实现一个干净的方法(但这不需要,除非您习惯性地更改内核,在这种情况下,最好记住路径)。 修复的脏方法是将 version.h 复制到 VMWare 正在查找的路径。

这是通过:mkdir /lib/modules/3.7.x-x.xx-desktop/build/include/linux/ cp /usr/src/linux-3.7.x-x.xx-obj/x86_64/desktop/include/generated/uapi/linux/version.h /lib/modules/3.7.x-x.xx-desktop/build/include/linux/


通讯

团队成员


参见

外部链接