什么是 FedUp?
FedUp (FEDora UPgrader) 是一个升级 Fedora 的新工具。它已替换了所有在之前 Fedora 版本上推荐的更新方式(例如通过 PreUpgrade 升级和 DVD 升级)。Anaconda,Fedora 的安装器,从 Fedora 18 后将不会自带更新功能,所有全部交给 FedUp。
目前,FedUp 可以通过网络安装源完美升级 Fedora 17 至 Fedora 18,类似于之前 PreUpgrade 的工作方式。更多升级的方法目前已经处于计划之中,当它们可行后本页也会继续更新。
FedUp 做了些什么?
FedUp 系统有两个组成部分 - 客户端被用作下载软件包并准备升级和预启动环境,实际更新工作由 systemd 和 yum 完成。详细信息请访问 FedUp 主作者对它的介绍 页面。
FedUp 客户端
FedUp 运行于准备升级的系统上。它获取所有需要升级的软件包和内核。目前只有命令行版本,不过图形界面版本已经在准备了。
升级过程
从运行 FedUp 客户端之后重启开始实际上的升级。文件系统会在启动时被挂载,已下载的包会被安装并且一些有关升级的任务也会开始执行。在升级过程中,将会使用一个特别的包含升级进度条显示的 plymouth 主题。
常见问题解答
我能使用 FedUp 更新我的 Fedora 16 吗?
不行。目前不可用。FedUp 客户端目前尚未在 Fedora 16 上构建或运行,所以您至少需要 Feora 17。请首先使用 Preupgrade 升级至 Fedora 17。
我该如何汇报升级出现的问题?
这取决于您出现的问题。
升级准备时的问题
如果您在重启前使用 FedUp 客户端遇到问题(fedup
),请搜索之前有关 fedup 的 bug,或者针对您升级前系统的版本提交。
升级过程中的问题
If you hit issues after upgrade preparation and the initial reboot, search for or file a bug against fedup-dracut
using the version you are upgrading to.
升级后的问题
If you hit issues after upgrade with a specific package, file a bug against the package with which you are having issues.
我该如何在升级过程中调试出现的问题
A troubleshooting and debug guide will be written soon and linked to from here.
Does FedUp verify the software it runs or installs during upgrade?
This is a planned feature. See Bug 877623 for a status update.
哪里可以问我的问题?
For now, the best place to ask questions is probably #fedora-qa on Freenode IRC or the Fedora Test list.
我如何使用 FedUp 更新我的系统?
As alluded to above, there are three parts to upgrading with FedUp - preparation, execution and cleanup.
升级准备
- Do a full system update and reboot to ensure that any kernel changes are running
- Install
fedup
- Be sure to get the latest release, this may involve enabling updates-testing (put
--enablerepo=updates-testing
betweenyum
andinstall
on the command line)
- Be sure to get the latest release, this may involve enabling updates-testing (put
There are three options for sourcing the packages needed for upgrade - using a network repository, a local ISO file or a local device (hard drive, optical disk etc.).
网络
Using a network source is the easiest method of upgrading and will pull in updates while upgrading - eliminating the potential issue if your current system has a newer kernel version than the Fedora release to which you are upgrading.
- Start the upgrade prep by executing following command
sudo fedup-cli --network 18 --debuglog fedupdebug.log
- <arch> is the arch of the system that you are upgrading - either i386 or x86_64
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
ISO 文件
In order to use an ISO file, it needs to exist locally on the filesystem of the system to be upgraded. The documentation is written as if that file is /home/user/fedora-18.iso but you will need to replace all instances of that path with the actual path of the iso. Updates will be pulled in if you have network access on the machine to be upgraded.
- 下载适合您正运行的架构的 Fedora 41 的 ISO 文件。
- For the sake of example, we will assume that the iso exists at
/home/user/fedora-18.iso
but it can be anwhere in the filesystem as long as you alter the path below to reflect the actual location of the ISO.
- For the sake of example, we will assume that the iso exists at
- Start the upgrade prep by executing the following command
- sudo fedup-cli --iso /home/user/fedora-18.iso --debuglog=fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
其他设备
Optical drives and other mountable storage can also be used as a package source for upgrade preparations.
- Mount the source material
- For the sake of example, we will assume that this source is mounted at
/mnt/fedora
but you can mount it anywhere as long as you replace/mnt/fedora
in the command below with the actual mounted location of the upgrade source.
- For the sake of example, we will assume that this source is mounted at
- Start the upgrade preparations by executing the following command
- sudo fedup-cli --device /mnt/fedora --debuglog=fedupdebug.log
- Once the preparations have completed, check the
fedupdebug.log
file if any errors show up in the output fromfedup-cli
执行升级
- Reboot the system if
fedup
has completed without error. - Once the system reboots, there should be a new entry in the GRUB menu titled
System Upgrade
.- Adding rd.upgrade.debugshell would be a decent idea
- Select the
System Upgrade
option from the GRUB menu - The system should boot into the upgrade process and a plymouth boot screen should be displayed
- If you press 'esc', a more detailed log of progress will be desplayed but if you switch back to the graphical progress indicator, it will remain at 0% for the remainder of the upgrade but that does not mean the upgrade has stopped. See Need section reference here once it's written
- Once the upgrade process has completed, the system will reboot and an option to boot Fedora 42 will be on the grub menu
GRUB 更新
更新 GRUB2 (BIOS 系统)
- After upgrade, the grub2 you're booting from will still be the F17 version; upgrading must be done manually
- Follow the steps in this grub2 page to reinstall and update grub