Rocky 9.4 vs RHEL 9.4 minimal install, missing semanage tool

I have always assumed that Rocky is same with RHEL, but today I found out that if I do a minimal install in both of these, with the dvd iso, there are some rpm that is installed in RHEL but not Rocky. I am specifically looking at this semanage command that comes from the policycoreutils-python-utils rpm.

I know that I can easily install it with yum or dnf.

My purpose is to try to understand is there a particular reason why the default installed packages are different, and why?

First of all, Rocky cannot be 100% identical to RHEL. There are packages that are modified to replace Red Hat trademarks with names that Rocky uses. There are additional packages (e.g. Rocky repo definitions) and removed packages (e.g. RHEL repo definitions). I could not quickly find list of them from Rocky docs – my search fu is weak.

AlmaLinux 9 Minimal does not include policycoreutils-python-utils either. The package is required by setroubleshoot which is in groups “Workstation product core” and “Graphical Administration Tools”, neither of which is in Minimal (nor in Server) Environment group (at least in AlmaLinux).

In other words, the installer of Rocky (and Alma, Oracle Linux, etc) has to differ from installer of RHEL, because some of the core packages (repos) are different. However, does not seem to be a valid reason to omit the policycoreutils-python-utils.


Note. Rocky Linux is currently 9.5 – and soon 9.6. The 9.4 has not been supported since the 9.5 was released (last Fall). The 9.5 will cease to be supported when the 9.6 is released.

This differs from RHEL, since paying customers (of Red Hat) can continue to use (some) earlier point updates a bit longer.

Dug a lot further, and realized that the policycoreutils-python-utils package is actually required by the rhc package which is RedHat specific, it is specified in the rpm spec file as such:
Requires(post): policycoreutils-python-utils

I missed this out, as previously I ran rpm -q --whatrequires policycoreutils-python-utils and it does not show anything.

Learned something new today that the --whatrequires would not show this, because Requires(post) means we need it during installation, but we can remove it after installation.

2 Likes