On AlmaLinux, th guest-tool for XCP-ng is provided by a packaged call xe-guest-utilities-latest, which in turns available from the epel-release repository.

The following list a few steps to get XCP-ng guest-tool installed on a VM running AlmaLinux 9.

  1. Enable epel-release repository if not yet enabled by installing a package called epel-release. In my case, the repo has been already enabled.
[root@xoa1 ~]# rpm -q epel-release
epel-release-9-7.el9.noarch
  1. Install the guest-tool. If you’re unable to remember the full name of the package, just saerch for ‘xe-guest’.
[root@xoa1 ~]# dnf search xe-guest
Last metadata expiration check: 3:41:49 ago on Mon 16 Oct 2023 16:34:47.
=================== Name Matched: xe-guest ==================================
xe-guest-utilities-latest.x86_64 : XAPI Virtual Machine Monitoring Scripts

[root@xoa1 ~]# dnf install xe-guest-utilities-latest -y
...
Installed:
  xe-guest-utilities-latest-7.30.0-7.el9.x86_64

[root@xoa1 ~]# rpm -q xe-guest-utilities-latest
xe-guest-utilities-latest-7.30.0-7.el9.x86_64
  1. Finally enable and start the xe-linux-distribution service.
[root@xoa1 ~]# systemctl enable --now xe-linux-distribution.service
Created symlink /etc/systemd/system/multi-user.target.wants/xe-linux-distribution.service → /usr/lib/systemd/system/xe-linux-distribution.service.

[root@xoa1 ~]# systemctl status xe-linux-distribution.service
● xe-linux-distribution.service - Linux Guest Agent
     Loaded: loaded (/usr/lib/systemd/system/xe-linux-distribution.service; enabled; preset: disabled)
     Active: active (running) since Mon 2023-10-16 20:20:11 AEDT; 12s ago
    Process: 1714 ExecStartPre=/usr/sbin/sysctl net.ipv4.conf.all.arp_notify=1 (code=exited, status=0/SUCCESS)
    Process: 1715 ExecStartPre=/usr/sbin/xe-linux-distribution /var/cache/xe-linux-distribution (code=exited, status=0/SUCCESS)
   Main PID: 1720 (xe-daemon)
      Tasks: 9 (limit: 23054)
     Memory: 7.1M
        CPU: 42ms
     CGroup: /system.slice/xe-linux-distribution.service
             ├─1720 /usr/sbin/xe-daemon
             └─1723 logger -t xe-daemon -p debug

Oct 16 20:20:11 xoa1 systemd[1]: Starting Linux Guest Agent...
Oct 16 20:20:11 xoa1 sysctl[1714]: net.ipv4.conf.all.arp_notify = 1
Oct 16 20:20:11 xoa1 systemd[1]: Started Linux Guest Agent.

Just like that the guest-tool for XCP-ng has been installed on a VM running AlmaLinux (9).

Reference: