|
|
51CTO旗下网站
|
|
移动端

在Fedora中装置代替版别的RPM包

模块化使 Fedora 能够在库房中供给代替版别的 RPM 软件包。每个 Fedroa 版别能够原生构建不同运用、言语运转时和东西版别的多个版别。

作者:Adam Šamalík来历:Linux我国|2019-06-21 08:55

Modularity使 Fedora 能够在库房中供给代替版别的 RPM 软件包。每个 Fedroa 版别能够原生构建不同运用、言语运转时和东西版别的多个版别。

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

模块化根底知识

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

模块一般有多个,这一般代表软件的首要版别。它能够并行运用,但在给定体系上只能装置每个模块的一个流。

为了不让用户由于太多挑选而难以承受,每个 Fedora 版别都有一组默许,因而只需求在需求时做出决议。

最终,为了简化装置,能够依据用例运用预界说的 profile 挑选性地装置模块。例如,数据库模块能够作为客户端,服务端或一起装置。

实践运用模块化

当你在 Fedora 体系上装置 RPM 软件包时,它很或许它来自模块流。你或许没有注意到的原因之一是模块化的中心准则之一是在你探求之前坚持不行见。

让咱们比较以下两种状况。首要,装置盛行的 i3 平铺窗口办理器,然后装置极简化的 dwm 窗口办理器:

  1. $ sudo dnf install i3
  2. ...
  3. Done!

正如所料,上面的指令会在体系上装置 i3 包及其依靠项。这儿没有其他工作发作。但另一个会怎么样?

  1. $ sudo dnf install dwm
  2. ...
  3. Enabling module streams:
  4. dwm 6.1
  5. ...
  6. Done!

感觉是相同的,但后台发作了一些工作 。它启用了默许的 dwm 模块流(6.1),而且装置了模块中的 dwm 包。

为了坚持通明,输出中有一条关于模块主动启用的音讯。但除此之外,用户不需求了解模块化的任何信息,以便依照他们一向的办法运用他们的体系。

但假如他们运用模块化办法呢?让咱们看看怎么装置不同版别的 dwm。

运用以下指令检查可用的模块流:

  1. $ sudo dnf module list
  2. ...
  3. dwm latest ...
  4. dwm 6.0 ...
  5. dwm 6.1 [d] ...
  6. dwm 6.2 ...
  7. ...
  8. Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

输出显现 dwm 模块有四个流,6.1 是默许值。

要装置不同版别的 dwm 包,例如,装置 6.2 的流。启用它,然后运用以下两个指令装置软件包:

  1. $ sudo dnf module enable dwm:6.2
  2. ...
  3. Enabling module streams:
  4. dwm 6.2
  5. ...
  6. Done!
  7. $ sudo dnf install dwm
  8. ...
  9. Done!

最终,让咱们看下装备,以 PostgreSQL 为例。

  1. $ sudo dnf module list
  2. ...
  3. postgresql 9.6 client, server ...
  4. postgresql 10 client, server ...
  5. postgresql 11 client, server ...
  6. ...

要装置 PostgreSQL 11 服务端,运用以下指令:

  1. $ sudo dnf module install postgresql:11/server

请注意,除了启用流之外,咱们能够指定装备然后运用一条指令装置模块。

能够当即装置多个版别。要增加客户端东西,运用下面的指令:

  1. $ sudo dnf module install postgresql:11/client

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

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

【修改引荐】

  1. 怎么用Linux协助你拼写?
  2. 你的Linux服务器果然得到维护了吗?
  3. Neofetch:在终端中显现Linux体系信息
  4. 在AppImage、Flathub和Snapcraft渠道上查找Linux运用
  5. Linux后端程序生长关键技能之底层体系结构
【责任修改:庞桂玉 TEL:(010)68476606】

点赞 0
共享:
我们都在看
猜你喜爱

订阅专栏+更多

20个局域网建造改造事例

20个局域网建造改造事例

网络建立技巧
共20章 | 捷哥CCIE

384人订阅学习

WOT2019全球人工智能技能峰会

WOT2019全球人工智能技能峰会

通用技能、运用领域、企业赋能三大章节,13大技能专场,60+国内外一线人工智能精英大咖站台,共享人工智能的渠道东西、算法模型、语音视觉等技能主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

Spring Boot 爬虫查找轻松游

Spring Boot 爬虫查找轻松游

全栈式开发之旅
共4章 | 美码师

87人订阅学习

读 书 +更多

十分网管——网络服务

本书运用通俗易懂的言语,经过很多的实例,从实践运用的视点动身,全面体系地介绍了网络服务操作体系渠道、电子邮件体系、Web站点和FTP站点...

订阅51CTO邮刊

点击这儿检查样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客