我写了一个对kernel-devel软件包有要求的RPM规范.但是,可以通过安装任何kernel-devel软件包来满足这一要求.如何指定RPM需要当前正在运行的内核版本的kernel-devel软件包.
例如,我们的客户可能正在运行3.10.0-514,但是最新版本是3.10.0-693.如果执行“ yum install -y kernel-devel”,则会获得最新版本的标头,从而满足我的RPM中的“ Requires”行.我想确保安装的标头适用于3.10.0-514.
解决方法:
你不能我已经为此争论了很多年.
您也不能使用触发器来监视何时安装kernel-devel,因为在安装它时,它仍然与正在运行的内核版本不匹配.
我使用的解决方案是将自定义脚本放入/etc/init.d/(或systemd等效项)中,该脚本每次在操作系统使用潜在的新内核启动时按需重新编译驱动程序.而且它足够聪明,可以识别源是否不存在,并告诉用户也要对其进行升级.