EDR: Server Installation issue on RHEL/CentOS 8.x with error like "package python38u-3.8.1-2a.cb.el8.x86_64 is excluded"
search cancel

EDR: Server Installation issue on RHEL/CentOS 8.x with error like "package python38u-3.8.1-2a.cb.el8.x86_64 is excluded"

book

Article ID: 289050

calendar_today

Updated On:

Products

Carbon Black EDR (formerly Cb Response)

Issue/Introduction

After following the instructions from the 7.1 Server/Cluster Management Guide, the following error happens when running the yum installation:
CarbonBlack 1.7 kB/s | 2.9 kB 00:01
Error:
Problem: package cb-enterprise-7.1.1.200416.1626-1.el8.x86_64 requires /usr/share/cb/virtualenv/bin/python, but none of the providers can be installed
- package cb-enterprise-7.1.1.200416.1626-1.el8.x86_64 requires python-cb-response-venv = 2.3.6, but none of the providers can be installed
- package python-cb-response-venv-2.3.6-1.el8.x86_64 requires python38u >= 3.8.1-2a, but none of the providers can be installed
- conflicting requests
- package python38u-3.8.1-2a.cb.el8.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Environment

  • EDR: Version 7.1.1
  • RHEL/CentOS: Version 8.1 and Higher

Cause

The version of Python38 that EDR uses needs to get pulled from the Carbon Black repo, because it contains a specific unicode version.

Resolution

  1. Run the following cmd to exclude python38 as well as the other recommended modules
sudo yum module disable -y redis postgresql python38
  1. Then start the installation of cb-enterprise
sudo yum install cb-enterprise

Additional Information

  • EL8 introduced the idea of "AppStreams". The intent is to use "approved" packages that EL8 maintainers use to have later versions of packages. In older EL versions, the norm was to use 3rd party sites for those later versions of packages. With cb-enterprise, we use our own versions of some packages, like redis, postgres, and Python (and it's not python38 unicode, it's just our version of Python which isn't in the AppStream). This is for multiple reasons, one example is so we get security fixes earlier (since later versions might come out with those fixes, and the people that provide packages for EL6/7/8 don't do it as quickly... or in some cases, ever for older OSs like EL6).
  • Unfortunately, 3rd party repos/packages are disabled by default if they aren't in the AppStream. The yum module disable command disables the EL8 appstream for a certain module and allows us to use our own packages. Without doing that, they are completely ignored. And we can't do that in advance before the appstream exists for a module. So that package is actually already on the CB yum repo, but it is being ignored since it isn't in the AppStream. And it's only being noticed on EL8 because AppStreams weren't introduced before EL8.