CentOS7.9中将glibc从2.17升级到2.31

703 阅读2分钟

主要是因为最新的qwen3大模型,只能在ollama 0.6.6版本部署,但是ollama 这个版本需要至少glibc版本为2.27。经过在测试服务器上实验,可以直接升级到2.31.以下为升级步骤:

注意,升级glibc有系统崩溃的风险!!!一定要验证过再进行升级。

1.当前环境验证,检查glibc版本

ldd -version

image.png

strings /lib64/libc.so.6 | grep GLIBC

image.png

2.下载glibc2.31并解压

wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz

tar -zxvf glibc-2.31.tar.gz

3.查看glic2.31安装要求

cd glibc-2.31 cat INSTALL | grep -E "later|newer"

image.png

这里提到的每个依赖一定要仔细核对系统上的版本,满足才能执行编译安装等动作。

yum list binutils

yum list texinfo

yum list bison

yum list sed

yum list gettext

不满足版本要求的一定要先升级。

make -v

image.png

g++ -v

image.png

gdb -v

image.png

通过查看,gdb,gcc,make都需要升级

4.升级gdb:

wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.gz
tar -zxvf gdb-7.8.tar.gz

#修改授权给root
chown -R root.root gdb-7.8

cd gdb-7.8
mkdir build

cd build

../configure --prefix=/usr

make

make install

gdb -v 查看升级后的版本

image.png

5.升级gcc到9.3.0

#下载软件包  
wget https://mirrors.aliyun.com/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz  
#解压依赖包  
tar -zxf gcc-9.3.0.tar.gz  
cd gcc-9.3.0/  
#下载4个依赖包  
./contrib/download_prerequisites  
#这一步下载的时候特别慢,需要将文件里面的
#ftp://gcc.gnu.org/pub/gcc/infrastructure/ 修改成镜像
#http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/

#预编译  
mkdir build  
cd build  
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr  
#查看cpu核数  
cat /proc/cpuinfo| grep “processor”| wc -l  
#-j4中的数字为cpu核数,及并发工作任务数量,可以提高编译效率  
make -j4  #这一步漫长的等待
#编译安装  
make install

image.png 可以看到四个依赖都已经提示正常下载了。

检查gcc版本: gcc -v

image.png

6.升级make到4.3

 wget https://mirrors.aliyun.com/gnu/make/make-4.3.tar.gz  
 tar -zxf make-4.3.tar.gz  
 cd make-4.3/  
 mkdir build  
 cd build  
 ../configure --prefix=/usr  
make  
make install

image.png

7.编译glic2.31

cd ~/glic2-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 -j4

cp -r /usr/lib64 /usr/lib64.back  #先备份一下
make install

image.png

image.png

8.安装locale 在build目录下:

make localedata/install-locales