如何使用Fedora:通过预升级升级到新版本

 

在这 How To 我们将看到如何更新一个或多个以前的版本 Fedora 到当前版本或 当前。 这是文章的翻译 如何使用PreUpgrade 相同的 百科 de Fedora项目。 翻译已经在我自己的帐户上运行,因此,如果您发现错误(我希望没有)或更正,请在评论中让我知道:)。 请记住,这篇文章中包含的所有命令都必须输入为 ;)

如何使用Preupgrade?

升级前 是在现有版本上运行,解析和下载必要的软件包以升级到Fedora的新版本的应用程序。 在预升级过程中,用户可以继续使用他们的系统。 这给您的体验类似于实时更新。 有关更多信息,请参阅以下页面: 升级前的功能.

直接升级到当前版本

Preupgrade提供了对Fedora最新版本的更新。 无需升级到中间版本。 例如,可以直接从Fedora 14升级到Fedora 17。

先决条件

在以下情况下,无法使用preupgrade升级系统:

准备系统

虽然预升级可以提供大致平稳的升级体验,但建议在继续之前执行以下步骤。

  • 备用 -在对系统进行任何维护工作之前,建议先复制所有重要数据,然后再进行操作。
  • 更新 -在继续Fedora更新之前应用可用的更新。 以root用户身份运行以下命令:

yum update

  • 安装 -从Fedora 10开始,preupgrade实用程序默认包含在Fedora安装中。 也可以使用yum命令手动安装该软件包:

yum install preupgrade

执行更新

通常情况下, 包装套件 当您的系统有可用更新时,它将通知您。 但是,如果您决定使用预升级手动升级,请按照以下步骤操作。

  • 通过打开终端并执行以下命令,以超级用户身份启动preupgrade实用程序:

preupgrade

如果您喜欢交互式命令行应用程序,则该命令 升级前 也可以。

  • 在“选择发布版本”屏幕上,选择要更新的Fedora版本,然后单击“应用”按钮。
  • 所有软件包下载完毕后,重新引导系统以启动Fedora安装程序并更新至下一个版本。

<°的注释DesdeLinux: 如果您想更深入地了解此过程,请访问以下文章: 升级前:在Fedoras之间升级, 谢谢 迭戈坎波斯 通过链接;)。

<°的注2DesdeLinux:更新过程也可以从Fedora安装DVD中完成。

实际的远程

预升级具有一个允许通过VNC进行远程升级的开关。 如果使用preupgrade进行远程升级,则很可能是一台具有静态IP地址的计算机。 这是通过preupgrade命令处理的:

preupgrade-cli --vnc[=password] --ip=[IPADDR] --netmask=[NETMASK] --gateway=[IPADDR] --dns=[DNSSERVER] "Fedora 17 (Beefy Miracle)"

常见的升级后任务

更新后,建议采取其他措施以完成该过程。

不支持的软件包删除

新版本可能不支持某些软件包。 您可能要删除这些软件包,因为它们将停止接收安全更新,并且它们以后可能会与新软件包发生冲突。 可以使用以下命令识别它们:

package-cleanup --orphans

浏览.rpmsave和.rpmnew文件

完成更新过程后,您可能会注意到一些文件名以 .rpm保存 y .rpm新。 不要惊慌。 升级过程将始终保留本地修改的配置文件。 以.rpmsave结尾的文件名包含本地配置更改。 以.rpmnew结尾的文件名代表该软件在其原始包装中的配置文件。

您应该检查更新创建的所有.rpmsave和.rpmnew文件。 根据差异,您可能需要手动组合配置文件。 您可以找到与find命令匹配的所有文件。

find / -print | egrep "rpm(new|save)$"

(可选)要加快编辑时的重复搜索速度,请先运行updatedb命令,然后再使用locate在以后执行搜索。

updatedb

locate --regex "rpm(new|save)$"

检查更新

跑:

yum repolist

确认存储库配置正确。 然后运行:

yum distro-sync

将软件包与存储库中的版本同步。

疑难解答

/开机空间不足

Fedora 13及更高版本默认在引导分区(/ boot)中使用500 MB。 /引导文件系统大小的默认值在旧版本中为200MB,这对于从该版本升级的用户可能是个问题。 在许多情况下,释放的磁盘空间可能足以允许进行预升级以下载安装程序,但不足以运行安装程序并在系统启动时安装新内核。 本节介绍了一些入门的已知技巧。 切记:在执行管理任务时,请确保在继续之前备份数据。

