Multiple versions of packages in Fedora

with the qualities expected from a Linux distribution: transparently built and delivered, actively maintained, and easy to install.

Documentation Project Tracking Issue Tracker

Basic Concepts

Packages

RPM packages are powerful as they are and there is no need to do any changes at this level.

Modules

Packages are grouped into modules — a representation of an application, a language runtime, or any logical group. That makes the content more granular and easier to navigate.

Streams

Modules can be available in multiple streams, usually representing a major version of the software they include. Choose the right version of the piece of software you need. Coming right from Fedora.

Profiles

To simplify installation, we have introduced installation profiles — package subsets representing a specific use case of the module.

Choose only when you want to

In case that all sounds overwhelming, there are defaults for both streams and profiles — so you only need to make choices when you really want to.

Updates respect your choice

And when you make a choice, we make sure it's being respected during both regular updates and even major distribution upgrades. So things keep working the way you expect.

Using Modularity

There are few new commands you'll need to learn in order to leverage Modularity in its full potential. But don't worry, they're completely optional and the system keeps working the way it used to even without these new commands.

See what's available

$ dnf module list

Shows you list of all module streams available for your system. Also indicates which ones are already installed.

Install a default stream

$ sudo dnf module install dwm

Installs a default stream of dwm — a tiling window manager. Each Fedora release can have a different default.

Install a specific stream

$ sudo dnf module install nodejs:8

Installs Node.js version 8. This might be a different version than the one available by default.

Install a specific use case

$ sudo dnf install mongodb/client

Installs client tooling for MongoDB. Server is also available and can be installed at the same time if desired.