当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

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

是否有可能借助程序包管理器来做到这一点(例如“将此程序包及其依赖项安装到/opt/old-glibc),而不是直接管理它

最佳方法

是的,有可能。您必须非常注意库的加载路径,并且可能需要重新编译其他库。

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

Debian(或Ubuntu)附带了一个软件包,用于协助在chroot中安装另一个系统:schroot(dchroot的后继者)。首先,使用debootstrap安装较旧的发行版(仅安装基本系统和程序需要的内容,而不安装服务器)。然后设置schroot以方便地运行程序(可访问/dev/proc/home和其他“satellite”文件系统)。

因此,计划是:先进行debootstrap,再进行dchroot。在How do I run 32-bit programs on a 64-bit Debian/Ubuntu?中,我提供了有关类似设置的教程-无论您运行的是不同版本的发行版,不同的体系结构还是不同的Debian-like发行版,只需选择适当的软件包源即可,其余都是相同的。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10808.html,未经允许,请勿转载。