在这些情况下,有两种基本方法可以使预升级起作用。 在第一种方法中,您需要释放足够的空间供安装程序安装新的内核软件包。 在第二种方法中,您必须在/ boot中暂时占据足够的空间,以强制预升级在重新引导后下载安装程序。

方法1:释放空间

首先,尝试删除系统上当前未使用的内核软件包。 剧本 内核修剪 它可以用来标识可以安全删除的内核。 如果选择删除其他内核,请准备好安装介质,以防无法恢复到以前安装的系统。

安装程序在/启动时将需要大约26 MB的可用空间。 使用以下命令确定/ boot分区上的可用空间量:

df -h /boot

要确定可以安全删除的内核,请从命令行运行以下命令:

curl -O 'http://skvidal.fedorapeople.org/misc/kernel-prune.py'

chmod a+x kernel-prune.py

./kernel-prune.py

现在,要实际删除上述命令列出的内核版本,请以超级用户身份运行以下命令:

PKGS='./kernel-prune.py'

echo $PKGS

yum remove $PKGS

然后使用tune2fs命令调整保留文件系统块的数量。 首先,您将需要识别/ boot文件系统的块设备。 在以下示例中,/ dev / sda1是/ boot文件系统的块设备。

mount | grep "/boot"

/ boot类型ext1(rw)上的/ dev / sda4

现在,使用以下命令调整为/ boot文件系统保留的块数 调2fs。 通常,“保留”具有ext文件格式的分区上的少量空间,并且只能由系统管理员使用。 这是为了避免系统无法启动,并允许管理员使用一些工作区以完全清理分区。 但是,这些情况中没有一个真正适用于/ boot文件系统,因此删除此保留空间是安全的。

tune2fs -r 0 /dev/sda1

最后,尝试从/ boot文件系统中删除不必要的文件。 这在很大程度上取决于系统的配置方式。

删除错误的文件可能会导致系统无法启动。 一些被免职的候选人包括 /启动/ efi y /boot/grub/splash.xpm.gz.

方法2:进行预升级的技巧以下载安装程序

此方法要求您在安装过程中具有与Internet的有线连接。 如果您处于无线模式并且无法使用以太网电缆进行连接,则将需要使用方法1。

第一,找出/ boot文件系统上有多少可用空间。 df 是为此所需的命令:

df /boot

文件系统1K块已使用可用已使用%已安装在
/ dev / sda1 198337 30543 157554 17%/开机

第二,创建一个占用足够空间进行预升级的文件,以决定暂时无法安装stage2。 预升级需要大约120MB的安装映像,因此我们将确保可用空间不到100MB。 例如,文件系统,这意味着我们需要填充60 MB。 这是作为root用户执行的方法:

dd if=/dev/zero of=/boot/preupgrade_filler bs=1024 count=61440

df /boot

文件系统1K块已使用可用已使用%已安装在
/ dev / sda1 198337 92224 95873 50%/引导

第三,照常运行preupgrade。 在早期阶段,在下载软件包之前,preupgrade应该告诉您没有足够的空间来下载安装程序,但是如果您具有有线连接,则可以在重新启动系统时下载它。 您可以单击继续。 准备好升级前,请不要立即重启。 而是删除文件 / boot / preupgrade_filler 并确保您的计算机已使用以太网电缆连接到网络。 然后,您可以重新启动系统。

rm /boot/preupgrade_filler

第四名,计算机应启动进入安装程序,通过以太网电缆连接到Internet,然后开始下载stage2安装程序映像。 然后,更新应继续正常进行。

重新启动后未安装更新

说明

如果您具有多重引导配置,则GRUB / boot使用的菜单文件可能与修改preupgrade / boot的菜单不同。 在这种情况下,您将必须指示grub使用相应的文件在引导时完成更新。 如果不这样做,则在预升级完成文件下载和安装后,启动时将没有可见的更改。 系统将仅在先前版本上重启。

预升级使用中间升级步骤引导内核。 升级系统后,preupgrade将临时内核升级选项替换为已升级内核的选项。 换句话说,对引导加载程序进行了两项修改:一个临时更新选项,然后是一个永久选项,直到下一次更新。

