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