让 Yum 自动更新 /boot 中的 vmlinuz、initramfs 符号链接(Fedora)

让 Yum 自动更新 /boot 中的 vmlinuz、initramfs 符号链接(Fedora)

每当 Yum 更新内核时,/boot 中都会有一组新的 (vmlinuz* initramfs*) 文件,并且 Grub 配置也会更新为直接指向这些新文件。

哪里有设置可以强制 Yum 在更新后始终创建/更新指向新文件的符号链接?

vmlinuz-3.12.6-300.fc20.x86_64 #有
vmlinuz-> /boot/vmlinuz-3.12.6-300.fc20.x86_64# 想要
initramfs-3.12.6-300.fc20.x86_64.img # 有
initramfs->/boot/initramfs-3.12.6-300.fc20.x86_64.img# 想

推理:

  • 安装了两个操作系统的计算机可能有一个主 Grub,每个系统都有一个条目。Fedora 条目将指向符号链接,因为每当 Fedora 安装新内核时,我都不会手动更改配置文件。
  • 在两种情况下,Fedora 20 安装程序无法安装 Grub(并崩溃)。因此,当发生这种情况时,我安装了专用的 Grub(未安装在 Fedora 安装中),并遇到了同样的问题。

答案1

您可以放入/etc/kernel/postinst.d/如下脚本:

#!/bin/bash

KERNEL_VERSION="$1"
KERNEL_IMAGE="$2"

ln -sf $KERNEL_IMAGE /boot/vmlinuz
ln -sf /boot/initramfs-$KERNEL_VERSION.img /boot/initramfs.img

您可能还想添加一个脚本来/etc/kernel/prerm.d/处理删除内核,这会更复杂。该脚本需要确定要删除的内核是否已符号链接,并确定要将符号链接更新到哪个内核。

这些目录中的脚本由命令调用,该命令在内核 RPM 的后事务脚本中new-kernel-pkg调用。kernel-install

相关内容