标签 Fedora 下的文章

模块化 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 等等。

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


via: https://fedoramagazine.org/installing-alternative-rpm-versions-in-fedora/

作者:Adam Šamalík 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Fedora 30 已经发布了。你可能希望将系统升级到最新版本的 Fedora。Fedora 工作站版本有图形化升级的方法。另外,Fedora 也提供了一个命令行方法,用于将 Fedora 29 升级到 Fedora 30。

将 Fedora 29 工作站版本升级到 Fedora 30

在发布不久后,桌面会显示一条通知告诉你可以升级。你可以单击通知启动 “GNOME 软件” 应用。或者你可以从 GNOME Shell 中选择“软件”。

在 “GNOME 软件” 中选择更新选项卡,你会看到一个页面通知你可以更新 Fedora 30。

如果你在屏幕上看不到任何内容,请尝试点击左上角的重新加载按钮。发布后,所有系统都可能需要一段时间才能看到可用的升级。

选择“下载”获取升级包。你可以继续做其他的事直到下载完成。然后使用 “GNOME 软件” 重启系统并应用升级。升级需要时间,因此你可以喝杯咖啡,稍后再回来。

使用命令行

如果你过去升级过 Fedora 版本,你可能熟悉 dnf upgrade 插件。这是从 Fedora 29 升级到 Fedora 30 的推荐和支持的方式。使用这个插件将使你的 Fedora 30 升级简单易行。

1、更新软件并备份系统

在你执行任何操作之前,你需要确保在开始升级之前拥有 Fedora 29 的最新软件。要更新软件,请使用 “GNOME 软件” 或在终端中输入以下命令。

sudo dnf upgrade --refresh

此外,请确保在继续之前备份系统。关于备份的帮助,请参阅 Fedora Magazine 上的备份系列

2、安装 DNF 插件

接下来,打开终端并输入以下命令来安装插件:

sudo dnf install dnf-plugin-system-upgrade

3、使用 DNF 开始更新

现在你的系统是最新的,完成了备份,并且已安装 DNF 插件,你可以在终端中使用以下命令开始升级:

sudo dnf system-upgrade download --releasever=30

此命令将开始在本地下载所有升级文件以准备升级。如果你因为没有更新包、错误的依赖,或过时的包在升级时遇到问题,请在输入上面的命令时添加 -- allowerasing 标志。这将允许 DNF 删除可能阻止系统升级的软件包。

4、重启并升级

当前面的命令完成下载所有升级文件后,你的系统就可以重启了。要将系统引导至升级过程,请在终端中输入以下命令:

sudo dnf system-upgrade reboot

此后你的系统将重启。在许多版本之前,fedup 工具将在内核选择/引导页面上创建一个新选项。使用 dnf-plugin-system-upgrade 包,你的系统将使用当前 Fedora 29 安装的内核重启。这个是正常的。在内核选择页面后不久,系统开始升级过程。

现在可以休息一下了!完成后你的系统将重启,你就可以登录新升级的 Fedora 30 了。

解决升级问题

升级系统时偶尔可能会出现意外问题。如果你遇到任何问题,请访问 DNF 系统升级的维基页面,以获取有关出现问题时的故障排除的更多信息。

如果你在升级时遇到问题并在系统上安装了第三方仓库,那么可能需要在升级时禁用这些仓库。有关 Fedora 对未提供仓库的支持,请与仓库的提供商联系。


via: https://fedoramagazine.org/upgrading-fedora-29-to-fedora-30/

作者:Ryan Lerch 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

COPR 是个人软件仓库集合,它不在 Fedora 中。这是因为某些软件不符合轻松打包的标准。或者它可能不符合其他 Fedora 标准,尽管它是自由而开源的。COPR 可以在 Fedora 套件之外提供这些项目。COPR 中的软件不被 Fedora 基础设施不支持或没有被该项目所签名。但是,这是一种尝试新的或实验性的软件的一种巧妙的方式。

这是 COPR 中一组新的有趣项目。

CryFS

CryFS 是一个加密文件系统。它设计与云存储一同使用,主要是 Dropbox,尽管它也可以与其他存储提供商一起使用。CryFS 不仅加密文件系统中的文件,还会加密元数据、文件大小和目录结构。

安装说明

仓库目前为 Fedora 28 和 29 以及 EPEL 7 提供 CryFS。要安装 CryFS,请使用以下命令:

sudo dnf copr enable fcsm/cryfs
sudo dnf install cryfs

Cheat

