Diagnosing and Fixing DNF Module Stream Errors on Rocky Linux 9
Step‑by‑step diagnostic guide for common DNF module stream errors on Rocky Linux 9, with checks, fixes, rollback steps, and verification tips.
30 Mar 2026, 19:33 UTC

Recognizable condition: "No module stream available for :"
When you run dnf install you see an error stating that the requested module stream cannot be found. This usually means the stream is not enabled or the repository metadata is stale.
Cause / diagnostic table
| Possible cause | How to check |
|---|---|
| Module stream not enabled | Run dnf module list ; the desired stream will not show the [e] flag. |
| Out‑of‑date repository metadata | Run dnf makecache and see if the stream appears afterward. |
Ordered checks
- Execute
sudo dnf module listand note which streams are listed. - If the stream is missing, run
sudo dnf makecacheto refresh metadata. - Run the list command again to confirm the stream now appears.
Fixes tied to findings
- If the stream appears after
makecachebut is not enabled, enable it withsudo dnf module enable :. - If the stream still does not appear, verify that the repository providing the module is enabled (
dnf repolist) and that the system architecture matches the stream’s build.
Escalation criteria
If after enabling the stream the original dnf install still fails with the same error, check for architecture mismatches (see Condition 4) or consider filing a bug against the repository.
Recognizable condition: "Conflict: module : conflicts with installed package "
A transaction aborts because an already installed package belongs to a different module stream than the one you are trying to use.
Cause / diagnostic table
| Possible cause | How to check |
|---|---|
| Installed package from another stream | Run rpm -q --whatprovides to see the package, then dnf module info to list its streams. |
Ordered checks
- Identify the conflicting package:
sudo rpm -q --whatprovides. - Check the module’s available streams:
sudo dnf module info. - Note which stream the package currently belongs to (usually shown in the package’s
Module:tag).
Fixes tied to findings
- Remove the conflicting package:
sudo dnf remove(review the transaction summary first). - Alternatively, switch the module to the stream that matches the installed package:
sudo dnf module switch-to :.
Rollback (state‑changing operation)
If you removed a package and later need it back, reinstall it with sudo dnf install . If you switched streams and want to return to the original, run sudo dnf module reset followed by sudo dnf module enable :.
Escalation criteria
If removing the package breaks critical dependencies, consider keeping the current stream and installing an alternative version of the desired software from a compatible stream or from a non‑modular package.
Recognizable condition: After enabling a module stream, dnf update installs unexpected older versions
Updates pull packages from the base repository instead of the newer module stream, indicating a priority or hotfixes issue.
Cause / diagnostic table
| Possible cause | How to check |
|---|---|
| Module stream priority lower than base repo | Run sudo dnf repolist --verbose and look for the priority value of the module’s repository versus the baseos/appstream repos. |
Missing module_hotfixes=1 setting | Check /etc/dnf/dnf.conf for the directive. |
Ordered checks
- List repository priorities:
sudo dnf repolist --verbose | grep -E "priority|repo-id". - Inspect
/etc/dnf/dnf.confformodule_hotfixes. - Note any mismatch where the baseos/appstream repo has a numerically lower (higher priority) value than the module repo.
Fixes tied to findings
- Enable hotfixes so module streams override base packages:
sudo sh -c 'echo "module_hotfixes=1" >> /etc/dnf/dnf.conf'. - If you prefer manual priority control, edit the repo file (
/etc/yum.repos.d/rocky-*.repo) and set a lower priority number for the module repository (e.g.,priority=10) while keeping baseos/appstream at a higher number (e.g.,priority=20).
Rollback
To revert the hotfixes setting, remove the line from /etc/dnf/dnf.conf or set it to 0. To revert priority changes, restore the original repo file from a backup or reset the priority values.
Escalation criteria
If after adjusting priorities you still see version downgrades, verify that the module stream actually contains the newer version (dnf module info :) and consider contacting the repository maintainer.
Recognizable condition: "Module stream : is not supported on this architecture"
You attempt to enable a stream that was not built for the current CPU architecture (e.g., trying to enable an x86_64 stream on an ARM64 system).
Cause / diagnostic table
| Possible cause | How to check |
|---|---|
| Architecture mismatch | Run arch to see the host architecture, then dnf module info to list supported architectures for each stream. |
Ordered checks
- Determine host architecture:
arch. - List module streams and their architectures:
sudo dnf module info. - Identify whether any stream matches the host architecture.
Fixes tied to findings
- Disable the unsupported stream:
sudo dnf module disable :. - Enable an architecture‑appropriate stream, if one exists:
sudo dnf module enable :. - If no compatible stream is available, consider using the non‑modular version of the package or disabling the module entirely (
sudo dnf module reset).
Rollback
Re‑enable a previously disabled stream with sudo dnf module enable : or reset the module to return to its default state.
Escalation criteria
If no stream matches your architecture and the software is essential, you may need to enable an alternative repository (e.g., EPEL, RPM Fusion) that provides builds for your architecture, or compile from source.
Verification and practical checks
After applying any fix:
- Run
sudo dnf module listand confirm the desired stream shows the[e](enabled) flag. - Test the original operation:
sudo dnf installorsudo dnf updateand watch for absence of errors. - Check module‑related warnings in the journal:
journalctl -u dnf; lack of warnings indicates a clean state.
Limitations
Changing module streams can remove or downgrade packages; always review the transaction summary before confirming a dnf operation. Disabling or resetting a module may leave leftover configuration files; consider running sudo dnf clean all and verifying system integrity with sudo rpm -Va after major changes.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.