If you’ve tried to install (specifically):
- CentOS Stream 9
- Red Had Enterprise Linux 9.x server
- Debian 11
and encountered issues with running the installer scripts, you are more than likely missing packages that the NGT install scripts are dependent on.
Debian 11.x
Debian was pretty simple to troubleshoot in my case. The setup_python.sh script would error in the first few lines. The first thing I found was that Debian 11 did not come preinstalled with bash, it only had a symbolic link that pointed bash => dash
. So after installing bash and running the script with bash setup_python.sh
, instead of the typical ./setup_python.sh
, the script ran up until the next error which was thrown because the python tarball was failing to unzip. This was a result of xz was not being installed.
Solution:
# install dependencies
apt install -y xz-utils bash
# from the source directory of the installer scripts
bash setup_python.sh
CentOS 9/RHEL 9
First thing I noticed again, was an issue with tar. My minimal install didn’t have it like RHEL 7 or RHEL 8 did. After installing tar, I then encountered the same error as seen in this post and was stumped for a good minute while I attempted to trace back each python script that’s being called. It ultimately came down to this- RHEL 9 and CentOS 9 both do not come with chkconfig installed because they’re pushing for everyone to use systemd over sysv init scripts. The NGT installer scripts use chkconfig to register Nutanix Guest Tools as a service, and without the /etc/init.d directory being present, the installer script would ultimately write a bunch of gibberish to a file named /etc/init.d.
Solution:
# install dependencies - dmidecode seems to only be needed on CentOS
yum install -y dmidecode tar chkconfig
# from the source directory of the installer scripts
bash setup_python.sh
Other distros:
I cannot say for certain, but similar distros to the ones I’ve mentioned may also benefit from my findings-e.g. the fix I mentioned for Debian might also work for Ubuntu or other deb-based distros, while the fix for CentOS/RHEL might work with Fedora or other rpm-based distros.
I hope this helps anyone overcome their problems with installing NGT on Linux distros.