From Fedora Project Wiki
 
(24 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{autolang}}
{{autolang}}


Rawhide 是 Fedora 开发版本的代号。这个版本包含了一个叫做 "rawhide" 的源并且包含所有每天最新构建的 Fedora 软件包。Nightly builds are also available during the early portion of the [[Fedora Release Life Cycle]].
Rawhide 是 Fedora 开发版本的代号。这个版本包含了一个叫做 "rawhide" [[Repositories|软件源]] 并且包含所有每天最新构建的 Fedora 软件包。每一天它都会尝试构建一整套的套件(包括安装镜像等等),若构建成功就会被包含在 Rawhide 目录树中。


== 什么样的人适合使用 Rawhide? ==
Rawhide 有时已被称之为 "development" 或者是 "main"(Rawhide 就是基于软件包 Git 储存库的 "main" 分支构建的)。


{{admon/caution|''普通用户不应该使用 Rawhide 版本作为日常工作版本。''}}
== 目标 ==
由于 Rawhide 是一个有关开发的版本分支,许多变更在发布到 Rawhide 时尚未得到大量测试(甚至就没有测试),并且 Rawhide 中的软件包可能会让系统无法正常工作。甚至有可能造成您的数据的丢失。不过,测试 Rawhide 是一项十分有价值也很有趣的工作,因为这将帮助 Fedora 的开发并确保最后稳定版的质量。您应该从 [http://alt.fedoraproject.org/pub/alt/nightly-composes/ 每日实时构建版下载页面] 尝试 Rawhide 或者 [[Releases/Branched|Branched]] (取决于 [[Releases/{{FedoraVersion||next}}/Schedule|发行周期]]) 而无需安装。如果您不想这么做,也可以找剩余空间来安装,或做双系统安装,以及虚拟机体验等等。


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


After the release of the previous final release, but before the [[Releases/{{FedoraVersion||next}}|Branch event]], [http://alt.fedoraproject.org/pub/alt/nightly-composes/ nightly builds] will be composed of Rawhide packages.  These are built automatically without manual tweaking or testing, so they will sometimes be beyond the size of a single CD, and sometimes may not work at all. If there is a bug in the generation toolchain, the images may not be built on a given night; in this case, the most recent image will remain available. Using these nightly builds is an ideal way to test Rawhide if you have no spare machine or partition available, or simply do not have the time to maintain a Rawhide installation. It's a very safe way to test, since it will make no changes to your installed system.  You can also install Rawhide to your hard drive from the Live desktop if the Live image is working well for you.  During the rest of the release cycle, daily builds will contain [[Releases/Branched|Branched]] content, and you must use a repository to install Rawhide - though you can build a custom spin using Revisor if you need to test a Live distribution.
== Rawhide 适用人群 ==


访问 [[FedoraLiveCD]] 以了解更多。
Rawhide 主要面向高级用户,测试者和软件包维护者。


== 安装 Rawhide ==
我们希望您:


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


=== 使用包含 Rawhide 的镜像源 ===
如果你无法做到上面这几点,你可能希望尝试 [[Releases/Branched|Branched]] 版本或常规的稳定版本。


Rawhide 在 "development/rawhide" 目录下。您可以在 [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ 这里]找到您附近包含 "development" 目录的镜像。 继续阅读以了解如何安装。
== 使用 Rawhide ==


=== 如何不影响已安装的系统 ===
本节讲述如何使用 Rawhide。


有几种测试 Rawhide 的方式:
=== 作为测试系统使用 ===
# 用 CD, DVD 或 USB 驱动器来测试。
#* 有关刻录 CD 或 DVD,请见 [http://docs.fedoraproject.org/readme-burning-isos/ 刻录指南]。
#* 有关写入至 USB 驱动器,请见 [[How to create and use Live USB]]。
#* 如果您使用启用永久储存的 LiveUSB,您可以使用下文描述的 "yum update" 方法来获取最新的 Rawhide RPM ([https://bugzilla.redhat.com/show_bug.cgi?id=446935 除了内核])。注意您也可能需要安装 'fedora-release-rawhide' 包并启用 rawhide 源。不过,下载每日实时构建版是最好的选择。
# 使用虚拟机。请见 [[Testing/qemu]]。
# 安装到独立的分区中。


=== 通过 Anaconda 安装 Rawhide ===
如果你不希望 Rawhide 影响到你的日常使用体验,你可以:


Anaconda 是 Fedora 的安装器。它可被直接启动,无需运行 Live 环境。
* 在 Live 环境下使用 Rawhide。
* 在虚拟机安装 Rawhide。
* 作为备用的操作系统,与其它操作系统共存。


==== 通过 BFO (boot.fedoraproject.org) ====
=== 安装每日构建版本 ===


您可以使用从 BFO 获取的安装文件,通过 yum distro-sync 完成预安装。BFO 镜像文件是一个让您进入安装环境的非常小的文件。
Rawhide 每天自动从最新的软件包中生成,生成的目录树包含 Live 安装介质、安装程序树等等。每一个构建都会经过 [https://openqa.fedoraproject.org openQA] 的自动化测试,测试结果会发送至 {{fplist|devel}} 和 {{fplist|test}} 邮件列表。成功的构建将会被同步到 {{filename|/fedora/linux/development/}} 目录。


# 下载 BFO 启动介质: http://boot.fedoraproject.org/download
要特别注意的是,尽管每个构建都会经过 openQA 的测试,在 Fedora 23 以来 Rawhide 的构建质量有了飞跃性的提高,这并不意味着这些构建真的百分百稳定可用。
# 启动,选择 Installation 或 Pre-Release。选择您想使用的最新的安装器。
# 运行最小化安装。
# 预安装,通过 yum distro-sync:
<pre>
# yum install fedora-release-rawhide
# yum --releasever=rawhide distro-sync
</pre>


==== 使用标准 ISO ====
接下来,你可以按照 [https://docs.fedoraproject.org/en-US/fedora/rawhide/install-guide/ 常规安装指南] 完成 Rawhide 的安装。


您可以使用每个正式发布版本的 Anaconda 安装器进行安装,目前最新版本是 Fedora {{FedoraVersion}}。通过这种方式,您将会使用一个稍微旧一些但是不会有安装问题的安装程序完成您的 Rawhide 安装。
对于 PXE 安装,相关文件可以在 {{filename|pub/fedora/linux/development/{{#ifeq:{{{release|}}}|Rawhide|rawhide|{{FedoraVersionNumber|next}}}}/Everything/(arch)/os/images/pxeboot}} 找到。


; 选项 1 - 使用已下载好的一份拷贝
=== 将安装程序指向 Rawhide ===
: 如果您手头已经有一个可自启动的 CD、DVD、USB,或者是包含  *-DVD.iso 或 *-disc1.iso 的磁盘驱动器,那么就可以使用它来完成您的 Rawhide 安装。不过如果您没有上述的任何一项,那么不推荐您通过该方式安装。因为您想安装 Rawhide 而不是正式版。请看 [http://docs.fedoraproject.org/install-guide/f12/en-US/html/ch-new-users.html#sn-howto-download 这里] 了解如何下载拷贝。请不要使用 Live 镜像,因为它无法完成安装。 


; 选项 2 - 下载最小化安装程序
你可以使用稳定版的安装介质并将其指向 Rawhide 来安装 Fedora Rawhide。随着 Rawhide 构建质量的提升,这已经不再是我们推荐的做法了。
: 如果您需要制作一个可自启动的 CD、DVD、USB,或者是硬驱动器,最好的方法就是下在最小化的 boot.iso 安装程序并通过网络获取安装需要的 RPM。这跟 *-netinst.iso(例如 Fedora-{{FedoraVersion|long}}-i386-netinst.iso)一样。
: 获取方法:
: * 前往 http://download.fedoraproject.org/ - 您会被自动跳转到离您最近的镜像。
: * 进入 releases/{{FedoraVersion}}/Fedora 目录。
: * Choose the directory for your architecture (i386, x86_64, or ppc - [http://docs.fedoraproject.org/install-guide/f{{FedoraVersion}}/en-US/html/ help available]), then find os/images/boot.iso and download it.
: * Create a bootable CD, DVD, USB media, or hard drive partition following the instructions [http://docs.fedoraproject.org/install-guide/f12/en-US/html/ch-new-users.html#sn-making-media here] using your newly downloaded boot.iso file.  You can use the livecd-iso-to-disk method described there even though boot.iso is not a Live image, and it should also work on hard drive partitions, not just USB media.


; 选项 3 - 没有启动介质的纯网络安装
当然如果你依然希望尝试:
: [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/ap-medialess-install.html 完整安装指南见此]


; 执行上述3个选项后需要做的事情
# 下载最新的稳定版或 Branched 版安装介质(网络安装介质或离线 DVD 介质)。
# [https://docs.fedoraproject.org/en-US/quick-docs/creating-and-using-a-live-installation-image/index.html 创建 USB 启动盘] 或者 [https://docs.fedoraproject.org/en-US/fedora/f{{FedoraVersionNumber}}/install-guide/install/Preparing_for_Installation/#_creating_a_boot_cd_or_dvd 烧录到 DVD 和 CD]。
# 引导安装介质,前往 'Installation Source' 一屏并设置 {{filename|https://download.fedoraproject.org/pub/fedora/linux/development/{{#ifeq:{{{release|}}}|Rawhide|rawhide|{{FedoraVersionNumber|next}}}}/Everything/x86_64/os/}}(将 x86_64 替换为合适的架构)。
# 完成剩余的安装。


: 启动安装程序,然后按照屏幕提示继续。[http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/s1-pkgselection-x86.html 软件包组选择]。反选所有 {{FedoraVersion|long|current}} 的软件源,[http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/s1-pkgselection-x86.html#sn-additional-repos 手动添加 rawhide 源]。从 [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ 这里] 获取可用的 rawhide 源。
请注意如果 Rawhide 包含当前安装程序不支持的改动,有一定概率会导致安装失败。


; 选项 4 - 安装时无网络环境
=== 从稳定版本升级 ===
: 如果是这样,您需要从 [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ Rawhide 镜像源] 下载 Rawhide (development) 目录,并使用 [http://docs.fedoraproject.org/install-guide/ 安装指南]中指出的硬驱动器方式安装。如果您认为麻烦可以选择本页列出的其它方式。


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


{{admon/note|时间决定一切|此方法只在 {{FedoraVersion|long}} 发布后和 {{FedoraVersion|long|next}} 发布分支版本前有效。请访问 [[Releases/{{FedoraVersion||next}}/Schedule| {{FedoraVersion|long|next}} 发行计划]] 了解准确时间。一旦被分支,请查看 [[Releases/Branched|被分支]] 页面的介绍。}}
对于使用 rpm-ostree 而不是 DNF 管理软件包的衍生版如 Silverblue,只需变基到 Rawhide 的分支即可,例如 {{filename|fedora:fedora/rawhide/x86_64/silverblue}}


{{admon/note|Presence and viability of nightly images not guaranteed|The nightly images are built by a script with little human intervention. As generating an entire bootable and installable Fedora image is a fairly complex operation which requires a rather large subset of packages to be present, functional, and interoperable, they will quite often fail to install correctly, fail to boot, or fail to compose at all: you cannot rely on a recent image being available, or any given image actually providing a usable installation. This is quite normal.}}
请注意 Rawhide 软件包依赖破坏等问题可能会导致升级无法完成。


# Download a daily Live image (.iso) from http://alt.fedoraproject.org/pub/alt/nightly-composes/
根据发版节奏,你的系统不一定有 Rawhide 所需的 GPG 公钥。这时升级过程可能无法完成,如果你遇到了这种情况,尝试在 updates-testing 搜索更新:
# Follow the steps at [[How to create and use Live USB]] or [[How to create and use a Live CD]] to prepare and boot from the image you select.
# Log in and double click the ''Install to Hard Drive'' icon on the desktop.
# Follow the on-screen instructions to complete the installation.


=== Yum update from a stable release or pre-release ===
<pre>sudo dnf update fedora-release\* fedora-repos\* fedora-gpg-keys --enablerepo=updates-testing</pre>


As an alternative to a direct installation of Rawhide, you can install an existing stable release or pre-release and try to upgrade to Rawhide using yum. When a pre-release is available, Rawhide corresponds to the '''following''' release: when Fedora {{FedoraVersionNumber}} Alpha is available, the Rawhide repositories contains what will become Fedora {{FedoraVersionNumber|next}}. As with any method of installing Rawhide, success is not guaranteed. If you cannot get a direct installation to work, the yum method may work; on the other hand, if you cannot get a yum upgrade to work, try the direct installation method (above) instead.
如果还是不行的话,还可以尝试使用 `--releasever=NN` 参数而不是 `--releasever=rawhide`(将 `NN` 替换为当前 Rawhide 指向的 Fedora 版本号)。作为最后的方法,你可以使用 `--nogpgcheck` 禁用 GPP 检查,当然这可能为你的系统带来不可预估的风险。


It is generally best to start from the most recent release available, even if this is a pre-release: only use a stable release if no pre-release of the following version is yet available, or you cannot get the pre-release to install.
== 讨论 Rawhide ==


If a test release or "pre-release" (Alpha or Beta) is currently available, you can download it [http://fedoraproject.org/get-prerelease here]. Otherwise, you can download the latest stable release [http://fedoraproject.org/get-fedora here].
你可以通过下面的方式与其他 Rawhide 用户和 Fedora 开发者交流:


You may run into dependency problems which could take time and manual effort to resolve: if the upgrade refuses to proceed, look carefully at the errors yum reports and consider appropriate action (often, you need to remove a few problematic packages to let the rest of the system update). Remember that Rawhide installations in general may need to be wiped and re-installed from scratch at any time.
=== IRC ===


You can upgrade to the rawhide repository one of two ways. The most reliable is to use the command line method from a console; this avoids the case where an update causes the X server to crash or restart, killing the yum process in mid-upgrade as a consequence. The results of this case are usually sub-optimal.
你可以加入 {{fpchat|#fedora-devel}} 和 {{fpchat|#fedora-qa}} 频道。


==== 图形界面 ====
=== 邮件列表 ===


以 GNOME 桌面和 gnome-packagekit 为例 - 其他桌面请自行找类似程序:
欢迎你订阅 {{fplist|test}} 和 {{fplist|devel}} 邮件列表并加入讨论。


# 在 ''添加/删除程序'' ({{command|gpk-application}}),安装 {{package|fedora-release-rawhide}}
=== Bugzilla ===
# 下一步,使用 ''软件设置'' ({{command|gpk-prefs}}) 修改软件源
#* '''仅''' 启用 ''Fedora - Rawhide'' 源
# 最后使用软件更新开始更新 ({{command|gpk-update-viewer}})


==== 命令行 ====
Rawhide 相关的漏洞应该作为 ''Fedora'' 产品,''rawhide'' 版本被报告。报告问题时应该遵守 [[BugsAndFeatureRequests|最佳实践]],IRC 和邮件列表都可以帮助你判断某个行为是否是漏洞以及如何报告,但是它们本身并不是报告漏洞的场所。所有漏洞报告都应该提交到 [http://bugzilla.redhat.com Bugzilla]。
<pre>
首先请使用 yum-config-manager --disable 来禁用所有非 'fedora-rawhide' 源,然后:
# yum --releasever=rawhide install fedora-release-rawhide
# yum --releasever=rawhide distro-sync
</pre>


某些情况下可能需要您手工禁用 gpg 签名检查功能。加上选项 ''<code>--nogpgcheck</code>'' 即可。
请注意,如果你遇到被破坏的依赖关系,你应该考虑报告给软件包的维护者,在通常情况下无需在 Bugzilla 报告漏洞,除非问题持续无法得到解决。


如果您启用了某些第三方源,上述操作可能会失败,这是由于在这些源中没有 'Rawhide' 分支。这种情况下,请您手动禁用它们。
== 构建 Rawhide ==


如果您无法安装 fedora-release-rawhide,您可以直接下在 RPM 安装,包位于:<code>development/rawhide/<arch>/os/Packages/</code> (例如:<code>wget http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/i386/os/Packages/f/fedora-release-{{FedoraVersionNumber|next}}-0.2.noarch.rpm</code>)
如果你是开发者或打包者,请阅读英文版 [[Releases/Rawhide|Rawhide]] 页面以获取准确的信息。


== 测试 Rawhide ==
== 问与答 ==


所有 Rawhide 的测试者需要做几件事。首先请阅读 {{fplist|test}} 邮件列表,所有 Rawhide 讨论都在这里。You'll find discussion of significant changes and warnings of severe breakage here. Reading test-list daily is key to staying on top of Rawhide. Secondly, report all the bugs you find in Rawhide to [http://bugzilla.redhat.com Bugzilla]. Remember to file bugs according to these [[BugsAndFeatureRequests|best practices]]. Please remember that bugs should always be filed in Bugzilla. Reporting bugs on the mailing list or IRC is not sufficient, as these reports rapidly become lost in history. Only on Bugzilla will they always be accessible to other testers and to the developers.
'''Rawhide 会吃掉我的宝宝 / 杀死我的宠物 / 烧掉我的房子 / 炸掉我的电脑吗?'''


Beyond that, here is some general advice which may be of use in using Rawhide:
: 不会,这问题就离谱,也请不要再向别人传播这种神奇的思想了。


* Approach the test release as a valuable chance to learn more about your system. There is a good chance you will run into some bugs in subsystems or components that you are unfamiliar with as part of the testing process. Use this an opportunity to learn more about that particular subsystem and become familiar with its documentation. Even documentation has bugs, by following up and trying to learn from the documentation you might be able to help clean up badly worded or out of date documentation as well. The more you learn, the more effective you will be in the future if you participate in the development process again. Be as proactive as you can about reading about how things work and you will have a much more valuable experience overall.
'''所以 Rawhide 非常稳定咯?'''
* When using yum, take the time to review the list of package actions before you proceed. Don't disable the review step.
* Become familiar with the ''/var/log/rpmpkgs'' and ''/var/log/yum.log'' log files.
* Get a notebook and make notes about system configuration changes you make. Many problems can be traced to simple configuration errors, but can appear as package update bugs. When working with other testers to confirm the problem, make notes as to the other changes you have made since the last update/reboot can be invaluable in tracing the problem down accurately.
* Keep at least one older kernel that you are confident works as expected.
* Reboot daily, to test to see if any of your updates have affected startup. Its much more difficult to track down a boot up problem that was caused by an old update if you are updating daily but have not rebooted.
* Become familiar with useful grub features for troubleshooting boot up failures.
* Don't force or ''nodeps'' any package to work around dependency problems. Instead, report them as bugs or to test-list. If no-one reports these problems, they will never get fixed, and will persist into stable releases.
* Because the development tree is not guaranteed to be internally consistent every day, you will frequently see ''yum update'' fail with errors. Don't Panic, most dependency problems will be fixed by the developers in one or two days - sometimes simply by requesting more package rebuilds. If you see a dependency problem with ''yum update'' on your system for several days in a row, and see no discussion of it on test-list, see below to decide how you should report it or if a report is necessary.
* If there is one error (such as a package depending on an old library) holding you back from a full Rawhide update, you can use ''yum update --skip-broken'' to update all other packages. However, make sure the error has been reported to the maintainer of the offending package.
* You might need to disable GPG checking in /etc/yum.conf or the fedora-devel repository in /etc/yum.repos.d if packages are incorrectly signed.


=== 如何报告更新问题 ===
: 当然不是,所以我们也在上文提到了 Rawhide 适合什么人使用。一般的用户只建议使用稳定版本。


A daily build report of the development tree sent to the fedora-test-list every morning as part of the automated push of packages out to the publicly accessible trees. The daily report contains information about new, removed and updated packages. It also contains a summary of known dependency problems for each arch for which the development tree is built. If you experience any problems updating against the development tree the first thing you should review is the last two or three build reports. If you are seeing a dependency problem summarized in the latest build report, you can be sure the developers are aware of the problem.  Package maintainers receive daily emails when their packages are on this list.
'''我在使用稳定版,我想使用 Rawhide 的某个软件包,我能直接 {{command|dnf install}} 它吗?'''


Note that the broken dependency list, which is part of the daily rawhide reports, only provides the first layer of dependencies and not the entire list, this saves build time.  Unlisted packages might also be affected, but fixed when one or more of the listed packages are rebuilt.
: 不要试图混合多个版本的软件包。作为替代,你可以:


If, however, the problem lingers longer than a few days on your system, and the problem package is not listed in the daily report, that could be an indication that you have run into a situational bug that not everyone is seeing. This is when you can spring into action as a tester and make a difference. But, before you file a new bug report there is a short recipe you can follow to avoid filing unnecessarily. Please remember that test releases exist primarily to help the developers identify problems so they can be fixed in time for release. Unfortunately, reactionary bug filing of duplicate or well known issues can take developer time away from actually fixing issues.
: * 如果政策允许,联系软件包的维护者请求其为稳定版提供更新。
: * 如果政策不允许,[http://copr.fedoraproject.org/ COPR] 可能提供了新的软件包,可前往了解。
: * 取得新版软件包的 src.rpm 并尝试自行构建它。


# Read fedora-test-list: Go back into your archives or the web archives for fedora-test-list and read over the threads for the last 48 hours and see if there has been any discussion about the specific update errors you have been seeing. Generally, these sorts of errors are seen by most everyone with similar hardware, so there's a very good chance that other testers are already discussing it. Please don't post a new post to fedora-test-list until after you have reviewed the last 48 hours worth of posts. Having multiple discussions about the same issue is a drain on other testers and developers.
'''我在使用稳定版,我想使用 Rawhide 的内核,可以吗?'''
# Search [http://bugzilla.redhat.com Bugzilla]: Search to see if there are any reports about the update issue you have seen.
# Drop a note into fedora-test-list: Please start a new thread only after you have attempted to find a previous discussion of this problem in the test-list or in bugzilla. Other testers can help you confirm the problem. If they can't confirm it they can help you determine if its a configuration problem or user error on your part. The test-list is a great way to obtain assistance from other more experienced testers, but please do what you can to use the archives responsibly to avoid duplication of information and discussion.
# File a new bug report: If the exact nature of the dependency problem during updating is lingering for several days, or if the problem seems specialized to your situation and it doesn't appear that the developer is aware of this problem, file a new bug. If you are unsure how to file, experienced testers in fedora-test-list can make suggestions. Please don't assume its a yum bug. Most dependency issues are packaging bugs in one of the packages detailed in the error messages.


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


Rawhide 每天自动从最新的软件包中生成。头一天构建的软件通常第二天会出现在 rawhide 源中。原理上构建过程会完成于美国东部时间午夜 0400/0500 UTC。
'''Rawhide 是滚动更新版本吗?'''


=== 什么叫做 Rawhide "push"? ===
: 见仁见智吧,不过 Rawhide 确实是滚动发行版。


一个 Rawhide push 简单来讲就是一个每天会自动生成的 Rawhide 定制版。如果偶然这个 push 坏了,系统会生成更多的 push。
'''Rawhide 到底是每一天的啥时候构建的?'''


=== 如何报告发现的 Rawhide 问题? ===
: 你可以关注 {{fplist|test}} 和 {{fplist|devel}} 邮件列表,里面有每天实时的构建信息。


通过 {{fplist|test}} 邮件列表或 {{fpchat|#fedora-qa}} IRC  频道。如果是 bug,请报告至 [http://bugzilla.redhat.com Bugzilla],注意对应版本为 rawhide。
'''新的 [[Releases/Branched|Branched]] 版本分离是否会影响我的 Rawhide 安装?'''


=== 如何获知 Rawhide 的变动? ===
: 是不会有影响的,你会继续待在 Rawhide 上。


每天所有变动都会通过邮件发送至 {{fplist|test}} 和 {{fplist|devel}} 邮件列表,主题叫做 ''''rawhide report: <date> changes''''。
'''我想从 Rawhide 版本返回到 [[Branched]] 版本或稳定版,该怎么做?'''
这些报告会包含被添加/被移除/被更新(附带更新日志)的软件包,还会伴随一个问题损坏依赖关系列表。


一些有用的资源:
: 降级将会导致不可预知的问题,最好的做法是备份个人数据后重装系统,如果你使用 Btrfs 文件系统最少也要建立一个快照。
* http://git.fedoraproject.org/
 
* https://fedorahosted.org/
: 一个比较好的降级时机是 [[Releases/Branched|Branched]] 版本刚刚被分离出来的时候,如果你能非常及时地切换过去,这个时候 Branched 和 Rawhide 的差别会是非常小的。如果没有把握住时机,或者是打算直接降级到目前的稳定版本或更旧的版本,风险则会成倍增加。
 
: 你可以尝试使用 DNF 系统升级插件来执行降级。由于 Rawhide 使用的软件源跟其它版本使用的软件源不一样,你可能需要在下载阶段禁用 Rawhide 的软件源并重新启用适用于普通版本的软件源。所以降级使用的命令大概会是这样子的(将 `NN` 替换为目标版本号):
 
: <pre>sudo dnf system-upgrade download --releasever=NN --disablerepo='rawhide,rawhide-modular' --enablerepo='fedora,fedora-modular,updates,updates-modular'</pre>
 
: 我们只会检查升级过程中是否会出现依赖问题,但我们不会对降级进行检查,因此你很有可能遇到破坏的依赖关系。在这种情况下,你可以尝试跳过损坏的包或删除有问题的包。如果这样子也解决不了你的问题,你可能也只能自认倒霉了。
 
'''Rawhide 的软件包有签名吗?'''
 
: 有的。
 
== 提示 ==
 
* 当你遇到了问题,别忘了妥善利用包管理器的各项功能以帮助你诊断问题,例如:
** {{command|dnf downgrade}}
** {{command|dnf history}}
** {{command|dnf update --skip-broken}}
** {{command|koji download-build}}
 
* 如果你在使用 Silverblue 或 Kinoite,别忘了妥善利用 OSTree 的各项功能,例如:
** {{command|rpm-ostree rollback}}
** {{command|ostree admin config-diff}}
** {{command|ostree admin pin 0}}
 
* 你应该经常更新你的系统,最好是每天一次,这样子有利于更快速地定位问题。
 
* 你应该经常重启系统,最好一有内核更新就重启。这样子才可以对启动流程进行全面的测试,并使用新版的内核。我们还建议你对 Dracut 排错流程有所了解。
 
* 订阅 {{fplist|test}} 和 {{fplist|devel}} 邮件列表,升级系统前都去看看,特别是和 '[rawhide]' 相关的话题和报告。如果你遇到了什么问题却不知道报告到什么地方,也可在上面发送邮件。
 
* Rawhide 的内核通常在构建时启用不同的调试选项,这将导致性能下降和资源使用增加。请参阅 [[KernelDebugStrategy | 这篇文章]] 以了解具体启用的选项有哪些。你可以在 {{filename|/etc/default/grub}} 添加 "slub_debug=-" 参数以禁用 SLUB 调试(别忘了重新生成 GRUB 配置)。要想使用关闭调试的内核,可以使用 [[RawhideKernelNodebug|Rawhide Kernel Nodebug]] 仓库里的内核。
 
* 如果你使用图形桌面环境,尽可能安装多个。当其中一个桌面环境无法工作,你仍然可以使用别的并进行故障排除。
 
* 准备好稳定版本的 Live 安装介质以防不备之需。
 
== 历史 ==
 
Red Hat Linux "Raw Hide" 发布公告: [http://lwn.net/1998/0820/rawhide.html LWN]
 
Rawhide 这一名字来自 [http://en.wikipedia.org/wiki/Rawhide_%28song%29 同名歌曲],歌词开头就是 "Rolling, rolling, rolling, ..."。
 
随着 [[No_Frozen_Rawhide_Proposal | 无冻结政策]] 的生效和 Branched 的诞生,Rawhide 始终不会冻结。

Latest revision as of 09:22, 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/40/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/40/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 页面以获取准确的信息。

问与答

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

不会,这问题就离谱,也请不要再向别人传播这种神奇的思想了。

所以 Rawhide 非常稳定咯?

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

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

不要试图混合多个版本的软件包。作为替代,你可以:
* 如果政策允许,联系软件包的维护者请求其为稳定版提供更新。
* 如果政策不允许,COPR 可能提供了新的软件包,可前往了解。
* 取得新版软件包的 src.rpm 并尝试自行构建它。

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

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

Rawhide 是滚动更新版本吗?

见仁见智吧,不过 Rawhide 确实是滚动发行版。

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

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

新的 Branched 版本分离是否会影响我的 Rawhide 安装?

是不会有影响的,你会继续待在 Rawhide 上。

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

降级将会导致不可预知的问题,最好的做法是备份个人数据后重装系统,如果你使用 Btrfs 文件系统最少也要建立一个快照。
一个比较好的降级时机是 Branched 版本刚刚被分离出来的时候,如果你能非常及时地切换过去,这个时候 Branched 和 Rawhide 的差别会是非常小的。如果没有把握住时机,或者是打算直接降级到目前的稳定版本或更旧的版本,风险则会成倍增加。
你可以尝试使用 DNF 系统升级插件来执行降级。由于 Rawhide 使用的软件源跟其它版本使用的软件源不一样,你可能需要在下载阶段禁用 Rawhide 的软件源并重新启用适用于普通版本的软件源。所以降级使用的命令大概会是这样子的(将 NN 替换为目标版本号):
sudo dnf system-upgrade download --releasever=NN --disablerepo='rawhide,rawhide-modular' --enablerepo='fedora,fedora-modular,updates,updates-modular'
我们只会检查升级过程中是否会出现依赖问题,但我们不会对降级进行检查,因此你很有可能遇到破坏的依赖关系。在这种情况下,你可以尝试跳过损坏的包或删除有问题的包。如果这样子也解决不了你的问题,你可能也只能自认倒霉了。

Rawhide 的软件包有签名吗?

有的。

提示

  • 当你遇到了问题,别忘了妥善利用包管理器的各项功能以帮助你诊断问题,例如:
    • dnf downgrade
    • dnf history
    • dnf update --skip-broken
    • koji download-build
  • 如果你在使用 Silverblue 或 Kinoite,别忘了妥善利用 OSTree 的各项功能,例如:
    • rpm-ostree rollback
    • ostree admin config-diff
    • ostree admin pin 0
  • 你应该经常更新你的系统,最好是每天一次,这样子有利于更快速地定位问题。
  • 你应该经常重启系统,最好一有内核更新就重启。这样子才可以对启动流程进行全面的测试,并使用新版的内核。我们还建议你对 Dracut 排错流程有所了解。
  • 订阅 testdevel 邮件列表,升级系统前都去看看,特别是和 '[rawhide]' 相关的话题和报告。如果你遇到了什么问题却不知道报告到什么地方,也可在上面发送邮件。
  • Rawhide 的内核通常在构建时启用不同的调试选项,这将导致性能下降和资源使用增加。请参阅 这篇文章 以了解具体启用的选项有哪些。你可以在 /etc/default/grub 添加 "slub_debug=-" 参数以禁用 SLUB 调试(别忘了重新生成 GRUB 配置)。要想使用关闭调试的内核,可以使用 Rawhide Kernel Nodebug 仓库里的内核。
  • 如果你使用图形桌面环境,尽可能安装多个。当其中一个桌面环境无法工作,你仍然可以使用别的并进行故障排除。
  • 准备好稳定版本的 Live 安装介质以防不备之需。

历史

Red Hat Linux "Raw Hide" 发布公告: LWN

Rawhide 这一名字来自 同名歌曲,歌词开头就是 "Rolling, rolling, rolling, ..."。

随着 无冻结政策 的生效和 Branched 的诞生,Rawhide 始终不会冻结。