可以使用GRUB引导加载程序从命令行引导,或者可以修改/boot/grub/menu.lst文件以创建引导菜单选项(GRUB引导菜单的屏幕截图示例)(有关GRUB的更多详细信息,请参见grub手册。).

可以使用有关grub的任何选项。 为了更好地理解该主题,以下内容描述了如何通过命令行以及如何编辑menu.lst文件。

但是,由于更新仅需要运行一次,并且系统更新可能需要重新启动,因此最方便的方法可能是通过grub命令行手动启动更新,然后一次更新完成后,在menu.lst文件中添加Fedora更新的选项。 这将对应于 方法1,步骤1-3,然后是方法2,步骤4.

STEP 1: 确定分区位置

确定您的Fedora /引导目录的驱动器和分区。 (有关详细信息,请参见Grub命名约定。)。 例如,如果您在第二个硬盘驱动器的第十四个分区上完全安装了Fedora,则/ boot位于根目录(hd1、13)。

STEP 2: 从分区位置启动

重新启动时,键入“ c”以输入grub提示符。 使用适当数量的驱动器和分区,键入以下命令:

根(hd1,13)
内核/引导/升级/ vmlinuz
initrd /启动/升级/initrd.img

这将开始更新安装。

STEP 3: 选择安装映像

更新安装将启动一个ncurses对话框。 选择语言和键盘类型后,选择硬盘驱动器作为安装方法。 下一个对话框将要求安装映像中的分区和目录信息。 从下拉菜单中选择分区。 (请注意,编号将从grub分区开始。换句话说,root(hd1,13)将显示为/ dev / sdf14)。 最后,输入安装映像文件的位置:/boot/upgrade/install.img。

此时安装将正常运行。 完成升级后,您将必须引导系统或通过在grub命令行中输入新的内核和initrd.img文件来手动升级,或者将条目添加到menu.lst文件中。 下一部分将详细介绍此步骤。

方法2:修改GRUB menu.lst文件

作为重新引导后在GRUB提示符下输入命令的替代方法,您还可以编辑GRUB menu.lst文件以添加一个选项,该选项使您可以从GRUB引导菜单中选择升级过程的开始。 由于更新仅需运行一次,因此更新后,您将需要重新编辑menu.lst,从菜单中删除update boot选项,并为新内核添加一个引导项。

STEP 1: 确定分区位置

确定您的Fedora /引导目录的驱动器和分区(有关详细信息,请参见Grub命名约定。)。 例如,如果您在第二个硬盘驱动器的第十四个分区上完全安装了Fedora,则/ boot位于根目录(hd1、13)。

STEP 2: 编辑菜单

找到并打开文件/boot/grub/menu.lst。 如果此文件在另一个分区上,请检查/ media中的文件。 使用适当数量的驱动器和分区,在menu.lst文件中写入以下条目:

Fedora升级标题
根(hd,)
内核/引导/升级/ vmlinuz
initrd /启动/升级/initrd.img
savedefault

保存文件并重新启动系统。 从GRUB引导菜单中选择Fedora更新。

STEP 3: 选择安装映像

安装此更新将启动ncurses对话框。 选择语言和键盘类型后,选择硬盘驱动器作为安装方法。 下一个对话框将要求安装映像中的分区和目录信息。 从下拉菜单中选择分区。 (请注意,编号将从grub分区开始。换句话说,root(hd1,13)将显示为/ dev / sdf14)。

最后,输入安装映像文件的位置:/boot/upgrade/install.img。 此时安装将正常运行。

STEP 4: Menu.lst清理

完成升级后,您将需要引导系统或手动升级,方法是在grub命令行中输入新的内核和initrd.img文件,或在menu.lst文件中添加一个条目。

以下是位于第二个硬盘驱动器分区10上的Fedora Core XNUMX的grub条目的示例。

标题Fedora Core 10(在/ dev / sdb14上)
根(hd1,13)
内核/boot/vmlinuz-2.6.27.5-117.fc10.x86_64 ro安静启动
initrd /boot/initrd-2.6.27.5-117.fc10.x86_64
savedefault

在Fedora分区的/ boot文件夹中找到更新的内核和initrd文件,并输入与内核和initrd文件相同的标题。

