每次安装或更新 rpm 时更新 initramfs

每次安装或更新 rpm 时更新 initramfs

我正在开发 rpm,其中包含要安装到 /lib/modules/<uname -r>/updates 文件夹的内核模块。由于该模块是 initramfs 的一部分。当我安装 rpm 时,我必须使用命令 dracut 手动更新 initramfs。有没有办法可以从 rpm 规范文件本身更新 initramfs。如果是,有人可以帮助提供数据或参考链接吗? rpm需要什么权限。

答案1

这应该可以解决问题:

%post
if [ $1 -gt 1 ] && [ -e /boot/vmlinuz-$(uname -r) ] && [ -e /sbin/depmod ] && [ -x %{_sbindir}/dracut ]; then
    /sbin/depmod -a "$(uname -r)"
    %{_sbindir}/dracut -f --kver "$(uname -r)"
fi

相关内容