linux - RPM 需要当前安装的内核的内核开发包

标签 linux centos rpm packaging

我已经编写了一个 RPM 规范,其中对 kernel-devel 包有要求。然而,安装任何 kernel-devel 包就可以满足。我如何指定 RPM 需要当前运行内核版本的内核开发包。

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

最佳答案

你不能。多年来我一直在争论这个问题。

您也不能使用触发器来监视 kernel-devel 何时安装,因为安装时它仍然与运行的内核版本不匹配。

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

关于linux - RPM 需要当前安装的内核的内核开发包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47944108/

相关文章:

linux - Bash 命令行环境变量

linux - 无法让 Airflow 在 Linux 服务器上运行

php - 加载 mysqli 扩展时为 "version libmysqlclient_18 not defined in file libmysqlclient.so.18"

linux - 检查目录是否用 bash 挂载

linux - 查找使用我的 rpm 的模块

C信号代码混淆

linux - Minicom 没有正确捕获数据

java - 如何制作可重定位的rpm?

linux - 失败的依赖项 : error when installing openssl from rpm

linux - 如何让 ng 服务在启动后放弃 root 权限?