如何使用 Fedora/RHEL 8 模块化存储库
Fedora/RHEL 8+ 系统附带模块化存储库功能,允许您通过应用程序流(也称为 AppStream)在独立生命周期上安装其他版本的软件。这使您能够使操作系统保持最新状态,同时拥有适合您使用案例的正确应用程序版本。
dnf 子命令module
用于管理支持该功能的 Fedora 系统上的模块化存储库。请参阅以下有关如何使用 Fedora 模块化存储库的示例。
列出可用模块
要列出所有模块流、其配置文件和状态(启用、禁用、默认),请运行以下命令:
sudo dnf module list
您将得到类似于以下内容的输出:
Fedora Modular 37 - x86_64
Name Stream Profiles Summary
avocado latest default [d], minimal Framework with tools and libraries for Automated Testing
avocado 82lts default, minimal Framework with tools and libraries for Automated Testing
avocado-vt latest default Avocado Virt Test Plugin
avocado-vt 82lts default Avocado Virt Test Plugin
cri-o 1.20 default [d] Kubernetes Container Runtime Interface for OCI-based containers
cri-o 1.21 default [d] Kubernetes Container Runtime Interface for OCI-based containers
cri-o 1.22 default [d] Kubernetes Container Runtime Interface for OCI-based containers
cri-o 1.24 default Kubernetes Container Runtime Interface for OCI-based containers
ghc 8.10 all, default [d], minimal, small Haskell GHC 8.10
ghc 9.2 all, default, minimal, small Haskell GHC 9.2
mariadb 10.5 client, devel, galera, server [d] MariaDB: a very fast and robust SQL database server
mariadb 10.6 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mariadb 10.7 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mariadb 10.8 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mariadb 10.9 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mysql 8.0 client, devel, server [d] MySQL Module
...
要显示有关特定模块的信息,请将名称作为参数提供给上一个命令:
$ sudo dnf module list postgresql
Last metadata expiration check: 0:08:48 ago on Thu 19 Jan 2023 02:20:33 PM UTC.
Fedora Modular 37 - x86_64
Name Stream Profiles Summary
postgresql 12 client, server PostgreSQL module
postgresql 13 client, server PostgreSQL module
postgresql 14 client, server PostgreSQL module
postgresql 15 client, server PostgreSQL module
Fedora Modular 37 - x86_64 - Updates
Name Stream Profiles Summary
postgresql 12 client, server PostgreSQL module
postgresql 13 client, server PostgreSQL module
postgresql 14 client, server PostgreSQL module
postgresql 15 client, server PostgreSQL module
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
安装模块配置文件
安装模块的语法是:
dnf [options] module install <module_spec>...
首先获取模块流,例如:
$ dnf module list mariadb
Last metadata expiration check: 0:11:45 ago on Thu 19 Jan 2023 02:20:33 PM UTC.
Fedora Modular 37 - x86_64
Name Stream Profiles Summary
mariadb 10.5 client, devel, galera, server [d] MariaDB: a very fast and robust SQL database server
mariadb 10.6 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mariadb 10.7 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mariadb 10.8 client, devel, galera, server MariaDB: a very fast and robust SQL database server
mariadb 10.9 client, devel, galera, server MariaDB: a very fast and robust SQL database server
您可以看到 mariadb
有流,一个用于 MariaDB 10.8,另一个用于 10。 7。安装 MariaDB 10.8:
dnf module install mariadb:10.8/server
输入y确认安装。安装后,您可以使用命令rpm
确认软件包版本。
要降级到 MariaDB 10.7,您需要安装10.7模块
dnf module install mariadb:10.7/server
启用模块流
如果您有通过其他外部存储库安装的不同版本,请先卸载它,然后启用模块
sudo dnf module enable mariadb:10.9/server
这将启用模块流并使流 RPM 在包集中可用。模块依赖关系在启用时解析和检查,但不会自动启用。启用命令还可以用于切换模块流
启用模块流
要禁用模块并使所有相关模块流不可用,请使用:
dnf module disable <module-name>
列出启用的模块流
要列出已启用的模块流,请执行
dnf module list --enabled
获取模块流详细信息
打印有关给定模块流的详细信息的语法是:
dnf module info <module_spec>
例子 :
dnf module info nginx
重置模块状态
您还可以重置模块状态,使其不再启用或禁用。
dnf module reset <module_spec>
例子 :
dnf module reset mariadb:10.8/server