Rpm

OracleLinux 8.6 中“glibc.i686”的“glibc-common”依賴是如何實現的?

  • September 29, 2022

OracleLinux 8.6 包含 32 位軟體包glibc-2.28-189.1.0.1.el8.i686.rpm。這個包需要glibc-common的正是那個版本:

$ rpm -qpv --requires glibc-2.28-189.1.0.1.el8.i686.rpm 
...
manual: glibc-common = 2.28-189.1.0.1.el8
...

但是,儲存庫不包含glibc-common-2.28-189.1.0.1.el8.i686.rpm,僅包含glibc-common-2.28-189.1.0.1.el8.x86_64.rpm.

64位版本能否glibc-common滿足32位glibc包的依賴需求?如果是這樣,為什麼不考慮它noarch,以及 RPM 依賴解析器如何確定它必須引入 RPM 包的 64 位變體?

或者,是否有提供此版本的儲存glibc-common.i686?我知道Koji儲存glibc-common-2.28-189.el8.i686.rpm庫,但它只提供. 2.28-189.1.0.1.el8

是的,64位版本glibc-common滿足32位glibc依賴。然而,它不能是一個noarch包,因為它包含“GNU libc 庫的通用二進製文件,以及國家語言(區域設置)支持”——這意味著它的內容因建構它每個架構而異。

RHEL 8 及其衍生glibc.i686版本僅支持 64 位平台,因此您可以安裝的唯一方案是作為glibc.x86_64. 如果相同架構的依賴不可用,解析器將考慮“主架構”包;在這種特定情況下,無論如何,依賴關係已經被解決,不會再安裝任何東西了。

引用自:https://unix.stackexchange.com/questions/719051