我正在开发 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