To install a module, use one of the following commands. Not specifying a _stream_ or a _profile_ causes DNF to choose the _default_. However, not every module has a _default stream_ or a _default profile_. In that case you need to specify the stream or the profile explicitly.
$ dnf module install NAME
$ dnf module install NAME:STREAM
$ dnf module install NAME/PROFILE
$ dnf module install NAME:STREAM/PROFILE
For example, to install the Node.js 8 runtime and the client tooling of the default stream of MongoDB, run:
$ dnf module install nodejs:8
$ dnf module install mongodb/client
Switching module streams
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 done with the `switch-to` argument.
$ dnf module switch-to NAME:STREAM
An example, to switch from Node.js 8 to Node.js 10, run:
$ dnf module switch-to nodejs:10
An example, to switch from Node.js 10 to Node.js 8, run:
$ dnf module switch-to nodejs:8
The `switch-to` argument is the recommended and prefered way to switch streams.
The `switch-to` argument includes multiple actions which need to be executed to safetly switch to another module stream.
In this example we show a manual switch from Node.js 8 to Node.js 10 without the `switch-to` argument run:
$ dnf remove nodejs
$ dnf module reset nodejs:8
$ dnf module enable nodejs:10
$ dnf install nodejs
The `dnf module info NAME:STREAM` command is helpful to check RPMs in a module stream.
Updating the system
Updating a system by running the `dnf update` command causes all packages to be upgraded to their latest version provided by their module stream.
Removing modules