Cheat 是一个用于在命令行中查看各种备忘录的工具,用来提醒仅偶尔使用的程序的使用方法。对于许多 Linux 程序,cheat 提供了来自手册页的精简后的信息,主要关注最常用的示例。除了内置的备忘录,cheat 允许你编辑现有的备忘录或从头开始创建新的备忘录。

安装说明

仓库目前为 Fedora 28、29 和 Rawhide 以及 EPEL 7 提供 cheat。要安装 cheat,请使用以下命令:

sudo dnf copr enable tkorbar/cheat
sudo dnf install cheat

Setconf

setconf 是一个简单的程序,作为 sed 的替代方案,用于对配置文件进行更改。setconf 唯一能做的就是找到指定文件中的密钥并更改其值。setconf 仅提供很少的选项来更改其行为 - 例如,取消更改行的注释。

安装说明

仓库目前为 Fedora 27、28 和 29 提供 setconf。要安装 setconf,请使用以下命令:

sudo dnf copr enable jamacku/setconf
sudo dnf install setconf

Reddit 终端查看器

Reddit 终端查看器,或称为 rtv,提供了从终端浏览 Reddit 的界面。它提供了 Reddit 的基本功能,因此你可以登录到你的帐户,查看 subreddits、评论、点赞和发现新主题。但是,rtv 目前不支持 Reddit 标签。

安装说明

该仓库目前为 Fedora 29 和 Rawhide 提供 Reddit Terminal Viewer。要安装 Reddit Terminal Viewer,请使用以下命令:

sudo dnf copr enable tc01/rtv
sudo dnf install rtv

via: https://fedoramagazine.org/4-cool-new-projects-to-try-in-copr-for-february-2019/

作者:Dominik Turecek 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

最近 Fedora Magazine 中题为 Fedora 28 服务器版的模块化在解释 Fedora 28 中的模块化方面做得很好。它还给出了一些示例模块并解释了它们解决的问题。本文将其中一个模块用于实际应用,包括使用模块安装设置 Review Board 3.0。

入门

想要继续并使用模块,你需要一个 Fedora 28 服务器版并拥有 sudo 管理权限。另外,运行此命令以确保系统上的所有软件包都是最新的:

sudo dnf -y update

虽然你可以在 Fedora 28 非服务器版本上使用模块,但请注意上一篇文章评论中提到的警告

检查模块

首先,看看 Fedora 28 可用的模块。运行以下命令:

dnf module list

输出列出了一组模块,这些模块显示了每个模块的关联的流、版本和可用安装配置文件。模块流旁边的 [d] 表示安装命名模块时使用的默认流。

输出还显示大多数模块都有名为 default 的配置文件。这不是巧合,因为 default 是默认配置文件使用的名称。

要查看所有这些模块的来源,请运行:

dnf repolist

与通常的 fedora 和更新包仓库一起,输出还显示了 fedora-modular 和 updates-modular 仓库。

介绍声明你将设置 Review Board 3.0。也许名为 reviewboard 的模块在之前的输出中引起了你的注意。接下来,要获取有关该模块的一些详细信息,请运行以下命令:

dnf module info reviewboard

根据描述确认它是 Review Board 模块,但也说明是 2.5 的流。然而你想要 3.0 的。查看可用的 reviewboard 模块:

dnf module list reviewboard

2.5 旁边的 [d] 表示它被配置为 reviewboard 的默认流。因此,请明确你想要的流:

dnf module info reviewboard:3.0

有关 reviewboard:3.0 模块的更多详细信息,请添加详细选项:

dnf module info reviewboard:3.0 -v

安装 Review Board 3.0 模块

现在你已经跟踪了所需的模块,请使用以下命令安装它:

sudo dnf -y module install reviewboard:3.0

输出显示已安装 ReviewBoard 以及其他几个依赖软件包,其中包括 django:1.6 模块中的几个软件包。安装还启用了 reviewboard:3.0 模块和相关的 django:1.6 模块。

接下来,要查看已启用的模块,请使用以下命令:

dnf module list --enabled

输出中,[e] 表示已启用的流,[i] 表示已安装的配置。对于 reviewboard:3.0 模块,已安装默认配置。你可以在安装模块时指定其他配置。实际上,你仍然可以安装它,而且这次你不需要指定 3.0,因为它已经启用:

sudo dnf -y module install reviewboard/server

但是,安装 reviewboard:3.0/server 配置非常平常。reviewboard:3.0 模块的服务器配置与默认配置文件相同 —— 因此无需安装。

启动 Review Board 网站

现在已经安装了 Review Board 3.0 模块及其相关软件包,创建一个本地运行的 Review Board 网站。无需解释,请复制并粘贴以下命令:

