在 debian/ubuntu 中同时安装两个 glibc

Ela*_*ich 17 ubuntu debian dynamic-linking glibc

是否可以在同一台机器上安装和使用两个不同的 glibc 版本。其中一个版本仅用于运行依赖旧 glibc 二进制文件的遗留软件?

是否可以在包管理器的帮助下做到这一点(例如“安装此包及其依赖项到/opt/old-glibc),而不是可怕地管理它

Gil*_*il' 8

是的,这是可能的。您必须非常小心库加载路径,并且您可能需要重新编译一些其他库。

作为最小摩擦的路径,我建议在chroot 中安装旧版本的 Debian 或 Ubuntu 。也就是说,创建一个目录,例如/old/etch,并在以那里为根的树中安装较旧的发行版;要运行该有问题的程序,请调用chroot以将其对文件系统的视图限制为/old/etch.

Debian(或 Ubuntu)带有一个包来帮助在 chroot 中安装另一个系统:schroot(dchroot 的后继者)。首先,使用debootstrap安装旧的发行版(只安装基本系统和你的程序需要的东西,没有服务器)。然后设置schroot方便地运行程序(用/dev/proc/home等“卫星”文件系统访问)。

所以计划是:debootstrap,然后是 dchroot。在如何在 64 位 Debian/Ubuntu 上运行 32 位程序?,我给一个关于类似设置的教程?无论您运行的是不同版本的发行版,还是不同的体系结构,或不同的类 Debian 发行版,只需选择合适的软件包源,其余的都是一样的。