From Fedora Project Wiki
 
(40 intermediate revisions by 4 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]] (depending on the point in the [[Releases/{{FedoraVersion||next}}/Schedule|release cycle]]) 而无需安装。如果您不想这么做,也可以找剩余空间来安装,或做双系统安装,以及虚拟机体验等等。


== 每日实时构建版 ==
* 允许软件包维护者整合最新的'''可用'''版本进入 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" 目录下。You can find a local "development" mirror [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ here]. Continue reading for specific instructions on how to install mirrored content.
== 使用 Rawhide ==


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


有几种测试 Rawhide 的方式:
=== 作为测试系统使用 ===
# 用 CD, DVD 或 USB 驱动器来测试。
#* 有关刻录 CD 或 DVD,请见 [http://docs.fedoraproject.org/readme-burning-isos/ burning ISOs]。
#* 有关写入至 USB 驱动器,请见 [[How to create and use Live USB]]。
#* If you use a LiveUSB with data persistence, you can use the "yum update" method described below to get the latest daily Rawhide RPMs ([https://bugzilla.redhat.com/show_bug.cgi?id=446935 except for the kernel]). Note that you may also need to install the 'fedora-release-rawhide' package and enable the rawhide repository. However, downloading daily ISOs is recommended instead of this method.
# Use a virtual machine.  See [[Testing/qemu]].
# Install to a separate partition.


=== 通过 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 的构建质量有了飞跃性的提高,这并不意味着这些构建真的百分百稳定可用。
# 启动,选择 安装 或 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 的安装。


