How To Patch vSphere 5 ESXi Without Update Manager

I wanted to document this real quick as I keep having to do this in my home lab on a semi-regular basis.  Since I only have a single physical server, and I use the vCenter appliance, I have no vSphere Update Manager installed for this one physical box.  I do use it for all my nested vSphere ESXi machines in the rest of the lab, but I do need to update the physical one on occasion.  Many of you may have run into this in the past that it is a bit of a pain since the new tools including the Remote Command Line do not support a direct “Upload” of a patch file to ESXi.  With that here is the most basic and simple way I found to handle the process.  Since vSphere ESXi 5.0 uses the new VIB model the commands and process have changed slightly but the basic concepts are the same.

  1. Download the patch file you want directly from the VMware Patch Portal
  2. Ensure that you enable SSH for remote support on the ESXi Host
  3. Make sure your host is in Maintenance Mode, this is a requirement since you will need to reboot
  4. Transfer the update file over to the host using FileZilla or SCP to a MOUNTED DATASTORE of some kind.  NOTE:  There is not enough space to transfer this to a location on the local ESXi Image.  It took me a bit to realize this was failing to copy.
  5. Once you have uploaded the file to a datastore, this is considered a “Local Depot Repository” as opposed to one on FTP or HTTP.

Now that the file has been transferred to a datastore you can patch a single host or multiple hosts that are mounted to that datastore either with the local tools via SSH remote support mode, or the Remote Command Line Tools using the esxcli commands.  I am sure there is also a PowerCLI option as well I just have not tried it, but  Justin Guidroz has posted a way to do so on his blog so check it out if you are a PowerCLI user.

NOTE: If you try and use the old esxupdate command, which by the way is still there, you get this message:

~ # esxupdate
Usage: This program is not meant to be used directly.  Please use esxcli image/software instead.

esxupdate: error: Command must be specified
Usage: This program is not meant to be used directly.  Please use esxcli image/software instead.

The esxcli commands are also available in the remote command line but when you run them you will see you cannot “upload” directly which is why you may just want to run them locally.   It is also worth pointing out that esxcli “Image” is not a valid command.  The correct syntax will be something like this.  If you are using the Remote Command Line you will also need to specify the server and login credentials.  The syntax below without those is for the local SSH versions.

esxcli software vib install -d /vmfs/volumes/[DATASTORE]/[PATCH_FILE].zip

Once the patch is run you should see a result like this:

Installation Result
   Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
   Reboot Required: true
   VIBs Installed: VMware_bootbank_esx-base_5.0.0-0.4.504890
   VIBs Removed: VMware_bootbank_esx-base_5.0.0-0.3.474610
   VIBs Skipped: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-atiixp_0.4.6-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-via_0.3.3-2vmw.500.0.0.469512, VMware_bootbank_block-cciss_3.6.14-10vmw.500.0.0.469512, VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.500.0.0.469512, VMware_bootbank_esx-tboot_5.0.0-0.0.469512, VMware_bootbank_ima-qla4xxx_2.01.07-1vmw.500.0.0.469512, VMware_bootbank_ipmi-ipmi-devintf_39.1-4vmw.500.0.0.469512, VMware_bootbank_ipmi-ipmi-msghandler_39.1-4vmw.500.0.0.469512, VMware_bootbank_ipmi-ipmi-si-drv_39.1-4vmw.500.0.0.469512, VMware_bootbank_misc-cnic-register_1.1-1vmw.500.0.0.469512, VMware_bootbank_misc-drivers_5.0.0-0.0.469512, VMware_bootbank_net-be2net_4.0.88.0-1vmw.500.0.0.469512, VMware_bootbank_net-bnx2_2.0.15g.v50.11-5vmw.500.0.0.469512, VMware_bootbank_net-bnx2x_1.61.15.v50.1-1vmw.500.0.0.469512, VMware_bootbank_net-cnic_1.10.2j.v50.7-2vmw.500.0.0.469512, VMware_bootbank_net-e1000_8.0.3.1-2vmw.500.0.0.469512, VMware_bootbank_net-e1000e_1.1.2-3vmw.500.0.0.469512, VMware_bootbank_net-enic_1.4.2.15a-1vmw.500.0.0.469512, VMware_bootbank_net-forcedeth_0.61-2vmw.500.0.0.469512, VMware_bootbank_net-igb_2.1.11.1-3vmw.500.0.0.469512, VMware_bootbank_net-ixgbe_2.0.84.8.2-10vmw.500.0.0.469512, VMware_bootbank_net-nx-nic_4.0.557-3vmw.500.0.0.469512, VMware_bootbank_net-r8168_8.013.00-3vmw.500.0.0.469512, VMware_bootbank_net-r8169_6.011.00-2vmw.500.0.0.469512, VMware_bootbank_net-s2io_2.1.4.13427-3vmw.500.0.0.469512, VMware_bootbank_net-sky2_1.20-2vmw.500.0.0.469512, VMware_bootbank_net-tg3_3.110h.v50.4-4vmw.500.0.0.469512, VMware_bootbank_ohci-usb-ohci_1.0-3vmw.500.0.0.469512, VMware_bootbank_sata-ahci_3.0-6vmw.500.0.0.469512, VMware_bootbank_sata-ata-piix_2.12-4vmw.500.0.0.469512, VMware_bootbank_sata-sata-nv_3.5-3vmw.500.0.0.469512, VMware_bootbank_sata-sata-promise_2.12-3vmw.500.0.0.469512, VMware_bootbank_sata-sata-sil_2.3-3vmw.500.0.0.469512, VMware_bootbank_sata-sata-svw_2.3-3vmw.500.0.0.469512, VMware_bootbank_scsi-aacraid_1.1.5.1-9vmw.500.0.0.469512, VMware_bootbank_scsi-adp94xx_1.0.8.12-6vmw.500.0.0.469512, VMware_bootbank_scsi-aic79xx_3.1-5vmw.500.0.0.469512, VMware_bootbank_scsi-bnx2i_1.9.1d.v50.1-3vmw.500.0.0.469512, VMware_bootbank_scsi-fnic_1.5.0.3-1vmw.500.0.0.469512, VMware_bootbank_scsi-hpsa_5.0.0-17vmw.500.0.0.469512, VMware_bootbank_scsi-ips_7.12.05-4vmw.500.0.0.469512, VMware_bootbank_scsi-lpfc820_8.2.2.1-18vmw.500.0.0.469512, VMware_bootbank_scsi-megaraid-mbox_2.20.5.1-6vmw.500.0.0.469512, VMware_bootbank_scsi-megaraid-sas_4.32-1vmw.500.0.0.469512, VMware_bootbank_scsi-megaraid2_2.00.4-9vmw.500.0.0.469512, VMware_bootbank_scsi-mpt2sas_06.00.00.00-5vmw.500.0.0.469512, VMware_bootbank_scsi-mptsas_4.23.01.00-5vmw.500.0.0.469512, VMware_bootbank_scsi-mptspi_4.23.01.00-5vmw.500.0.0.469512, VMware_bootbank_scsi-qla2xxx_901.k1.1-14vmw.500.0.0.469512, VMware_bootbank_scsi-qla4xxx_5.01.03.2-3vmw.500.0.0.469512, VMware_bootbank_uhci-usb-uhci_1.0-3vmw.500.0.0.469512, VMware_locker_tools-light_5.0.0-0.3.474610

Now you can reboot your system and it should have the latest version of the ESXi firmware and tools installed.  Not too hard, but getting the syntax and the file location is a bit tricky.  You can also now delete the patch file from the datastore.  I hope this helps a few people with small home labs out or folks that need to apply specific VIB patches to their hosts without Update Manager.

Thanks to William Lam and Justin Guidroz for pointing out the fact the remote tools can also be used but ONLY AFTER you still copy the file to a Datastore ‘Depot’

About Chris Colotti

