Switching module streams
This page needs to be extended. |
Switching streams is a risky operation that might not be always supported in packages, especially downgrades. |
Switching to a different stream than the one that is installed on a system is a two-step process. First, the current stream needs to be reset causing it not to be enabled anymore — this will however keep its packages installed. Second, a new stream needs to be installed.
$ sudo dnf module reset NAME $ sudo dnf module install NAME:STREAM
For example, to switch from Node.js 8 to Node.js 10, run:
$ sudo dnf module reset nodejs $ sudo dnf module install nodejs:10
When switching RPMs that are not in a profile of stream, that is a three step process. First, the current stream needs to be reset. Second, a new stream needs to be enabled. Three, the specified RPMs are synchronized on the new stream.
$ sudo dnf module reset NAME $ sudo dnf module enable NAME:STREAM $ sudo dnf --allowerasing distro-sync [RPM]...
For example, to switch installed RPMs from Ruby 2.5 to Ruby 2.6, run:
$ sudo dnf module reset ruby $ sudo dnf module enable ruby:2.6 $ sudo dnf --allowerasing distro-sync
To switch specified RPMs rubygem-mysql2 and rubygem-pg from Ruby 2.5 to Ruby 2.6, run:
$ sudo dnf --allowerasing distro-sync rubygem-mysql2 rubygem-pg
HINT: dnf module info NAME:STREAM
Artifacts is helpful to check RPMs in a module.