模块化使 Fedora 能够在仓库中提供替代版本的 RPM 软件包。每个 Fedroa 版本可以原生构建不同应用、语言运行时和工具版本的多个版本。

-- Adam Šamalík(作者)

模块化 (Modularity)使 Fedora 能够在仓库中提供替代版本的 RPM 软件包。每个 Fedroa 版本可以原生构建不同应用、语言运行时和工具版本的多个版本。

Fedora Magazine 大约一年前就写了 Fedora 28 服务器版的模块化 。那时,它只是一个有附加内容的可选仓库,并且明确只支持服务器版。到目前为止,它已经发生了很多变化,现在模块化是 Fedora 发行版的核心部分。一些软件包已完全变成模块。在编写本文时,Fedora 30 的 49,464 个二进制 RPM 软件包中的 1,119(2.26%)来自模块( 关于这个数字的更多信息 )。

模块化基础知识

由于许多软件包有不同的版本会让人难以承受(并且难以管理),所以包被分组为模块,它可以代表一个应用程序、一个语言运行时或任何其他合理的组。

模块通常有多个流,这通常代表软件的主要版本。它可以并行使用,但在给定系统上只能安装每个模块的一个流。

为了不让用户因为太多选择而难以承受,每个 Fedora 版本都有一组默认,因此只需要在需要时做出决定。

最后,为了简化安装,可以根据用例使用预定义的 profile 选择性地安装模块。例如,数据库模块可以作为客户端,服务端或同时安装。

实际使用模块化

当你在 Fedora 系统上安装 RPM 软件包时,它很可能它来自模块流。你可能没有注意到的原因之一是模块化的核心原则之一是在你探究之前保持不可见。

让我们比较以下两种情况。首先,安装流行的 i3 平铺窗口管理器,然后安装极简化的 dwm 窗口管理器:

$ sudo dnf install i3...Done!

正如所料,上面的命令会在系统上安装 i3 包及其依赖项。这里没有其他事情发生。但另一个会怎么样?

$ sudo dnf install dwm...Enabling module streams: dwm 6.1...Done!

感觉是一样的,但后台发生了一些事情 。它启用了默认的 dwm 模块流(6.1),并且安装了模块中的 dwm 包。

为了保持透明,输出中有一条关于模块自动启用的消息。但除此之外,用户不需要了解模块化的任何信息,以便按照他们一贯的方式使用他们的系统。

但如果他们使用模块化方式呢?让我们看看如何安装不同版本的 dwm。

使用以下命令查看可用的模块流:

$ sudo dnf module list...dwm latest ...dwm 6.0 ...dwm 6.1 [d] ...dwm 6.2 ......Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

输出显示 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 9.6 client, server ...postgresql 10 client, server ...postgresql 11 client, server ......

要安装 PostgreSQL 11 服务端,使用以下命令:

$ sudo dnf module install postgresql:11/server

请注意,除了启用流之外,我们可以指定配置从而使用一条命令安装模块。

可以立即安装多个版本。要添加客户端工具,使用下面的命令:

$ sudo dnf module install postgresql:11/client

还有许多其他带有多个流的模块可供选择。在编写本文时,Fedora 30 中有 83 个模块流。包括两个版本的 MariaDB、三个版本的 Node.js、两个版本的 Ruby 等等。

有关完整的命令集(包括从一个流切换到另一个流),请参阅 模块化的官方用户文档 。


