共计 1860 个字符,预计需要花费 5 分钟才能阅读完成。
一、引言
在 Liunx 零碎 CentOS7.9 的中部署我的项目遇到了 Glibc 版本过低的问题,应用 yum 装置最高只能装置 Glibc2.17 并不能满足要求,本文介绍了如何用源码编译的办法降级 Glibc 的版本。
二、筹备工作
1、配置 yum 阿里镜像源
-
查看 yum 以后配置的仓库,如果 yum 配置的不是阿里云源,请配置阿里云源。
yum repolist all
-
验证是否能 ping 通阿里云
# 如果不能 ping 通可能是 DNS 没有配置 ping mirrors.aliyun.com
-
备份官网的原 yum 源配置
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back
-
下载 Centos-7.repo 文件
# 如果没有 wget 命令,应用 yum install wget 进行装置 wget -o /etc/yum.repos.d/CentOS-Base.repo http://mirros.aliyun.com/repo/Centos-7.repo
-
革除及生成缓存
# 革除 yum 缓存 yum clean all # 缓存阿里云源 yum makecache # 测试阿里云源 yum list # 更新 yum 源 yum update
2、装置 Python3
yum install python3
3、降级 gcc
# 下载软件包
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
# 预编译
mkdir build
cd build
../configure --enable-checking=release --enable-language=c,c++ --disable-multilib --prefix=/usr/local/gcc
# 查看 cpu 核数
cat /proc/cpuinfo| grep“processor”| wc -l
# -j4 中的数字为 cpu 核数,及并发工作工作数量,能够进步编译效率, 编译工夫比拟久。make -j4
# 编译装置
make install
# 配置软链接
mv /usr/bin/gcc /usr/bin/gcc_4.8.5
ln -s /usr/local/gcc/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++_4.8.5
ln -s /usr/local/gcc/bin/g++ /usr/bin/g++
# 查看 gcc 版本
gcc -v
4、降级 make
# 下载软件包
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
# -j4 中的数字为 cpu 核数,及并发工作工作数量,能够进步编译效率
make -j4
# 编译装置
make install
# 查看版本
make -v
5、装置 biso
yum install biso
三、源码编译装置
留神: 如果 make 编译完有谬误,肯定不要执行 make install 安装操作,有可能会把零碎搞崩命令生效的状况。呈现谬误的起因就是
/usr/lib64
中的软连贯呈现了不匹配的状况。复原之前的软连贯即可复原零碎。呈现问题后,千万不要断开 SSH 的连贯,断开就连不上了会十分麻烦。
# 下载软件包
wget https://mirrors.aliyun.com/gnu/glibc/glibc-2.31.tar.gz
# 解压
tar -zxvf glibc-2.31.tar.gz
# 预编译
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
# 备份 lib64
cp /usr/lib64 /usr/lib64.back
# 装置
make install
# 查看版本
ldd --version
四、装置 locale(可选)
make localedata/install-locales
正文完