CentOS7咋升级glibc版本

Viewed 7

在本地使用vscode远程开发时,连接到远程服务器,出现报错,谷歌了下才发现是centos7的glibc版本太低,网上我也没找到有用的升级教程,求教如何安全升级glibc的版本

1 Answers

前言

glibc是Linux系统中的重要组件之一。在CentOS中,glibc通常是作为系统的默认C标准库使用的,因为它是许多软件的基础库。在CentOS中,glibc的版本通常与CentOS版本一起发布。因为CentOS通常会优先选择稳定性而不是最新性,所以CentOS使用的glibc版本通常不是很新。

glibc的版本较低有时会影响某些服务的使用,特别是一些需要使用较新的glibc版本的软件,可能无法在CentOS中正常运行。因此,在CentOS中使用这些软件时,可能需要手动升级glibc或使用其他 Linux发行版。

切记,一定要在测试环境测试通过之后,才能在生产环境操作,且操作前一定要做好系统快照及数据备份,否则一旦升级失败,影响是非常大的!


升级教程(这里以glibc2.31为例)

1.首先查看安装要求

wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz
tar -zxvf glibc-2.31.tar.gz
cd glibc-2.31/
cat INSTALL | grep -E  "newer|later"

输出:

 * GNU 'make' 4.0 or newer
           * GCC 6.2 or newer
             building the GNU C Library, as newer compilers usually produce
           * GNU 'binutils' 2.25 or later
           * GNU 'texinfo' 4.7 or later
           * GNU 'bison' 2.7 or later
           * GNU 'sed' 3.02 or newer
           * Python 3.4 or later
           * GDB 7.8 or later with support for Python 2.7/3.4 or later
           * GNU 'gettext' 0.10.36 or later

根据glibc安装要求,需要达到上述条件,才可进行glibc2.31版本编译安装。

我们系统里的make、gcc、python、gbd均不符合安装要求,需手动安装符合要求的版本。经测试,glibc升级到2.31版本,没有遇到gdb的报错问题,可能是因为直接升级了python至3.4以上。如果你当前编译的版本提示gdb报错问题,你可以升级gdb版本至7.8以上。当前环境没有出现此类问题,所以这里就没有升级gdb至7.8以上版本。

2. 开始安装基础库

yum install -y texinfo
yum install -y mlocate
yum install -y bzip2
yum install -y bison
yum groupinstall -y "Development Tools"

如果系统环境未安装gcc环境,还需执行如下命令来安装:

yum install gcc gcc-c++ -y

3. 编译安装gcc

wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
tar axf gcc-9.3.0.tar.gz
cd gcc-9.3.0
./contrib/download_prerequisites
cat /proc/cpuinfo| grep "processor"| wc -l
mkdir build
cd build
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr
make -j6
make install
gcc -v # 查看gcc版本

4. 编译安装make

wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz
tar axf make-4.3.tar.gz
cd make-4.3
mkdir build
cd build
../configure --prefix=/usr && make && make install
make -v # 查看版本

5. 安装Python3

yum install -y python3
python3 --version

6. 编译安装glibc

wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz
cd glibc-2.31/
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin --disable-sanity-checks --disable-werror
make -j6
make install
make localedata/install-locales
ldd --version
ll /lib64/libc.so.6

7. 检查是否安装成功

ldd --version

如果执行yum命令卡住,可进行如下操作:

# 删除rpm数据文件
rm -f /var/lib/rpm/__db.00*
# 重建rpm数据文件
rpm --rebuilddb

如果升级后PHP等服务出现异常,重启异常服务即可解决