![libc6 库的版本方案从 focal 更改为 jammy](https://linux22.com/image/1196944/libc6%20%E5%BA%93%E7%9A%84%E7%89%88%E6%9C%AC%E6%96%B9%E6%A1%88%E4%BB%8E%20focal%20%E6%9B%B4%E6%94%B9%E4%B8%BA%20jammy.png)
大家好,Ubuntu 社区,
我注意到 libc6 库的版本方案从 focal 变为 Jammy(即在 jammy libc6 包中,我观察到库名称上的次要版本已被删除,只有主要版本存在,而 focal libc6 包中并非如此)。我可以知道这个决定背后的原因吗,这是 Ubuntu 为其所有其他库包采取的路径(版本方案)吗?如果可能的话,是否有任何方法可以恢复旧的约定(libname 主版本.次要版本),例如安装某些包或更改设置
例子
焦点上的 libdl 名称:/usr/x86_64-linux-gnux32/lib64/libdl-2.31.so
jammy 上的 libdl 名称:/usr/x86_64-linux-gnux32/lib64/libdl.so.2
关联:
https://packages.ubuntu.com/focal/all/libc6-amd64-x32-cross/filelist
https://packages.ubuntu.com/jammy/all/libc6-amd64-x32-cross/filelist
提前致谢
答案1
此更改来自上游 glibc,请参阅v2.34 公告:
- 以前,glibc 将其各种共享对象安装在版本化的文件名下,例如 libc-2.33.so。ABI soname(例如 libc.so.6)以符号链接的形式提供。从 glibc 2.34 开始,共享对象直接安装在其 ABI soname 下,而无需符号链接。这提高了与分发包管理器的兼容性,分发包管理器会在软件包升级或降级过程中删除已删除的文件。
我认为这是不可配置的,glibc 或 Ubuntu 也不会恢复更改。但是,如果这确实导致了一些问题,您可以尝试提交错误报告。