《Linux运维总结:Centos7.6之glibc2.17版本升级至2.31》

一、背景信息

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

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

此外,由于glibc是Linux系统中的重要组件之一, 在升级glibc前,需要确保备份系统数据和文件,并在升级之前进行全面的测试和评估以避免潜在的系统崩溃和不稳定性。大多数情况下,建议使用系统默认的glibc版本,除非有明确的需要使用较新版本的glibc。

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


二、升级步骤

2.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版本编译安装。

操作系统组件名称组件版本版本查看命令是否符合要求是否需要安装是否影响glibc升级
CentOS 7.6.1810make3.82make -v
CentOS 7.6.1810gcc4.8.5gcc -v
CentOS 7.6.1810binutils2.27yum info binutils
CentOS 7.6.1810texinfo5.1yum info texinfo
CentOS 7.6.1810bison3.0.4yum info bison
CentOS 7.6.1810sed4.2.2sed --version
CentOS 7.6.1810Python2.7.5python --version
CentOS 7.6.1810gdb7.6.1gdb --versiont 否(可不升级)
CentOS 7.6.1810gettext0.19.8.1yum info gettext

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


2.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

2.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

如下图所示:
在这里插入图片描述


2.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

如下图所示:
在这里插入图片描述


2.5、安装python3

yum install -y python3
python3 --version
Python 3.6.8

2.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

make install结束会出现一个错误,此错误可忽略
在这里插入图片描述

安装完成后检查glibc版本
在这里插入图片描述

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

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

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:Linux运维实战总结

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东城绝神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值