参考KB:https://kb.vmware.com/s/article/2008939?lang=zh_CN
Symptoms
免责声明:本文为 “esxcli software vib” commands to patch an ESXi 5.x/6.x host (2008939) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。
Purpose
本文概述了使用 esxcli software vib 命令从命令行在 ESXi 5.x/6.x 主机上安装修补程序的过程。
- 有关在 ESX 主机上安装 VIB 的详细信息,请参见 vSphere 5 Upgrade Guide 中的《使用各个 VIB 更新主机》。
- 还可以使用 esxcli software profile 命令安装修补程序。有关更多信息,请参见 vSphere 5 Command-Line Interface Documentation 中的《vSphere 命令行界面参考》。
- 要使用 Update Manager 修补 ESXi 5.x 主机,请参见 Installing and Administering VMware vSphere Update Manager Guide 中的“将修补程序应用到主机”。
Resolution
要使用命令行修补 ESXi 5.x/6.x 主机,请执行以下操作:
- VMware 产品的修补程序可从 VMware patch portal 获取。从产品下拉菜单中选择 ESXi(嵌入式和可安装),然后单击搜索。
- 单击修补程序版本名称下的下载链接,将修补程序下载到系统中。
- 从 vCenter 使用数据存储浏览器或使用 vSphere Web Client 通过与 ESXi 5.x/6.x 主机的直接连接,将修补程序上载至 ESXi 5.x/6.x 主机中的数据存储。
注意:VMware 建议在数据存储中创建一个新目录并将修补程序文件上载至此目录。 - 登录 ESXi 5.x/6.x 主机的本地技术支持模式控制台。有关详细信息,请参见 Using Tech Support Mode in ESXi 4.1 and ESXi 5.x (1017910)。
- 迁移主机上正在运行的虚拟机或关闭它们的电源,将主机置于维护模式。可以使用以下命令从命令行将主机置于维护模式:
# vim-cmd hostsvc/maintenance_mode_enter - 导航到数据存储中上载的修补程序文件所在的目录,使用如下命令验证该文件是否存在:
# cd /vmfs/volumes/Datastore/DirectoryName
# ls
其中,Datastore 是上载的修补程序文件所在的数据存储名称,DirectoryName 是您在数据存储中创建的目录。 - 使用以下 esxcli 命令在主机上安装或更新修补程序
注意:
- 要安装或更新 .zip 文件,请使用 -d 选项。要安装或更新 .vib 文件,请使用 -v 选项。
-
建议使用更新命令应用修补程序。使用此命令会应用修补程序中所有更新的内容,包括所有安全修补。版本低于系统中现有软件包版本的修补程序的内容将不会应用。
-
使用 install 命令会使用您正在安装的修补程序的内容覆盖系统中现有的软件包,包括安装新软件包和移除旧软件包。安装命令可能会降级系统中的软件包,应谨慎使用。如果需要,当设置了 --allow-downgrade 标记时,可使用安装命令降级系统(仅适用于图像配置文件)。
注意:安装方法可能会覆盖现有的驱动程序。如果使用第三方 ESXi 图像,VMware 建议使用更新方法避免出现无法引导状态。
安装:
- 使用本地安装程序:
# esxcli software vib install -d "/vmfs/volumes/Datastore/DirectoryName/PatchName.zip"
其中,PatchName.zip 是上载至数据存储的修补程序文件的名称。
注意:或者,可以使用数据存储的 UUID 代替 DirectoryName。
例如:
# esxcli software vib install -d "/vmfs/volumes/datastore1/patch-directory/ESXi500-201111001.zip"
或者
# esxcli software vib install -d "/vmfs/volumes/a2bb3e7c-ca10571c-cec6-e5a60cc0e7d0/patch-directory/ESXi500-201111001.zip" - 使用 http 安装程序:
# esxcli software vib install -v viburl
其中,viburl 是指向 VIB 软件包所在的 http 库的 URL。
例如:
# esxcli software vib install -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_5.0.0-0.7.515841.vib
- 使用本地安装程序:
# esxcli software vib update -d "/vmfs/volumes/Datastore/DirectoryName/PatchName.zip"
其中,PatchName.zip 是上载至数据存储的修补程序文件的名称。
注意:或者,可以使用数据存储的 UUID 代替 DirectoryName。
例如:
# esxcli software vib update -d "/vmfs/volumes/datastore1/patch-directory/ESXi500-201111001.zip"
或者
# esxcli software vib update -d "/vmfs/volumes/a2bb3e7c-ca10571c-cec6-e5a60cc0e7d0/patch-directory/ESXi500-201111001.zip" - 使用 http 安装程序:
# esxcli software vib update -v viburl
其中,viburl 是指向 VIB 软件包所在的 http 库的 URL。
例如:
# esxcli software vib update -v https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/esx/vmw/vib20/tools-light/VMware_locker_tools-light_5.0.0-0.7.515841.vib
- 验证 VIB 是否已安装在 ESXi 主机上:
# esxcli software vib list
例如:
# esxcli software vib list
Name Version Vendor Acceptance Level Install Date
----------------- --------------------------- ------ ---------------- ------------
ata-pata-amd 0.3.10-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
ata-pata-atiixp 0.4.6-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
ata-pata-cmd64x 0.2.5-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04
ata-pata-hpt3x2n 0.3.4-3vmw.500.0.0.469512 VMware VMwareCertified 2012-05-04 - 安装修补程序后,重新引导 ESX 主机:
# reboot - 主机引导完成后,退出维护模式,打开虚拟机的电源:
# vim-cmd hostsvc/maintenance_mode_exit