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 的自动化测试,测试结果会发送至 devel 和 test 邮件列表。成功的构建将会被同步到 /fedora/linux/development/
目录。
要特别注意的是,尽管每个构建都会经过 openQA 的测试,在 Fedora 23 以来 Rawhide 的构建质量有了飞跃性的提高,这并不意味着这些构建真的百分百稳定可用。
接下来,你可以按照 常规安装指南 完成 Rawhide 的安装。
对于 PXE 安装,相关文件可以在 pub/fedora/linux/development/42/Everything/(arch)/os/images/pxeboot
找到。
将安装程序指向 Rawhide
你可以使用稳定版的安装介质并将其指向 Rawhide 来安装 Fedora Rawhide。随着 Rawhide 构建质量的提升,这已经不再是我们推荐的做法了。
当然如果你依然希望尝试:
- 下载最新的稳定版或 Branched 版安装介质(网络安装介质或离线 DVD 介质)
- 创建 USB 启动盘 或者 烧录到 DVD 和 CD
- 引导安装介质,前往 'Installation Source' 一屏并设置
https://download.fedoraproject.org/pub/fedora/linux/development/42/Everything/x86_64/os/
(将 x86_64 替换为合适的架构) - 完成剩余的安装
请注意如果 Rawhide 包含当前安装程序不支持的改动,有一定概率会导致安装失败。
从稳定版本升级
大多数情况下,你可以通过 DNF_system_upgrade 完成升级。在升级前你需要确认你已经应用了所以可以应用的更新。
对于使用 rpm-ostree 而不是 DNF 管理软件包的衍生版如 Silverblue,只需变基到 Rawhide 的分支即可,例如 fedora:fedora/rawhide/x86_64/silverblue
。
请注意 Rawhide 软件包依赖破坏等问题可能会导致升级无法完成。
讨论 Rawhide
你可以通过下面的方式与其他 Rawhide 用户和 Fedora 开发者交流:
IRC
你可以加入 #fedora-devel[?] 和 #fedora-qa[?] 频道。
邮件列表
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: 你可以关注 test 和 devel 邮件列表,里面有每天实时的构建信息。
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: 有的。