最后,从menu.lst中删除更新启动项。

来源: 在文章中引用;)。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   塔里贡

    哇! 在本文的中间,我不得不放弃阅读,不是因为它很无聊,而是因为它非常详尽,最好在实际环境中尝试每一步来学习。

    您知道...我会将其保存在我的盒子帐户中=)

    1.    英仙座

      谢谢

      1.    阿尔贝托

        博客
        恐怕在添加新条目时,您创建的有关fedora的宏伟条目会及时丢失,因此,我希望您在博客中使用一些指向fedora howto的链接,以便将它们保留为对Porteridad,请原谅我的建议,只是这些Fedora帖子值得您关注,无论它们发表以来已经过去了多少时间。
        谢谢

        1.    英仙座

          非常感谢您的发言和建议,我将与其他管理员一起提出您的想法,以查看我们是否可以做一些事情:)。

          干杯;)。

  2.   梅林Debianite

    太好了,如果有问题,我直到更新后才阅读所有内容,我将继续阅读。

  3.   弗雷内蒂克斯

    对于fedoritas的一篇非常好的文章..唯一的一件事情是,您只可以用这篇文章创建几篇文章...

    问候

    1.    英仙座

      XD,是的,您说得很对。 这篇文章很长:P,但是我不希望有人迷失于某种东西,而不得不等待他们问题的答案:)。

      干杯;)-

  4.   迭戈坎波斯

    哇 !!
    认真地说,链接为您提供的服务有多好😀

    干杯(:

    1.    英仙座

      当然,欢迎任何贡献,谢谢兄弟;)。

      1.    阿尔贝托

        晚安博客
        我只是想问一下,例如,我在发行正式版本的fedora之后的一个月是否更新,是否更新到发行之日,或者是否还安装了包括发行后一个月的更新?
        谢谢

        1.    英仙座

          阿尔伯托怎么样,很高兴认识您,预升级会完全更新系统,直到最后可用的更新为止:)。

          问候。

  5.   菲尔波

    水杯!
    请给我多大的鼓舞...热情地给人留下深刻的印象!

    恭喜CAPO!

    我致敬-

    1.    英仙座

      FIRPO怎么样,非常感谢您的评论:D,很高兴您在这里。

      干杯;)。

  6.   字节博士

    我通过wifi通过预升级从fedora 16升级到了17,没有任何问题,一切都很好,我花了一段时间,我想这是因为是通过wifi,并且是在发布该版本的同一天,但是最后,还是我的fedora 17 ,就像以前一样,而无需重新安装任何东西。 所有编解码器和插件。

    很快,我会将一些此更新的屏幕截图放在我的博客上。

    问候。

  7.   亚历杭德罗

    感谢您的来信,但我认为这对我没有帮助,因为我需要将版本从1欧arrow草更新到当前的。 碰巧我有一台没有磁盘容量的服务器,如果可以更新,我需要将版本移动到另一个具有更大容量的HD。 但是,要找到这样的旧发行版,我要付出的代价是“ 0”。
    如果任何人有任何信息,任何可以传递给我的信息将不胜感激。

    的问候。

  8.   MFCOLF77

    好吧,因为到目前为止我是LINUX的新手,所以我正在阅读许多文章。

    我有一个问题,它是以下内容:对于FEDORA,它多久更新一次,或者说是出现一个新版本?

    而当这些新版本问世时,是否建议进行预升级?或重新安装所有内容?

    和Windows一样吗?好吧,我不想与Windows进行比较,但是我是新手,因此我最终将所有与Windows进行比较以了解两者之间的区别。

    1.    嘲笑

      MFCOLF77

      -lfedora 18将于6月XNUMX日发布

      -fedora每6个月左右发布一次版本。

      -不,它不等于Winbugs,因为您可以认为比较是愚蠢的。

      -我建议您等待数周以达到18,因为他们总是必须解决问题

      1.    MFCOLF77

        好的。 谢谢(你的)信息。

        我将等待十一月的FEDORA 18

  9.   艾琳克斯

    豪华!..试图看看它是如何!。

    谢谢!

  10.   LSRI8088

    你好,

    很好的文章,能够用西班牙语阅读所有这些内容,这表示赞赏😉

    一个问题:什么时候应该运行“不支持的软件包删除”? 在预升级之后?

    谢谢。