RPM需要当前安装的内核的kernel-devel包

时间:2017-12-22 15:48:10

标签: linux centos rpm packaging

我编写了一个RPM规范,它要求kernel-devel包。但是,通过安装任何 kernel-devel软件包可以满足这一要求。如何指定RPM需要当前运行的内核版本的kernel-devel包。

例如,我们的客户可能正在运行3.10.0-514,但最新的是3.10.0-693。如果执行“yum install -y kernel-devel”,则会获得最新版本的标头,满足RPM中的“Requires”行。我想确保安装的标头是3.10.0-514。

2 个答案:

答案 0 :(得分:2)

你做不到。多年来我一直在争吵。

安装kernel-devel时也无法使用触发器进行监视,因为安装时它仍然与正在运行的内核版本不匹配。

我使用的解决方案是将自定义脚本放入/etc/init.d/(或systemd等效项)中,每次操作系统使用可能的新内核启动时,都会根据需要重新编译驱动程序。并且它足够聪明,可以识别是否有来源也不会告诉用户升级它。

答案 1 :(得分:2)

如果可用,以下行可能会为当前引导的内核安装kernel-devel包:

sudo dnf -y install "kernel-devel-uname-r == $(uname -r)"