From Fedora Project Wiki
Line 64: Line 64:
=== 从稳定版本升级 ===
=== 从稳定版本升级 ===


大多数情况下,你可以通过 [https://docs.fedoraproject.org/zh_Hans/quick-docs/dnf-system-upgrade/ | DNF 系统升级插件] 完成升级。在升级前你需要确认你已经应用了所以可以应用的更新。
大多数情况下,你可以通过 [https://docs.fedoraproject.org/zh_Hans/quick-docs/dnf-system-upgrade/ DNF 系统升级插件] 完成升级。在升级前你需要确认你已经应用了所以可以应用的更新。


对于使用 rpm-ostree 而不是 DNF 管理软件包的衍生版如 Silverblue,只需变基到 Rawhide 的分支即可,例如 {{filename|fedora:fedora/rawhide/x86_64/silverblue}}。
对于使用 rpm-ostree 而不是 DNF 管理软件包的衍生版如 Silverblue,只需变基到 Rawhide 的分支即可,例如 {{filename|fedora:fedora/rawhide/x86_64/silverblue}}。

Revision as of 08:32, 3 May 2021

Rawhide 是 Fedora 开发版本的代号。这个版本包含了一个叫做 "rawhide" 的 软件源 并且包含所有每天最新构建的 Fedora 软件包。每一天它都会尝试构建一整套的套件(包括安装镜像等等),若构建成功就会被包含在 Rawhide 目录树中。

Rawhide 有时已被称之为 "development" 或者是 "main"(Rawhide 就是基于软件包 Git 储存库的 "main" 分支构建的)。

目标

  • 允许软件包维护者整合最新的可用版本进入 Fedora。
  • 允许高级用户用滚动更新的方式体验到最新的可用软件包。
  • 允许软件包进行一些对于 Fedora 稳定版本来说太小或太大的改变。
  • 在软件包进入 Fedora 稳定版本前发现并修复错误。
  • 提供一个地方来验证(由 FESCo 许可的)底层软件包,使包括但不限于 glibc 和 gcc 软件的预发布版本能在真实环境下进行测试。

Rawhide 适用人群

Rawhide 主要面向高级用户,测试者和软件包维护者。

我们希望您:

  • 愿意每日更新。Rawhide 每天都有上百更新,经常更新会更容易解决问题。
  • 愿意动手解决问题。Rawhide 的内容不少都存在问题,您需要有良好的解决问题素质和娴熟的报告问题能力,如用 DNF 来降级软件包和解决启动失败。
  • 有时间和需求来学习新的功能和变化。因为 Rawhide 的软件包与上游联系密切,菜单、命令及选项都可能随时变化。
  • 经常重启来测试新的内核并确认启动功能是否正常。如果您不能做到,请换用其它更稳定的发行版。
  • 愿意而且可以在发现 bugs 时及时报告至 bugzilla 并帮助维护者修复它们。

如果你无法做到上面这几点,你可能希望尝试 Branched 版本或常规的稳定版本。

使用 Rawhide

本节讲述如何使用 Rawhide。

作为测试系统使用

如果你不希望 Rawhide 影响到你的日常使用体验,你可以:

  • 在 Live 环境下使用 Rawhide。
  • 在虚拟机安装 Rawhide。
  • 作为备用的操作系统,与其它操作系统共存。

安装每日构建版本

Rawhide 每天自动从最新的软件包中生成,生成的目录树包含 Live 安装介质、安装程序树等等。每一个构建都会经过 openQA 的自动化测试,测试结果会发送至 develtest 邮件列表。成功的构建将会被同步到 /fedora/linux/development/ 目录。

要特别注意的是,尽管每个构建都会经过 openQA 的测试,在 Fedora 23 以来 Rawhide 的构建质量有了飞跃性的提高,这并不意味着这些构建真的百分百稳定可用。

接下来,你可以按照 常规安装指南 完成 Rawhide 的安装。

对于 PXE 安装,相关文件可以在 pub/fedora/linux/development/42/Everything/(arch)/os/images/pxeboot 找到。

将安装程序指向 Rawhide

你可以使用稳定版的安装介质并将其指向 Rawhide 来安装 Fedora Rawhide。随着 Rawhide 构建质量的提升,这已经不再是我们推荐的做法了。

当然如果你依然希望尝试:

  1. 下载最新的稳定版或 Branched 版安装介质(网络安装介质或离线 DVD 介质)。
  2. 创建 USB 启动盘 或者 烧录到 DVD 和 CD
  3. 引导安装介质,前往 'Installation Source' 一屏并设置 https://download.fedoraproject.org/pub/fedora/linux/development/42/Everything/x86_64/os/(将 x86_64 替换为合适的架构)。
  4. 完成剩余的安装。

请注意如果 Rawhide 包含当前安装程序不支持的改动,有一定概率会导致安装失败。

从稳定版本升级

大多数情况下,你可以通过 DNF 系统升级插件 完成升级。在升级前你需要确认你已经应用了所以可以应用的更新。

对于使用 rpm-ostree 而不是 DNF 管理软件包的衍生版如 Silverblue,只需变基到 Rawhide 的分支即可,例如 fedora:fedora/rawhide/x86_64/silverblue

请注意 Rawhide 软件包依赖破坏等问题可能会导致升级无法完成。

根据发版节奏,你的系统不一定有 Rawhide 所需的 GPG 公钥。这时升级过程可能无法完成,如果你遇到了这种情况,尝试在 updates-testing 搜索更新:

sudo dnf update fedora-release\* fedora-repos\* fedora-gpg-keys --enablerepo=updates-testing

如果还是不行的话,还可以尝试使用 --releasever=NN 参数而不是 --releasever=rawhide(将 NN 替换为当前 Rawhide 指向的 Fedora 版本号)。作为最后的方法,你可以使用 --nogpgcheck 禁用 GPP 检查,当然这可能为你的系统带来不可预估的风险。

讨论 Rawhide

你可以通过下面的方式与其他 Rawhide 用户和 Fedora 开发者交流:

IRC

你可以加入 #fedora-devel[?]#fedora-qa[?] 频道。

邮件列表

欢迎你订阅 testdevel 邮件列表并加入讨论。

Bugzilla

Rawhide 相关的漏洞应该作为 Fedora 产品,rawhide 版本被报告。报告问题时应该遵守 最佳实践,IRC 和邮件列表都可以帮助你判断某个行为是否是漏洞以及如何报告,但是它们本身并不是报告漏洞的场所。所有漏洞报告都应该提交到 Bugzilla

请注意,如果你遇到被破坏的依赖关系,你应该考虑报告给软件包的维护者,在通常情况下无需在 Bugzilla 报告漏洞,除非问题持续无法得到解决。

构建 Rawhide

如果你是开发者或打包者,请阅读英文版 Rawhide 页面以获取准确的信息。

问与答

Q: Rawhide 会吃掉我的宝宝 / 杀死我的宠物 / 烧掉我的房子 / 炸掉我的电脑吗?

A: 不会,这问题就离谱。

Q: 所以 Rawhide 非常稳定咯?

A: 当然不是,所以我们也在上文提到了 Rawhide 适合什么人使用。一般的用户只建议使用稳定版本。

Q: 我在使用稳定版,我想使用 Rawhide 的某个软件包,我能直接 dnf install 它吗?

A: 不要试图混合多个版本的软件包。作为替代,你可以:

  • 如果政策允许,联系软件包的维护者请求其为稳定版提供更新。
  • 如果政策不允许,COPR 可能提供了新的软件包,可前往了解。
  • 取得新版软件包的 src.rpm 并尝试自行构建它。

Q: 我在使用稳定版,我想使用 Rawhide 的内核,可以吗?

A: 有时可以,你可以尝试使用 DNF 下载安装内核,一旦新的内核出现问题,你可以在引导选单选择旧的内核。注意 Rawhide 的内核通常启用了调试选项,所以它的性能通常比不上稳定版提供的内核。

Q: Rawhide 是滚动更新版本吗?

A: 是的。

Q: Rawhide 到底是每一天的啥时候构建的?

A: 你可以关注 testdevel 邮件列表,里面有每天实时的构建信息。

Q: 我想从 Rawhide 版本返回到 Branched 版本或稳定版,该怎么做?

A: 你可以移除 fedora-repos-rawhide 软件包或禁用 'rawhide' 仓库 (su -c 'dnf config-manager --set-disabled rawhide,rawhide-modular'),启用 'fedora'、'updates' 必要时还有 'updates-testing' 仓库 (su -c 'dnf config-manager --set-enabled fedora,fedora-modular(,updates,updates-modular,updates-testing,updates-testing-modular)') 然后执行 su -c 'dnf --releasever=(version) distro-sync'。注意降级将会导致不可预知的问题,更好的做法是备份个人数据后重装系统。

Q: Rawhide 的软件包有签名吗?

A: 有的。