Easy ESXi 5.5 upgrade via command line

ESXi 5.5 was just released general availability (GA) on Sunday (9/22) and I’m itching to upgrade the home lab to run the latest version with all it’s goodies. I wanted to try upgrading my hosts without having to go through the same process that I followed setting up ESXi on the NUC in the first place, injecting custom NIC drivers, etc.

Enter the command line…

  1. Move all VM’s from the host and then put the host into Maintenance Mode.
  2. Go to the Configuration tab > Security Profile and Enable SSH under Services.
    ssh enabled
  3. Under Firewall, enable httpClient (outbound http).
    httpClient enable
  4. Open PuTTY (or other SSH client) and SSH into your host.
  5. Type the following command to download and install the update:
    esxcli software profile update -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml -p ESXi-5.5.0-1331820-standard
  6. Depending on your internet connection, this could take just a few minutes or longer. Once finished you should see the following:
    esxi update complete
  7. Reboot your host then verify ESXi 5.5 is installed:
    esxi 5.5
  8. note: I did have to restart the virtualcenter service in order for the Web Client to show the updated version number.
    web client esxi 5.5

That’s it, it’s as simple as that! Because I ran the UPDATE command and not the INSTALL command, my existing injected NIC drivers for the Intel NUC remained in place. So a quick and easy upgrade for hosts with no CD-ROM or ability to virtually mount a CD image.

UPDATE:

View available upgrades

The steps above work perfectly for when you want to upgrade to ESXi 5.5, but what about when newer versions come out or you want to apply a different update? Simply run this command to view all available image profiles in the depot:

esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

get image profiles

Then replace the file name in the command from Step 5 with the new/other image profile of your choice.

Similar Posts

Leave a Reply

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

17 Comments

  1. Thank You. This took care of my issue of not being able to inject NIC drivers to 5.5 and only could on 5.1, this upgraded my NUC server and all is well.

  2. Is it strictly necessary to move all the VMs off the host, or is shutting them down and putting it in Maintenance mode sufficient?

    1. No it is not required that you move the VM’s off the host before upgrading them. I prefer to move all VM’s off in case something was to go wrong and so that I don’t have to power down the machines.

      Powering off the VM’s and putting the host into maintenance mode will work just fine.

      1. Okay; good. We’re SAN-less right now (have one sitting on the floor in my office waiting to be racked-and-stacked), so moving the VMs off the hosts is non-trivial. Much less work to just power them off and put the host into maintenance mode.

      1. Okay; and the argument to the -p flag (ESXi-5.5.0-1331820-standard) came from what source? I’m guessing it’ll always just be the current version + build #?

      2. Yeah, I guess I wasn’t asking so much about what the “-p” means (I could figure that), but rather, how you arrived at the “5.5.0-1331820-standard” – in other words, when ESXi 5.6 comes out (or whatever the next version will be called) and I want to replicate this, where would I need to go to determine what exact version number/build number to use in the command? It looks like I can just go to the MyVMWare site and snag the version + build number – just wasn’t sure if that was your process as well, or if there was a better way of arriving at it.

      3. The way I do it is by doing the same steps above (enable SSH and httpclient) and then run this command:

        esxcli software sources profile list -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

        This will then display a list of all available images at depot. So when the new version of ESXi comes out you’d type the above, find the new name and then replace that name with the name I’ve supplied in the post.