yum包管理器关于退出代码的奇怪行为:

时间:2016-06-11 23:10:29

标签: linux rpm yum package-managers

因为我在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

1 个答案:

答案 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。

更新http://mirror.centos.org/centos/6.8/updates/

发布http://mirror.centos.org/centos/6.8/os/