sudo rb-site install --noinput \
    --domain-name=localhost --db-type=sqlite3 \
    --db-name=/var/www/rev.local/data/reviewboard.db \
    --admin-user=rbadmin --admin-password=secret \
    /var/www/rev.local
sudo chown -R apache /var/www/rev.local/htdocs/media/uploaded \
    /var/www/rev.local/data
sudo ln -s /var/www/rev.local/conf/apache-wsgi.conf \
    /etc/httpd/conf.d/reviewboard-localhost.conf
sudo setsebool -P httpd_can_sendmail=1 httpd_can_network_connect=1 \
    httpd_can_network_memcache=1 httpd_unified=1
sudo systemctl enable --now httpd

现在启动系统中的 Web 浏览器,打开 http://localhost,然后享受全新的 Review Board 网站!要以 Review Board 管理员身份登录,请使用上面 rb-site 命令中的用户 ID 和密码。

模块清理

完成后清理是个好习惯。为此,删除 Review Board 模块和站点目录:

sudo dnf -y module remove reviewboard:3.0
sudo rm -rf /var/www/rev.local

总结

现在你已经探索了如何检测和管理 Review Board 模块,那么去体验 Fedora 28 中提供的其他模块吧。

Fedora 模块化网站上了解有关在 Fedora 28 中使用模块的更多信息。dnf 手册页中的 module 命令部分也包含了有用的信息。


via: https://fedoramagazine.org/working-modules-fedora-28/

作者:Merlin Mathesius 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

什么是模块化

所有开源发行版都面临的一个经典难题是“太快/太慢”的问题。用户安装操作系统是为了能够使用其应用程序。像 Fedora 这样的全面的发行版在大量可用软件方面有其优势和劣势。虽然有用户想要的软件包,但可能无法使用其所需的版本。以下是 模块化 Modularity 如何帮助解决该问题。

对于某些用户,Fedora 有时升级得太快。其快速发布周期以及尽可能提供最新稳定软件的愿望可能导致与应用程序的兼容性下降。如果因为 Fedora 将 Web 框架升级为不兼容的版本而导致用户无法运行 Web 应用程序,则会非常令人沮丧。对“太快”问题的经典回答是“Fedora 应该有一个 LTS 版本。”然而,这种方法只能解决问题的一半,并使这个难题的另一面变得更糟。

有时候 Fedora 对某些用户而言又升级速度太慢。例如,Fedora 的发布可能与其它想要的软件的发布时间不匹配。一旦 Fedora 版本宣布稳定,打包者必须遵守 稳定更新政策 并且不能在系统中引入不兼容的更改。

Fedora 的模块化从两个方面解决了这个问题。Fedora 仍将根据其传统政策发布标准版本。但是,它还将提供一组模块给出流行软件的限定替代版本。那些处于“太快”阵营的人仍然可以享受 Fedora 的新内核和其它通用平台增强功能。此外,他们仍然可以访问支持其应用程序的旧框架或工具链。

此外,那些喜欢更新潮一些的用户可以访问比发布时更新的软件。

模块化不是什么?

模块化不是 软件集合 Software Collections 的直接替代品。这两种技术试图解决许多相同的问题,但有明显的差异。

软件集合可以在系统上并行安装不同版本的软件包。但是,它们的缺点是每份安装包都存在于文件系统上的它们自己的命名空间里面。此外,需要告诉每个依赖它们的应用程序在哪里找到它们。

使用模块化,系统上只存在一个版本的软件包,但用户可以选择哪个版本。优点是该版本位于系统的标准位置。该程序包不需要对依赖它的应用程序进行特殊更改。来自用户研究的反馈表明,大多数用户实际上并不依赖于并行安装。容器化和虚拟化解决了这个问题。

为什么不干脆使用容器化?

这是另一个常见问题。为什么用户在可以使用容器时还需要模块?答案是,人们仍然需要维护容器中的软件。 模块为那些用户不需要自己维护、更新和修补的容器提供预打包的内容。这就是 Fedora 如何利用发行版的传统价值并将其转移到新的容器化的世界。

以下是模块化如何为 Node.js 和 Review Board 的用户解决问题的示例。

Node.js

许多读者可能熟悉 Node.js,这是一个流行的服务器端 JavaScript 运行时环境。Node.js 采用偶数/奇数版本策略。它的社区支持偶数版本(6.x、8.x、10.x 等)约 30 个月。同时,他们也支持奇数版本,基本上是 9 个月的开发者预览版。

由于这个周期的原因,Fedora 在其稳定的仓库中只携带最新的偶数版本的 Node.js。它完全避免了奇数版本,因为它们的生命周期比 Fedora 短,并且通常与 Fedora 发布周期不一致。对于一些希望获得最新和最大增强功能的 Fedora 用户来说,这并不合适。

