Using Modules in Fedora
From the user perspective, modules are like release-independent package groups on independent lifecycles, providing alternative streams of content to Fedora.
Enable modular repositories
If you are running the Fedora Server Edition, the Modular Repository should already be enabled. However, if you are using a container or a different Edition, you need to:
# dnf install fedora-repos-modular
Supported / Unsupported Package Managers
-
Supported
-
dnf
-
dnfdragora
-
-
Unsupported (if unlisted, assume unsupported)
-
microdnf
-
PackageKit
-
Gnome Software
-
Apper
-
Cockpit
-
Using an unsupported Package Manager for any reason with modules enabled has serious potential to break things. People are working on the above list of Unsupported package managers primarily by including module support in libdnf. If you are interested in adding module support to a different package manager, please contact the dnf team.
List available modules
To list all available modules and their streams, run the following command:
$ dnf module list
Install a module
To install a module, use the name:stream/profile
syntax, for example:
$ dnf module install nodejs:6/default
Alternatively, you can also enable a module and then install RPM packages directly:
$ dnf module enable nodejs:6 $ dnf install nodejs
Changing a stream
To change a stream of a module that has been already installed, use the installation command. For example:
$ dnf module install nodejs:9/default
Module defaults
We are currently working on system profiles — the defaults for your system. Thanks to these, you will need to be specific about the module, stream, or profile only when you need to. When implemented, all the following commands will also work:
$ dnf install nodejs # installs a nodejs RPM package from the default stream $ dnf module install nodejs # installs the default profile from the default stream $ dnf module install nodejs:9 # installs the default profile from the 9 stream