我正在尝试找到一种通用的方法来检查虚拟机的客户操作系统中的 VMware Tools 是否已过时。
到目前为止,我发现的最佳方法是检查“vmware-toolbox-cmd -v”的输出,并将其与预期版本号进行比较。例如:
if [ "`vmware-toolbox-cmd -v`" = "8.3.18.20074 (build-975338)" ]
then
echo "The vmware tools are OK"
else
echo "The vmware tools are out of date"
...
...
fi
但是版本号会随着时间而变化,所以我需要在每个虚拟机上每次更新脚本。或者我可以使用 wget 或 curl 从某些共享资源中读取“预期版本号”。
你能帮我找到更好的方法吗?
谢谢
答案1
由于 ESXi 和 vSphere 的更新频率,我现在不需要检查 Linux 客户虚拟机上的 VMware 工具版本。
我强烈支持VMware 操作系统特定包 (OSP)。
这样,我就可以独立于主机处理 VMware 客户机工具,并在 Linux 包管理器级别控制更新/安装。我认为这是一种更好的方法,因为在 vSphere 基础架构较旧(例如 4.1 版)的情况下,我也可以为客户机虚拟机获取较新的工具。
例如,在 Red Hat 和 CentOS 中,我只需在例程中添加以下内容即可安装客户工具:
# rpm -ivh http://packages.vmware.com/tools/esx/5.1/repos/vmware-tools-repo-RHEL6-9.0.0-2.x86_64.rpm
# yum -y install vmware-tools-esx-kmods vmware-tools-esx
与从 vCenter 或 vSphere 客户端级别手动更新工具相比,其结果更加清晰且更易于管理。