Why Does `dbbotctl env setup` Fail?
Start with:
/usr/local/dbbot/bin/dbbotctl doctor
It surfaces control-host prerequisites first, including python3, sshpass, and whether the portable Ansible entrypoints are present.
Common causes:
- The control host does not have a compatible
python3. The release bundle currently shipsansible-base 2.10.17, which expects controller-side Python3.6through3.11;3.12+is out of scope. Minimal CentOS 7 usually has nopython3;dbbotctl env setupprompts before installing it, and pressing Enter or typingycontinues the setup. - The Linux control host has neither
yumnordnf, sodbbotctl env setupcannot bootstrap dependencies. - SELinux Python bindings are missing on Linux, and neither
python3-libselinuxnorlibselinux-python3can be installed from the current repositories. - macOS Command Line Tools are missing, so
tar,ssh, orpipare unavailable. - The release package is incomplete and files such as
/usr/local/dbbot/portable-ansible/ansible-playbookorlibexec/dbbotctl/sshpass-x64are missing.
Recommended check order:
- Run
dbbotctl doctorand inspect theWARN/FAILlines first. - Verify the portable entrypoint directly:
python3 /usr/local/dbbot/portable-ansible/ansible-playbook --version
- On macOS, run
xcode-select --installfirst, then rerundbbotctl env setup. - If the host only has Python
3.12+, install apython3version at3.11or lower for the control-host side.
Additional notes:
- During Linux bootstrap, dbbot may write
~/.bashrcand copy the bundledsshpass-x64to/usr/bin/sshpass, so local permissions on the control host must be sufficient. - When debugging with direct paths, prefer
/usr/local/dbbot/portable-ansible/...explicitly instead of inventing a public environment variable name.
Related docs: