因为我在Centos上,所以我使用yum作为包管理器。我正在使用内核头文件和开发包,并注意到一些奇怪的行为,我无法通过谷歌搜索找到信息:
目前我已经为当前内核安装了头文件和开发包,但每当我执行yum命令在本地安装这些(我有RPM)时,我会得到不同的行为:
(注意:我正在努力自动化安装,所以我知道在我当前的环境中这样做是没有价值的。我只是想要了解这种不一致性)
[root@host mydir]# rpm -qa | grep kernel
kernel-headers-2.6.32-573.7.1.el6.x86_64
kernel-2.6.32-504.el6.x86_64
kernel-2.6.32-573.7.1.el6.x86_64
kernel-devel-2.6.32-573.7.1.el6.x86_64
libreport-plugin-kerneloops-2.0.9-25.el6.centos.x86_64
kernel-2.6.32-573.3.1.el6.x86_64
kernel-firmware-2.6.32-573.22.1.el6.noarch
abrt-addon-kerneloops-2.0.8-34.el6.centos.x86_64
dracut-kernel-004-388.el6.noarch
安装了两个相关软件包(kernel-2.6.32-573.7.1.el6.x86_64
[root@host mydir]# ver=`uname -r`
尝试安装标题:
[root@host mydir]# yum install kernel-header-${ver}
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Nopackage kernel-header-2.6.32-573.7.1.el6.x86_64 available.
Error: Nothing to do
[root@host mydir]# echo $?
1
出现错误,但是当我为devel包尝试相同的事情时......
[root@host mydir]# yum install kernel-devel-${ver}
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Nothing to do
[root@host mydir]# echo $?
0
答案 0 :(得分:0)
简单:yum没有旧包装。唯一可用的“kernel-headers包”是最新的CentOS 6.8 update = kernel-headers-2.6.32-642.1.1.el6
除此之外,kernel-headers(/ usr / include / *)并不一定要遵循内核版本:它们用于构建应用程序。必须匹配的两个包是kernel,kernel-devel。