You can use the version of Anaconda distributed with a final public release (the latest being Fedora {{FedoraVersion}}).  Using this method, you will be using an older but known-to-be-working installer to install the latest content in the Rawhide repository.
对于 PXE 安装,相关文件可以在 {{filename|pub/fedora/linux/development/{{#ifeq:{{{release|}}}|Rawhide|rawhide|{{FedoraVersionNumber|next}}}}/Everything/(arch)/os/images/pxeboot}} 找到。


; 选项 1 - Use a copy you've already downloaded
=== 将安装程序指向 Rawhide ===
: If you already have a bootable CD, DVD, USB stick, or hard drive partition containing the *-DVD.iso or *-disc1.iso, you can use that to install Rawhide.  However, if you need to download new boot media, these files are not recommended because they contain general release versions of Fedora RPMs, and you wish to install Rawhide RPMs.  See [http://docs.fedoraproject.org/install-guide/f12/en-US/html/ch-new-users.html#sn-howto-download installation guide download page] for instructions if you want to download these files anyway.  A general release ''Live'' image cannot be used to install Rawhide, only the general release version of Fedora which it contains can be used. 


; 选项 2 - Download the minimal installer
你可以使用稳定版的安装介质并将其指向 Rawhide 来安装 Fedora Rawhide。随着 Rawhide 构建质量的提升,这已经不再是我们推荐的做法了。
: If you need to make a bootable CD, DVD, USB stick, or hard drive partition, the best way to do this is to download the minimal boot.iso installer and load RPMs over the network.  This is the same as the *-netinst.iso (e.g. Fedora-12-i386-netinst.iso) which you may find elsewhere.  These files are not available by BitTorrent.
: To obtain and use a boot.iso file:
: * Go to http://download.fedoraproject.org/ - you will be redirected to a nearby mirror.
: * Go to 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 - Pure network install with no boot media
当然如果你依然希望尝试:
: The Installation Guide documents how to [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/ap-medialess-install.html boot the installer directly from the network], in case you cannot or choose not to create local boot media.


; What to do after booting Option 1, 2 or 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 替换为合适的架构)。
# 完成剩余的安装。


: Start the installer and follow the on-screen instructions.  Proceed to [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/s1-pkgselection-x86.html Package Group Selection].  To install rawhide, deselect all {{FedoraVersion|long|current}} package repositories, and manually add rawhide using the instructions provided at [http://docs.fedoraproject.org/en-US/Fedora/{{FedoraVersion}}/html/Installation_Guide/s1-pkgselection-x86.html#sn-additional-repos Installing from Additional Repositories].  Obtain a valid Rawhide mirror from [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ the mirror list].
请注意如果 Rawhide 包含当前安装程序不支持的改动,有一定概率会导致安装失败。


; 选项 4 - 安装时无网络环境
=== 从稳定版本升级 ===
: 如果是这样,您需要从 [http://mirrors.fedoraproject.org/publiclist/Fedora/development/ Rawhide 镜像源] 下载 Rawhide (development) 目录,并使用 [http://docs.fedoraproject.org/install-guide/ 安装指南]中指出的硬驱动器方式安装。or it might be easier to choose a different method to install Rawhide from another section of this page.


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


{{admon/note|Timing is everything|This method only works after {{FedoraVersion|long}} is released, and before {{FedoraVersion|long|next}} has branched.  See the [[Releases/{{FedoraVersion||next}}|release schedule]] for appropriate timing.  Once branched, follow the instructions at [[Releases/Branched|Branched]].}}
对于使用 rpm-ostree 而不是 DNF 管理软件包的衍生版如 Silverblue,只需变基到 Rawhide 的分支即可,例如 {{filename|fedora:fedora/rawhide/x86_64/silverblue}}


# Download a daily Live image (.iso) from http://alt.fedoraproject.org/pub/alt/nightly-composes/
请注意 Rawhide 软件包依赖破坏等问题可能会导致升级无法完成。
# 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 升级至 Rawhide ===
根据发版节奏,你的系统不一定有 Rawhide 所需的 GPG 公钥。这时升级过程可能无法完成,如果你遇到了这种情况,尝试在 updates-testing 搜索更新:


如果当前有测试版或 "预发布版本" (Alpha 或 Beta)可用,您可以从 [http://fedoraproject.org/get-prerelease 这里] 下载。
<pre>sudo dnf update fedora-release\* fedora-repos\* fedora-gpg-keys --enablerepo=updates-testing</pre>


测试版本默认未被配置从 Rawhide 源获取更新(测试版有相对应流程:[[Releases/Branched|Branched]]),因此您需要首先安装 "fedora-release-rawhide" 包并启用 rawhide 源。然后就可以通过 "yum update" 或桌面更新通知更新了。
如果还是不行的话,还可以尝试使用 `--releasever=NN` 参数而不是 `--releasever=rawhide`(将 `NN` 替换为当前 Rawhide 指向的 Fedora 版本号)。作为最后的方法,你可以使用 `--nogpgcheck` 禁用 GPP 检查,当然这可能为你的系统带来不可预估的风险。


如果您想之后再回到正式版,请见:[https://fedoraproject.org/wiki/Upgrading_from_pre-release_to_final 从预发布版本迁移至正式版]。
== 讨论 Rawhide ==


=== 从当前版本 yum 升级至 Rawhide ===
你可以通过下面的方式与其他 Rawhide 用户和 Fedora 开发者交流:


This method is available but not recommended for anyone except the bravest testers.  Anaconda can make changes that are outside of the ability for the packaging system to handle.  You may also run into dependency problems which could take time to resolve.  You may also need to upgrade from the immediately previous release (e.g. install Fedora 10, 11, then Fedora 12 Rawhide and not jump directly from Fedora 10 to Fedora 12 Rawhide).  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.  Using graphical applications:
你可以加入 {{fpchat|#fedora-devel}} 和 {{fpchat|#fedora-qa}} 频道。


# First, install the [https://admin.fedoraproject.org/pkgdb/acls/name/fedora-release fedora-release-rawhide] package:
=== 邮件列表 ===
#* Click on the [http://koji.fedoraproject.org/koji/packageinfo?packageID=9 build status link]
#* Check the latest build on Koji (for instance, [http://koji.fedoraproject.org/koji/buildinfo?buildID=186175 fedora-release-14-0.6]).
#* Download the corresponding RPM files (e.g. with <code>wget</code>).
#* Install the RPM release files: <code>rpm -Uvh fedora-release-*.noarch.rpm</code>.
# Next, modify your software sources using: <code>gpk-repo</code>
#* Leave '''only''' the ''Fedora - Rawhide'' software source enabled
# Next, update your system using: <code>gpk-update-viewer</code>


当然,您也可以这样:
欢迎你订阅 {{fplist|test}} 和 {{fplist|devel}} 邮件列表并加入讨论。


# Type: <code>yum install fedora-release-rawhide</code>
=== Bugzilla ===
# Then type: <code>yum --disablerepo=* --enablerepo=rawhide update</code>


You may want to enable/disable repositories in /etc/yum.repos.d/ so that only the "Fedora Development" repository is enabled. This will allow daily Rawhide updates to appear by default in desktop notifications and "yum update".
Rawhide 相关的漏洞应该作为 ''Fedora'' 产品,''rawhide'' 版本被报告。报告问题时应该遵守 [[BugsAndFeatureRequests|最佳实践]],IRC 和邮件列表都可以帮助你判断某个行为是否是漏洞以及如何报告,但是它们本身并不是报告漏洞的场所。所有漏洞报告都应该提交到 [http://bugzilla.redhat.com Bugzilla]。


If you cannot install fedora-release-rawhide from within the package system, you can download the RPM directly from a Rawhide mirror, under: <code>development/rawhide/<arch>/os/Packages/</code> (for instance:
请注意,如果你遇到被破坏的依赖关系,你应该考虑报告给软件包的维护者,在通常情况下无需在 Bugzilla 报告漏洞,除非问题持续无法得到解决。
<code>wget http://fedora.univ-nantes.fr/fedora.redhat.com/fedora/linux/development/rawhide/i386/os/Packages/fedora-release-*.noarch.rpm</code>)


== 测试 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.
如果你是开发者或打包者,请阅读英文版 [[Releases/Rawhide|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.


=== When to Report Update Problems ===
: 不会,这问题就离谱,也请不要再向别人传播这种神奇的思想了。


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 非常稳定咯?'''


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.
: 当然不是,所以我们也在上文提到了 Rawhide 适合什么人使用。一般的用户只建议使用稳定版本。


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.
'''我在使用稳定版,我想使用 Rawhide 的某个软件包,我能直接 {{command|dnf install}} 它吗?'''


# 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.
: 不要试图混合多个版本的软件包。作为替代,你可以:
# 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"? ===
: * 如果政策允许,联系软件包的维护者请求其为稳定版提供更新。
: * 如果政策不允许,[http://copr.fedoraproject.org/ COPR] 可能提供了新的软件包,可前往了解。
: * 取得新版软件包的 src.rpm 并尝试自行构建它。


Rawhide is automatically generated once daily from the latest packages that are built. Packages that are built one day are generally in rawhide the next day. For the curious, the build is done at Midnight US Eastern, 0400/0500 UTC.
'''我在使用稳定版,我想使用 Rawhide 的内核,可以吗?'''


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


A rawhide push is simply the rawhide spin for that day. Occasionally, if the push is extremely broken, it may be regenerated more than once.
'''Rawhide 是滚动更新版本吗?'''


=== 如何报告发现的 Rawhide 问题? ===
: 见仁见智吧,不过 Rawhide 确实是滚动发行版。


通过 {{fplist|test}} 邮件列表或 {{fpchat|#fedora-qa}} IRC  频道。如果是 bug,请报告至 [http://bugzilla.redhat.com Bugzilla],注意对应版本为 rawhide。
'''Rawhide 到底是每一天的啥时候构建的?'''


=== 如何获知 Rawhide 的变动? ===
: 你可以关注 {{fplist|test}} 和 {{fplist|devel}} 邮件列表,里面有每天实时的构建信息。


每天所有变动都会通过邮件发送至 {{test}} 和 {{devel}} 邮件列表,主题叫做 'rawhide report: <date> changes'
'''新的 [[Releases/Branched|Branched]] 版本分离是否会影响我的 Rawhide 安装?'''
这些报告会包含被添加/被移除/被更新(附带更新日志)的软件包,还会伴随一个问题损坏依赖关系列表。


一些游泳的资源:
: 是不会有影响的,你会继续待在 Rawhide 上。
* http://git.fedoraproject.org/
 
* https://fedorahosted.org/
'''我想从 Rawhide 版本返回到 [[Branched]] 版本或稳定版,该怎么做?'''
 
: 降级将会导致不可预知的问题,最好的做法是备份个人数据后重装系统,如果你使用 Btrfs 文件系统最少也要建立一个快照。
 
: 一个比较好的降级时机是 [[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/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 页面以获取准确的信息。

问与答

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 始终不会冻结。