Chris is active on the VMUG and event speaking circuit and is available for many events if you want to reach out and ask. Previously to this he spent close to a decade working for VMware as a Principal Architect. Previous to his nine plus years at VMware, Chris was a System Administrator that evolved his career into a data center architect. Chris spends a lot of time mentoring co-workers and friends on the benefits of personal growth and professional development. Chris is also amongst the first VMware Certified Design Experts (VCDX#37), and author of multiple white papers. In his spare time he helps his wife Julie run her promotional products as the accountant, book keeper, and IT Support. Chris also believes in both a healthy body and healthy mind, and has become heavily involved with fitness as a Diamond Team Beachbody Coach using P90X and other Beachbody Programs. Although Technology is his day job, Chris is passionate about fitness after losing 60 pounds himself in the last few years.

43 comments

  1. VERY helpful! I’ve been struggling with this for a while. Had the PowerCLI cmdlet for host patching working in 4.1, but 5.0 has been nothing but problems!

  2. Super helpful.  Thanks a lot for posting.

  3. Thanks you i have been looking for this all day, there docs are not too clear 

    • It is really a matter that now you need to have a “Repository” which can actually be locally on ESXi, then you can run the commands from the console or via the remote tools, but the files need to exist

  4. Thanks for the article. i have an idiot question, do the latest patche include previous patches or shall I patch the server incrementally?
    Thanks!
    Eric.

  5. when i run the command esxcli software vib install -d /vmfs/volumes/[DATASTORE]/[PATCH_FILE].zip  I get an error message that basically says no such file or directory.  I know the file is there. How can i verify the path of the data store?

  6. nevermind. stupid question.

  7. how do I run this command when the depot is on a web server?

  8. Of course, if your Datastore name has spaces, then the file path for the patch should have quotes before and after it.

  9. Hello Chris,
    I have a problem with an unstable NIC connection so i manage to update my esxi5 469512 installation with the latest driver update, that should work. Problem is: i don’t have any reliable remote access. (i loose connection to the esxi
    every one minute and have to restart the management network locally)
    So i can’t use Vpshere, Update manager, Vcli or even vMA.
    I know it’s possible to do updates with esxi local shell.
    I can access the shell now but then how can i upload the .zip file to the local datastore (esxi’s installed on USB key). How can i mount the esxi usb key on another OS (linux?) to transfer the zip in
    vmfs/volumes/[DATASTORE] without network access?
    Do you have any idea?
    Anyway thanks for your help.

    Alexis

    • I’m not sure about the NIC issue, but in regards to the upload, is there  another host with access to a shared Datastore you can upload through?  The DATASTORE should not be located ON the USB key install usually.  In my case my USB is only 1GB and has no room for a Datastore

      It should be a real vSphere Datastore.  So if you have an NFS or other shared datastore you can upload the update through another host that has access to the same datastore.  Or if it is an NFS datastore you can upload from another machine entirely.  Best thing is to try and create a remote datastore that is NFS you can upload the image to from a linux machine.

      I would not try to install the USB key to another machine, I’m not sure what that would do to be honest.

  10. Timothy Feather

    Great post Chris. Clear  and useful.  Thanks – Tim Feather

  11. Thanks for the guide mate, most helpful.

  12. I saw many patches at VMWare site. Do I have to apply all of them or just from 

    update-from-esxi5.0-5.0_update01 to now? I am using ESXi 5.0.0 build 469512

  13. I am using ESXi  5.0.0 built 623860. I want to deploy built 702118. Please confirm that can we revert back in case of any problem during the built installation.

  14. it’s faster to download the image directly from the esxi server.

    cd /var/tmp (there, you can put very large files…)
    wget http (and not http)://image url
    Note that both http and http are valid url, but with wget you can only use http

  15. Thank you, this was much easier than the instructions on the vmware website. Perfect for my home lab 🙂

  16. This article is still helping. It probably saved me a couple of hours of searching and trial and error. Thank you Chris!

  17. Thanks! This is exactly what I was looking for!

Leave a Reply

Your email address will not be published. Required fields are marked *