dnfコマンドとモジュールのインストール

Redhat系(CentOSやAlmaLinux)Linuxでは8.0系からパッケージ管理コマンドがyumからdnfに変更になりました。
また、パッケージにモジュール(module)という概念が導入され、パッケージのバージョンの入れ替え等が容易になりました。

ここでは、パッケージをモジュールとしてインストールする方法などについて記載します

モジュールの一覧

モジュールの一覧を表示するには以下を実行します

$ dnf module list

指定モジュールのインストール可能なバージョンを確認

インストール可能なバージョンを確認するには以下を実行します
以下はPostgreSQLのインストール可能なバージョンを確認する例です

# postgresqlモジュールの一覧を表示
$ dnf module list postgresql
AlmaLinux 8 - AppStream
Name                    Stream              Profiles                               Summary                                        
postgresql              9.6                 client, server [d]                     PostgreSQL server and client module            
postgresql              10 [d]              client, server [d]                     PostgreSQL server and client module            
postgresql              12 [e]              client [i], server [d] [i]             PostgreSQL server and client module            
postgresql              13                  client, server [d]                     PostgreSQL server and client module            

Extra Packages for Enterprise Linux Modular 8 - x86_64
Name                    Stream              Profiles                               Summary                                        
postgresql              11                  client, server                         PostgreSQL module                              

バージョン9.6,10,12,13とExtraパッケージから11がインストール可能なことが確認できます

[d]とプリントされているのはデフォルトです
[i]とプリントされているのはインストール済みを示します

モジュールのインストール

モジュールをインストールする書式は以下です

# Stream(バージョン)を指定してインストール(profileは規定値)
dnf module install [モジュール名:Stream]

# Stream(バージョン)とProfileを指定してインストール
dnf module install [モジュール名:Stream/Profile]

例えば PostgreSQL13をインストールする場合は以下となります

# PostgreSQL13 Serverをインストール
$ sudo dnf module install postgresql:13

# PostgreSQL13 Clientをインストール
$ sudo dnf module install postgresql:13/client

モジュールのアンインストール

インストールしたモジュールを削除する場合の書式は以下です

dnf remove [モジュール名]

例えば、インストール済みのPosstgreSQLをアンインストールする場合は以下となります

$ sudo dnf remove postgresql

モジュールのバージョン切り替え

モジュールのバージョンを切り替える場合、既インストールバージョンをresetして新バージョンをインストールします
例えば、PostgreSQL13からPostgreSQL10に切り替えたい場合以下を実行します

# v13をリセット
$ sudo dnf reset postgresql:13
# v10をインストール
$ sudo dnf install postgresql:10