This is repository for Fedora modularization command line tool ("fm").
It is standalone "fm" command which is used query fm-metadata-service API server to get metadata about available Fedora Modules.
In the future, this tool should be able to enable/disable modules and probably also install them. The long term goals now are not set to stone yet.
Fedora modularization command line tool and DNF plugin. It is used to query fm-metadata-service and displays information about available modules.
It can be used as a standalone "fm" tool or as a DNF plugin adding "module" subcommand to DNF.
You can install fm tool from source code using following commands:
$ git clone https://pagure.io/fm-dnf-plugin.git $ cd fm-dnf-plugin $ cmake . $ sudo make install
We also provide RPM package with the latest version of fm tool. Since we are in early stage in development, there is no stable fm release, so the packages are rebuilt from time to time when we will it's worth doing so.
To install the package, you can use following commands:
$ sudo dnf copr enable @modularity/fm $ sudo dnf copr enable @modularity/modulemd $ sudo dnf copr enable @modularity/modulemd-resolver $ sudo dnf install fm
modules-repos.cfg file in the
[modules-repos] name = Fedora modules repos url = http://dev.fed-mod.org/modularity/repos enabled = 1
Now you can try listing all available modules in the testing repository as root:
# fm list apr 0.1-1 APR libraries module core 1.0-1 Core module httpd 2.2.15-1 Apache httpd webserver module httpd 2.2.15-2 Apache httpd webserver module httpd 2.4.18-1 Apache httpd webserver module
To show the detailed information about module, run:
# fm info httpd Name: httpd Summary: Apache httpd webserver Version: 2.2.15 Description: Apache httpd webserver module for testing purposes. Profiles: - default: - httpd - docs: - httpd-manual - httpd
You can also see available profiles here with the list of RPMs this profile installs.
To enable the module, you can run following:
# fm enable httpd
This command enables the latest version of httpd module.
To enable httpd in particular version, you can include the version in the
# fm enable httpd-2.2.15
Or you can even include the release:
# fm enable httpd-2.2.15-1
These commands also installs the RPMs listed in the
default profile. To choose different
profile, use the
-p command line option:
# fm enable httpd -p docs
To list all enabled modules, simply run:
# fm list-enabled apr 0.1-1 APR libraries module core 1.0-1 Core module httpd 2.4.18-1 Apache httpd webserver
To disable particular module and the modules depending on the module, simply run:
# fm disable httpd
To search for the module, simply run:
# fm search keyword
It is even possible to upgrade module to latest release using the
This command keeps the same version of the module.
To upgrade from
httpd-2.2.15-1 to latest
httpd-2.2.15-2, you can run:
# fm upgrade httpd
To switch between the major versions of module, use the rebase command:
# fm rebase httpd-2.4.18