第九篇 CentOS升级Glibc2.28

第九篇 CentOS升级Glibc2.28

2023年2月25日 服务器 0

因安装alist最新版提示需要更高的Glibc我才想到我的Glibc可能已经过时了,于是通过以下方式成功更新为Glibc2.28,据测试此方法可持续最高更新至2.32(仅需将命令中所有2.28替换为2.32),但2.34是貌似无法更新的,以下为更新为2.28的简单流程。

wget  https://mirror.bjtu.edu.cn/gnu/libc/glibc-2.28.tar.xz
tar -xf glibc-2.28.tar.xz -C /usr/local/
cd /usr/local/glibc-2.28/
mkdir build
cd build/
../configure --prefix=/usr/local/glibc-2.28

上述段落若第一行无法下载,可尝试使用以下命令替代第一行

###若失败可执行wget https://pan.hanxucloud.cn/d/Onedrive/Alist/Applications/Linux/Glibc/glibc-2.28.tar.xz

执行命令后注意看报错与原因,并根据原因找到对应的解决方法。

若报错1:
configure: error: in `/root/test/glibc-2.28/build’:
configure: error: no acceptable C compiler found in $PATH

执行

yum install gcc -y

若报错2:
These critical programs are missing or too old: make
Check the INSTALL file for required versions.

原因: make太过老旧,执行下文升级make
执行以下命令

wget http://ftp.gnu.org/gnu/make/make-4.2.tar.gz
tar -xzvf make-4.2.tar.gz
cd make-4.2
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/bin/make
sudo cp ./make /usr/bin/
make -v

同上,若第一句命令失败,则可尝试执行

wget https://pan.hanxucloud.cn/d/Onedrive/Alist/Applications/Linux/Make/make-4.2.tar.gz

若报错3:
These critical programs are missing or too old: compiler
Check the INSTALL file for required versions.

原因:gcc版本太旧,执行下文升级gcc

um -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash
###yum安装完,原来的gcc不覆盖,需要执行enable脚本更新环境变量 
source /opt/rh/devtoolset-8/enable
###想保持覆盖,可将其写入~/.bashrc或/etc/profile
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
###查看gcc版本
gcc -v

若无报错后,重新执行

随后执行
wget  https://mirror.bjtu.edu.cn/gnu/libc/glibc-2.28.tar.xz
tar -xf glibc-2.28.tar.xz -C /usr/local
cd /usr/local/glibc-2.28/
mkdir build
cd build/
yum install -y bison
sudo ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make  //make 运行时间较长,可能会有半小时
###如make没有运行成功,解决error后需要先运行make clean,清除之前make的内容,才能再次执行make
,若之前没有进行过make可直接跳过下列两行,直接执行make install
#make clean
#make
make install

同上,若第一句失败则可执行

wget https://pan.hanxucloud.cn/d/Onedrive/Alist/Applications/Linux/Glibc/glibc-2.28.tar.xz

安装完成,查询是否有glibc-2.28版本

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

来源:链接

若中途更新失败或中途意外中断一定要查看:链接

发表回复