【问题标题】:Linux - Yum Install GCC - Missing Kernel-headersLinux - Yum 安装 GCC - 缺少内核头文件
【发布时间】:2011-09-24 17:13:56
【问题描述】:

当我尝试在我的 linux (centos) 上安装 GCC 时,它会丢失

来自更新的 glibc-headers-2.5-58.el5_6.4.x86_64 存在解决问题 --> 缺少依赖项:包 glibc-headers-2.5- 需要内核头文件 58.el5_6.4.x86_64(更新) 来自更新的 glibc-headers-2.5-58.el5_6.4.x86_64 有解决问题 -->

缺少依赖项:glibc-headers-2.5-58.el5_6.4.x86_64 软件包需要 kernel-headers >= 2.2.1(更新)

错误:缺少依赖项:glibc-headers-2.5-58.el5_6.4.x86_64 软件包需要 kernel-headers >= 2.2.1(更新)

错误:缺少依赖项:软件包 glibc-headers-2.5-58.el5_6.4.x86_64(更新)需要内核头文件


我尝试 yum install kernel-header & kernel-devel 但回来了:

没有可用的包内核头文件。

有什么建议吗?

【问题讨论】:

  • 修复了问题,是 yum.conf 文件中的冲突。

标签: linux gcc yum centos5 centos6


【解决方案1】:

试试

yum search kernel-headers

给予:

arm-gp2x-linux-kernel-headers.noarch : Kernel headers for Cross Compiling to
                                     : arm-gp2x-linux
kernel-headers.x86_64 : Header files for the Linux kernel for use by glibc

【讨论】:

  • 返回警告:未找到匹配项:kernel-headers 未找到匹配项
  • 如果问题是您在后续评论中指出的 yum.conf 文件,为什么您将这个答案标记为正确,而不是下面的 xgMz 的答案?
【解决方案2】:

您的系统可能已配置为排除内核包。

试试:

sudo vi /etc/yum.conf

然后评论(或删除“内核*”部分):

#exclude=kernel*

那么你应该可以做到:

sudo yum install kernel-headers

编辑:或者,正如Andrew Beals 所指出的,您可以简单地运行:

yum install kernel-headers --disableexcludes=all

【讨论】:

  • 这指出了我真正的问题。 IT 团队排除了内核头文件,以防止在部分推出过程中自动更新内核。
  • 我投票赞成这个答案,因为它让我走上了正确的道路。 /etc/yum.conf 中的注释引用了 repo 定义文件,在其中一个文件(/etc/yum.repos.d/reponame.repo)中我发现了这个排除。谢谢
  • 我在 /etc/yum.repos.d/ 的一些文件中发现了有问题的引用。
  • 感谢 xgMz,以防万一,FWIW,它有助于将其作为部署策略/ansible 任务签入 - 执行 "sed -i 's/exclude/#exclude/g' /etc/yum .conf" 不过都是 xgMz 的救星!
【解决方案3】:

是的,您可以编辑 yum.conf 文件,或者您可以简单地这样做:

yum install kernel-headers --disableexcludes=all

请注意,即使您的管理员尝试通过正常过程从您的 RHN Satellite 服务器安装一个排除的软件包,由于本地配置,它仍然会失败。

(当然,这也适用于 RHEL6 / cent6 (centos6)。)

【讨论】:

  • +1:当您安装单个软件包以适应依赖项并希望以前的排除规则继续适用于未来的yum 命令时,这比编辑yum.conf 更好。这在禁用内核更新的半虚拟化环境中很常见,因为这会破坏系统,因为它使用的是特殊内核。暂时禁用此排除以使 kernel-headers 满足 gcc 依赖项是无害的。
【解决方案4】:

我在尝试安装 VMWare Tools 时遇到了这个问题。它需要 gcc内核头文件 -> 缺少内核头文件。

所以在 Redhat 7.4 上我必须执行 'yum install kernel-devel'。

【讨论】:

    【解决方案5】:

    如果您是从 Cloudlinux ISO 安装的,则在您根据许可证激活服务器之前,您无法执行任何操作,它会在 VPS 上引发上述错误。

    【讨论】:

      【解决方案6】:

      我遇到了同样的问题。看来我需要将 kernel-devel-xx.rpm(来自内核开发包)安装到我的自定义内核:

      sudo yum install kernel-devel-xx.rpm
      

      那么你应该可以运行了:

      sudo yum install kernel-devel
      

      【讨论】:

        猜你喜欢
        • 2021-12-23
        • 2014-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多