glibc-2.17-324.el7_9.Ar.1.x86_64 中的“Ar.1”是什么

glibc-2.17-324.el7_9.Ar.1.x86_64 中的“Ar.1”是什么

由于某种原因我的系统已glibc-2.17-324.el7_9.Ar.1.x86_64安装。不确定那是什么Ar.1正在那里做。我需要安装glibc 开发,它会抱怨,因为它需要glibc-2.17-324.el7_9.x86_64(没有Ar.1)。我在任何地方都找不到这个包(带有 Ar.1)。我可以在不破坏系统的情况下重命名 glibc (删除 Ar.1)吗?我在这里有什么选择?系统是 Arista 预先构建的 qcow2 虚拟映像,因此重新安装并不是真正的选择。基于 Centos 7.9。

[veos-router1 tmp]$ sudo yum localinstall glibc-devel-2.17-324.el7_9.x86_64.rpm
Error: Package: glibc-devel-2.17-324.el7_9.x86_64 (/glibc-devel-2.17-324.el7_9.x86_64)
           Requires: glibc = 2.17-324.el7_9
           Installed: glibc-2.17-324.el7_9.Ar.1.x86_64 (installed)
               glibc = 2.17-324.el7_9.Ar.1
Error: Package: glibc-devel-2.17-324.el7_9.x86_64 (/glibc-devel-2.17-324.el7_9.x86_64)
           Requires: glibc-headers
Error: Package: glibc-devel-2.17-324.el7_9.x86_64 (/glibc-devel-2.17-324.el7_9.x86_64)
           Requires: glibc-headers = 2.17-324.el7_9
 You could try using --skip-broken to work around the problem

我需要 glib-devel 的原因是因为我试图在系统上安装 gcc,而 gcc 需要 glib-devel。

答案1

在 RPM 包名称中嵌入一个.vendor_string.RPM 是来自 Yocto 工具的典型 RPM 模式。

我需要安装 glibc-devel,

然后您需要从硬件供应商处获取 yocto 树或 SDK。 glibc-devel 必须与您正在使用的实际 glibc 匹配,否则完全没有价值。

此外,-devel在嵌入式机器上安装软件包是一个坏主意,并且表明您没有使用供应商预见的嵌入式工作流程。

一般来说,工作流程是您从 Arista 获取针对您所拥有的特定设备的 SDK。这将包括正确的 glibc-devel ——你真的不能直接放入 CentOS 的 glibc-devel,它和你安装的东西之间是有区别的,否则就Ar.1不会是这个名字了。


也许这非技术性的,更能激发事物的状态讲话作者:Moritz Fischer 先生,现在为一家更大的公司做很多嵌入式工作,这有助于您了解 SDK 对用户的作用。

相关内容