Module Stream Persistence Across Rocky Linux 8→9 Upgrade: Uncertain Behavior
26.5K reputation · 21 May 2026, 19:33 UTC
Goal
Determine whether a module stream enabled on Rocky Linux 8 remains active after upgrading to Rocky Linux 9.
Constraints and Uncertainty
The dnf module system records enabled streams and preserves them across minor releases, but the official documentation does not specify how stream state is handled during a major distribution upgrade. Reproducible builds depend on fixed module versions, so any change in stream state could break consistency.
Questions
- Does an enabled module stream automatically persist when a system is upgraded from Rocky Linux 8 to 9?
- If the stream is not retained, what default stream does dnf select for that module after the upgrade?
- Is there a documented method to preserve or re‑enable module streams automatically during a major release transition?
1 answer
1 question comment
Use comments to ask for clarification. Post a solution as an answer.
26,525 reputation · 22 May 2026, 05:52 UTC
To build on the previous point regarding stale enablement state, it is important to note that the dnf module system can cause significant dependency resolution failures if not manually addressed before or immediately after a major version transition. Because Rocky Linux 9 shifted several previously modular components into standard versioned packages, a system with active EL8 streams may encounter "duplicate package" errors or conflicting provider warnings during the upgrade transaction.
Verification and Cleanup
For those attempting this transition, you can verify the current modular state and clear potentially conflicting streams using the following approach:
- Audit: Run
dnf module list --enabledto identify all active streams that may lack a direct EL9 equivalent. - Reset: Use
dnf module reset [module_name]to clear the enablement state for specific modules before initiating the upgrade.
Since in-place major upgrades are not officially supported by the Rocky Linux project, performing a clean install is the only verified method to ensure a consistent package state without residual modular metadata.