中标麒麟安装rpm包命令_在 Fedora 中安装替代版本的 RPM 包相关推荐

  1. yum安装本地rpm包_在 Fedora 中安装替代版本的 RPM 包

    模块化使 Fedora 能够在仓库中提供替代版本的 RPM 软件包.每个 Fedroa 版本可以原生构建不同应用.语言运行时和工具版本的多个版本. -- Adam Šamalík(作者) 模块化 (M ...

  2. python3安装模块的命令_如何为PythonPython3安装gi模块?

    你就是这样做的:(例如Linux Mint和python3) 首先使用发行版包管理器安装gi模块.对于Linux Mint,它将是:sudo apt-get install python3-gi 然后 ...

  3. abaqus的python安装文件在哪_在abaqus2016中安装xlwt和xlrd库教程

    声明:本人 abaqus 小白,使用 abaqus 版本为 2016 版本,之前在使用 python 写脚本时发 现 abaqus 使用的是软件内置的 python2.7.3 ,在安装 xlrd 和 ...

  4. 容器虚拟化技术Docker(一)简介、安装、常见命令、数据卷、安装常规软件

    容器虚拟化技术Docker(一)简介.安装.常见命令.数据卷.安装常规软件 1.Docker简介 1.简介 Docker的主要目标是"Build,Ship and Run Any App,A ...

  5. 如何用python和pip安装在txt文件中配置好版本的库包

    如何用python和pip安装在txt文件中配置好版本的库包 文章目录: 一.建立库包版本的txt配置文件 二.安装txt配置文件中的库包 有时候你自己用python实现一个项目,然后想把它在gith ...

  6. linux wget 命令_在Linux中如何使用wget命令?

    linux wget 命令 In this tutorial, let's learn how to download a file using the wget command in Linux. ...

  7. ensp支持哪个版本virtualbox_如何在 Fedora 中安装 VirtualBox

    这样,你可以在你的操作系统上像使用应用程序一样使用 Fedora. • 来源:linux.cn • 作者:Dimitrios Savvopoulos • 译者:frogOAO • (本文字数:4870 ...

  8. fedora ssh 安装mysql,Fedora中安装和配置OpenSSH | 学步园

    SSH的简介 传统的远程登陆程序的工具,比如TELNET.Rlogin以及Rsh等,都是将口令在网上明文的方式传输的.显然这不能保证系统和用户的安全和利益.SSH(Secure Shell)则避免了上 ...

  9. linux ubuntu安装 mono,在Ubuntu 18.04系统中安装Mono及基本使用Mono的方法

    本文介绍在Ubuntu 18.04操作系统中安装Mono及基本使用Mono的方法.Mono是一个基于ECMA/ISO标准开发和运行跨平台应用程序的平台,它是Microsoft .NET框架的免费开源实 ...

最新文章

  1. Logstash5.4.1解析日志报错处理
  2. WEB项目 后台接收前端数组
  3. PyCharm安装及使用
  4. 太强了!这个 Jupyter notebook 离线工具可以用一辈子!
  5. python 列表 字典 读写文件:pickle模块的基本使用
  6. 猎豹移动回应被谷歌下架:积极整改情况下被单方面下架
  7. 数据库设计 Assignment 02
  8. python爬虫使用selenium模拟登陆人人网
  9. Thinkphp仿众图网图片素材/资源下载站源码 自适应手机端
  10. iOS-性能优化的那些事
  11. 加仓减仓口诀_加仓减仓口诀
  12. dblink导致存储过程报异常ORA-03113:通信通道文件尾 ORA-02063紧接着line(xxxdblink名称) ORA-06512在(xxxx)line 24
  13. Android 仿美拍,秒拍 ,视频封面选择.有图有真相.
  14. 鸿蒙系统第一批升级名单,鸿蒙系统首批升级名单详细介绍
  15. 先学vba还是python-以Excel处理为目的学习python还是VBA?
  16. 如何进行智慧城市顶层设计规划
  17. 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(5)完结篇:自然临近关系
  18. 一个 Android 的视频编辑器,包括了视频录制、剪切、增加 bgm、美白、加滤镜、加水印等多种功能
  19. 企业微信开发实战(一、相关说明及注册企业微信)
  20. 音频信号处理(二)语音信号采集处理与基音周期

热门文章

  1. 最全的BI工具选型指南!给你五大箴言要记住
  2. 飞鸽传书绿色版 部分数据库被陆续公开了
  3. 对 飞秋 程序设计的一些新想法
  4. 面向对象的 飞鸽传书 思想
  5. 教程:如何迅速制造Vista蓝屏死机?
  6. mysql 页面跳转_Springboot+MyBatis+mysql+jsp页面跳转详细示例
  7. 实用c语言程序设计教材,实用C语言程序设计
  8. mybatis没有导入sqlsessionfactory包_MyBatis——搭建第一个MyBatis
  9. 项目管理中网络图的看法和相关参数阅读说明
  10. 【PMP学习笔记】:三、项目经理角色