Modularity使Fedora能够在存储库中提供替代版本的RPM软件包,有多个不同的应用程序,语言运行时和工具可用于多个版本,每个Fedora版本都可以本机构建。Modularity刚开始时只是一个带有附加内容的可选存储库,并且作为标题提示,仅适用于Server Edition,现在Modularity是Fedora发行版的核心部分,一些软件包已完全转移到modules,在选写本文时,Fedora 30中的49464个二进制RPM软件包有1119(2.26%)来自一个module。
Modularity基础 因为在多个版本中包含太多包可能难以管理,所以将包分组为表示应用程序,语言运行时或任何其他合理组的模块。 模块通常有多个流,通常代表软件的主要版本,可并行使用,但在给定系统上只能安装每个模块的一个流。 每个Fedora版本都带有一组默认值,所以只需要在需要时做出决定。 最后,为了简化安装,可以根据用例使用预定义的配置文件选择性地安装模块,例如,数据库模块可以安装为客户端,服务器或两者。
实践中的Modularity 当你在Fedora系统上安装RPM软件包时,很可能它来自module stream,你可能没有注意到的原因之一是Modularity的核心原则之一,在有理由了解它之前保持不可见。 让我们比较以下两种情况,首先,安装流行的i3平铺窗口管理器,然后安装极简主义的dwm窗口管理器: $ sudo dnf install i3 ... Done! 正如所料,上面的命令会在系统上安装i3软件包及其依赖项,这里没有其他事情发生,但另一个怎么样?如下: $ sudo dnf install dwm ... Enabling module streams: dwm 6.1 ... Done! 感觉是一样的,但后台发生了一些事情,启用了默认的dwm module stream(6.1),并安装了module中的dwm软件包。 为了transparent,有一条关于输出中模块自动启用的消息,但除此之外,用户不需要了解Modularity的任何信息,以便按照他们一贯的方式使用他们的系统。 但如果他们这样做呢?让我们看看如何安装不同版本的dwm。 使用以下命令查看可用的module streams: $ sudo dnf module list
输出显示dwm模块有四个流,6.1是默认值。 要以不同的版本安装dwm软件包,例如,从6.2流中,启用流,然后使用以下两个命令安装软件包: $ sudo dnf module enable dwm:6.2 ... Enabling module streams: dwm 6.2 ... Done! $ sudo dnf install dwm ... Done! 最后,让我们看看配置文件,以PostgreSQL为例: $ sudo dnf module list
要将PostgreSQL 11安装为服务器,请使用以下命令: $ sudo dnf module install postgresql:11/server 请注意,除了启用,在指定配置文件时,可以使用单个命令安装模块。 可以一次安装多个配置文件,要添加客户端工具,请使用以下命令: $ sudo dnf module install postgresql:11/client 还有许多其他模块可供选择,在选写本文时,Fedora 30中有83个module streams,包括两个版本的MariaDB,三个版本的Node.js,两个版本的Ruby,以及更多。
相关主题 |