由于某种原因我的系统已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 对用户的作用。