我已经在 Windows Azure(Openlogic CentOS 6.3 - 一个预定义图像)上设置了一个 VM。
问题是我没有看到 kernel-headers 包,无法安装(yum 无法找到它)。因此,任何依赖它的东西也无法安装。
这是上述类型的 Azure VM 的已知问题吗?
谢谢。
答案1
OpenLogic 代表确认,在这种情况下应该运行如下命令来强制安装某些软件包:
sudo yum --disableexcludes=main 安装内核头文件-2.6.32-279.14.1.el6.openlogic.x86_64
我希望这可以帮助其他发现标准包“丢失”的人(实际上,特定的 repo/yum 设置阻止了安装)。
答案2
内核头文件包以及所有 SRPMS 均在名为“openlogic”的 OpenLogic 存储库中提供,该存储库随 CentOS 6.3 图库图像一起提供。
可以通过以下命令安装它们:
$ sudo yum --disableexcludes=main install kernel-headers-2.6.32-279.14.1.el6.openlogic.x86_64
从发布的角度来看,CentOS 6.3 位于 RHEL 6.3 的下游,因此更新遵循该一般路径。在内核 2.6.32-279 中,发现了一个 ata_piix 驱动程序错误,该错误阻止了 Hyper-V 和 Windows Azure 的某些功能。此错误已在上游修补并在后续内核流中发布。但是,这些较新的内核仅在 RHEL 6.4 到 CentOS 6.4 内核流中可用。OpenLogic 采用了已移植到内核 2.6.32-279 的补丁,并手动将它们应用于内核。
OpenLogic 无意排除或阻止任何软件包的使用或安装。yum 配置中设置的“exclude=kernel-*”参数仅作为临时修复,以降低最终用户在不知情的情况下更新提供的修补内核并因此重新引入已知 ata_piix 驱动程序问题的风险。这样做可能会导致 Windows Azure 实例无法正常运行。
一旦修复的驱动程序最终过滤到主存储库,OpenLogic 将删除内核排除。
答案3
在 Windows Azure OS 映像库中,CentOS 映像不包含内核头文件包。如果您必须需要内核头文件包,最好的办法是在本地创建自己的 CentOS 映像 VHD,安装所需的一切,然后部署到 Azure。部署 VHD 后,从 VHD 创建一个 Azure VM,这将满足您的需求。
答案4
您可以尝试安装相关的内核头文件-VERSION.el6.x86_64.rpm来自另一个受信任的 CentOS 存储库源的包。
例如,在http://rpm.pbone.net/,然后使用 rpm -ivh 下载并安装http://path.to.repo/内核头文件-VERSION.el6.x86_64.rpm