如何在 Linux 中安装和运行多个 glibc 库

GNU C 库glibc)是一个基本组成部分,为各种应用程序提供基本功能。

在某些情况下,您可能需要安装多个版本glibc支持不同的应用程序或确保与旧软件的兼容性。

本指南将向您展示如何使用简单的步骤在 Linux 系统上安装和管理多个 glibc 库。

安装多个的主要原因glibc库的目的是支持需要不同版本库的不同应用程序。

当您需要运行与最新版本不兼容的旧软件时,可能会发生这种情况glibc。例如,某些较旧的应用程序可能依赖于早期版本中可用的特定特性或功能。glibc

第 1 步:安装所需的软件包

安装多个之前glibc库,确保您的系统是最新的。

sudo apt update    [On Debian-based Systems]
sudo yum update    [On RedHat-based Systems]

接下来,安装构建和安装所需的必要包glibc在。

sudo apt install build-essential libssl-dev libgdbm-dev libdb-dev libexpat-dev libncurses5-dev libbz2-dev zlib1g-dev gawk bison
安装所需的软件包

为了,安装开发工具包裹。

sudo yum groupinstall "Development Tools"

步骤 2:安装多个 glibc 库

要安装多个glibc库,您将需要单独编译和安装每个版本,如图所示。

首先,下载需要的版本glibc官方 glibc 存储库或可靠来源,或使用以下内容下载glibc 2.39glibc 2.38版本。

wget https://ftp.gnu.org/gnu/glibc/glibc-2.39.tar.xz
wget https://ftp.gnu.org/gnu/glibc/glibc-2.38.tar.bz2

接下来,使用以下命令提取下载的源代码,这将创建一个包含以下内容的新目录glibc源代码。

tar -xvf glibc-2.39.tar.xz
tar -xvf glibc-2.38.tar.xz

导航到提取的目录并运行以下命令来配置构建和安装glibc,它允许您安装多个版本glibc没有冲突。

为了glibc 2.39:

cd glibc-2.39
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.39
make -j4
sudo make install
在 Linux 中构建 Glibc

为了glibc 2.38:

cd glibc-2.38
mkdir build
cd build
../configure --prefix=/usr/local/glibc-2.38
make -j4
sudo make install

管理多个 glibc 库

安装多个后glibc库,您需要管理它们以确保您的应用程序使用正确的版本。

要使用特定的glibc版本,您需要设置LD_LIBRARY_PATH环境变量。

为了glibc 2.39:

export LD_LIBRARY_PATH=/usr/local/glibc-2.39/lib:$LD_LIBRARY_PATH

为了glibc 2.38:

export LD_LIBRARY_PATH=/usr/local/glibc-2.38/lib:$LD_LIBRARY_PATH

您可以将这些行添加到您的.bashrc或者.profile文件以使更改永久生效。

最后,检查glibc版本以确保其正确安装。

/usr/local/glibc-2.39/lib/ld-2.30.so --version
/usr/local/glibc-2.38/lib/ld-2.31.so --version

运行具有特定 glibc 版本的应用程序

运行具有特定功能的应用程序glibc版本,使用LD_PRELOAD环境变量。

例如,要运行一个应用程序glibc 2.39, 使用。

LD_PRELOAD=/usr/local/glibc-2.39/lib/ld-2.30.so ./your_application
结论

通过执行以下步骤,您可以安装和管理多个glibcLinux 系统上的版本,允许您运行依赖于不同版本的应用程序glibc版本而不干扰系统的默认库。