首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rpm规范调用uname -r

rpm规范调用uname -r
EN

Stack Overflow用户
提问于 2010-08-18 20:47:01
回答 3查看 805关注 0票数 0

当我安装我的应用程序时,我想在/lib/modules/KERNEL_VERSION/extra中复制一些文件。

当然,问题是KERNEL_VERSION并没有被修复。

我可以通过调用"uname -r"来找到它,但是如何在rpm规范文件中找到它呢?

此外,如果有更好的方法,我愿意接受想法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-18 20:48:40

您可以将uname -r的结果插入到目录中(此处猜测):

代码语言:javascript
复制
/lib/modules/`uname -r`/extra/
票数 2
EN

Stack Overflow用户

发布于 2012-12-04 05:37:39

当您试图加载为不同内核编译的内核模块时,这个问题的答案可能会让您遇到符号不匹配的问题。

要在编译时放置内核模块,请按照Delan回答的方式进行操作:

代码语言:javascript
复制
%files
/lib/modules/`uname -r`/extra/*.ko

要将以前编译的内核模块放在当前运行的内核的路径中,您必须在%post部分中执行一些棘手的操作:

代码语言:javascript
复制
%post
cp /lib/modules/known/location/*.ko /lib/modules/`uname -r`/extra/*.ko

%postun
rm /lib/modules/... # hopefully they have not upgraded their current kernel..

%files
/lib/modules/known/location/*.ko

它将安装可能无法加载到正在运行的内核上的内核模块。通常,源RPM就是这个问题的解决方案。

票数 0
EN

Stack Overflow用户

发布于 2012-12-04 10:00:37

这不是一个好主意,因为您应该使用%triggerin在客户机上编译内核模块,这样它才能在内核升级后存活下来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3512197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档