I usually update my ESXi hosts using zip package customized by dell since the underlying hardware is from Dell. Recently, I was updating my ESXi hosts from ESXi 6.5 U2 to ESXi 6.5 U3 and one of the host failed with error – [Errno 32] Broken pipe vibs = VMware_locker_tools-light_6.5.0-1.47.8285314
From VMware release note, I knew that this patch have an updated version of VMware tools, therefore I kind of ignored the error and run the command to apply the patch again, this time I got another error – [DatabaseIOError] Error in purging old directory: [Errno 2] No such file or directory: ‘/locker/packages/var/db/locker/vibs’
I rebooted the ESXi host and then tried installing the update again but that did not fix the issue. Then, from the above error, i changed the directory to /locker to check the content of locker folder, locker directory must contain packages & var folder, however when i listed the directory I observed multiple packages folder along with many files named “?”, “??”,”?@?” etc.
From above file structure, it seems to be the locker folder has been corrupted, also when i checked the packages folder it was empty, there was no directory named var, which made sense of 2nd error. When i checked the “packages?????” folder, i could see two folder over there var & 6.5.0 which have all the required files.
So I renamed the current packages folder to packages_old and then renamed packages????? to packages and then tried to install the ESXi update again.
This time the the patch installed successfully. I rebooted the host and it came up without any issue. I hope this has been informative for you, thanks for reading.
[Update] Above steps would help only fixing the issue for time being, in order to fix it permanently, i have wrote another blog, please check here