由于模块化,Fedora 28 不是提供了一个版本,而是提供了三个版本的 Node.js,以满足开发人员和稳定部署的需求。Fedora 28 的传统仓库带有 Node.js 8.x。此版本是发布时最新的长期稳定版本。模块仓库(默认情况下在 Fedora 28 Server 版本上可用)也使得更旧的 Node.js 6.x 版本和更新的 Node.js 9.x 开发版本可用。

另外,Node.js 在 Fedora 28 之后几天发布了 10.x 上游版本。过去,想要部署该版本的用户必须等到 Fedora 29,或者使用来自 Fedora 之外的源代码。但是,再次感谢模块化,Node.js 10.x 已经在 Fedora 28 的 Modular Updates-Testing 仓库中 可用 了。

Review Board

Review Board 是一个流行的 Django 应用程序,用于执行代码审查。Fedora 从 Fedora 13 到 Fedora 21 都包括了 Review Board。此时,Fedora 转移到了 Django 1.7。由于 Django 数据库支持的向后兼容性在不断变化,而 Review Board 无法跟上。它在 RHEL / CentOS 7 的 EPEL 仓库中仍然存在,而仅仅是因为这些发行版的版本幸运地被冻结在 Django 1.6上。尽管如此,它在 Fedora 的时代显然已经过去了。

然而,随着模块化的出现,Fedora 能够再次将旧的 Django 作为非默认模块流发布。因此,Review Board 已作为一个模块在 Fedora 上恢复了。Fedora 承载了来自上游的两个受支持的版本:2.5.x 和 3.0.x。

组合在一起

Fedora 一直为用户提供非常广泛的软件使用。Fedora 模块化现在为他们所需的软件版本提供了更深入的选择。接下来的几年对于 Fedora 来说将是非常令人兴奋的,因为开发人员和用户可以以新的和令人兴奋的(或旧的和令人兴奋的)方式组合他们的软件。


via: https://fedoramagazine.org/working-modules-fedora-28/

作者:Stephen Gallagher 选题:wxy 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们最近采访了Akash Angle 来了解他如何使用 Fedora。这是 Fedora Magazine 上 Fedora 系列的一部分。该系列介绍 Fedora 用户以及他们如何使用 Fedora 完成工作。请通过反馈表单与我们联系表达你对成为受访者的兴趣。

Akash Angle 是谁?

Akash 是一位不久前抛弃 Windows 的 Linux 用户。作为一名过去 9 年的狂热 Fedora 用户,他已经尝试了几乎所有的 Fedora 定制版和桌面环境来完成他的日常任务。是一位校友给他介绍了 Fedora。

使用什么硬件?

Akash 在工作时使用联想 B490。它配备了英特尔酷睿 i3-3310 处理器和 240GB 金士顿 SSD。Akash 说:“这台笔记本电脑非常适合一些日常任务,如上网、写博客,以及一些照片编辑和视频编辑。虽然不是专业的笔记本电脑,而且规格并不是那么高端,但它完美地完成了工作。“

他使用一个入门级的罗技无线鼠标,并希望能有一个机械键盘。他的 PC 是一台定制桌面电脑,拥有最新的第 7 代 Intel i5 7400 处理器和 8GB Corsair Vengeance 内存。

使用什么软件?

Akash 是 GNOME 3 桌面环境的粉丝。他喜欢该操作系统为完成基本任务而加入的华丽功能。

出于实际原因,他更喜欢全新安来升级到最新 Fedora 版本。他认为 Fedora 29 可以说是最好的工作站。Akash 说这种说法得到了各种科技传播网站和开源新闻网站评论的支持。

为了播放视频,他的首选是打包为 Flatpak 的 VLC 视频播放器 ,它提供了最新的稳定版本。当 Akash 想截图时,他的终极工具是 Shutter,Magazine 曾介绍过。对于图形处理,GIMP 是他不能离开的工具。

Google Chrome 稳定版和开发版是他最常用的网络浏览器。他还使用 Chromium 和 Firefox 的默认版本,有时甚至会使用 Opera。

由于他是一名资深用户,所以 Akash 其余时候都使用终端。GNOME Terminal 是他使用的一个终端。

最喜欢的壁纸

他最喜欢的壁纸之一是下面最初来自 Fedora 16 的壁纸:

这是他目前在 Fedora 29 工作站上使用的壁纸之一:


via: https://fedoramagazine.org/akash-angle-how-do-you-fedora/

作者:Adam Šamalík 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出