如何正确升级glibc?

Tob*_*ler 11 upgrade glibc

我的 NAS 固件版本比较老glibc,也就是 2.5。为了应对一些链接预编译的二进制*glibc2.15,我想将它升级。通过在chroot环境中进行的一些简单测试,我了解到简单地添加更新libc-2.15.so并更新符号链接libc.so.6将产生一个无法使用的系统;可能是由于依次libc-2.15.so链接ld-linux.so.3,这当然也需要 2.15 版本而不是 2.5 版本。但在我陷入太多的试错之前,

手动升级 glibc 的正确步骤是什么?


*尽管被“静态”链接,它们仍然动态链接到 glibc...

Gil*_*il' 7

升级标准库是有风险的,因为某些程序和库可能依赖于当前版本。

如果您需要运行较新的程序,我的建议是安装完整的chroot发行版。这需要更多的磁盘空间,但比尝试更新 libc 简单得多,风险也小得多。Debian 提供了一个工具来促进在 chroot 中的安装:debootstrap。有关更多解释,请参阅在 debian/ubuntu 中安装两个 glibc(非常相似的情况)以及如何在 64 位 Debian/Ubuntu 上运行 32 位程序?在略有不同的情况下获得完整的操作方法。

  • @Nils 你缺少的是 *should* 和 *does* 之间的区别。程序有时依赖于版本之间变化的未记录行为。 (3认同)
  • 我也很害怕...实际上我_我_目前正在使用 chrooted Gentoo 安装。为了编译 chroot 之外的二进制文件,降级 Gentoo 的 glibc 可能会更容易,或者使用足够旧的版本......然后我再次严重怀疑(或至少希望不是)这是最终答案。 (2认同)