CentOS7.9中的Glibc2.17源码编译升级到Glibc2.31
一、准备工作
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
CentOS7.9中的Glibc2.17源码编译升级到Glibc2.31的更多相关文章
- CentOS7下常用安装服务软件源码编译安装方式的介绍
简介:介绍源码编译安装软件包的管理 源码安装优点:编译安装过程,可以设定参数,指定安装目录,按照需求进行安装,指定安装的版本,灵活性比较大. 源码安装的缺点:需要对依赖包一个一个的进行安装,不敢随便升 ...
- CentOS6.6源码编译升级GCC至4.8.2
升级前提 源码编译需要至少要有一个可用的gcc编译器. 可以用过yum自动安装或者手动下载rpm包安装. 通过yum可以看到至少需要下面这些安装包,所以可以到许多rpm package站点中搜索下载相 ...
- golang基于当前1.9版本进行源码编译升级到1.10
一.起因 golang出了最新的1.10版本,而刚出的vgo也是需要基于该最新版本的.为了测试vgo,因此需要将我的v1.9升级到v1.10版本. 安装过golang的同学都知道,golang常用的有 ...
- Linux中MySQLl单实例源码编译安装
MySQL5.5以后源码安装要用cmake 1.3 安装相关包(cmake) 1.3.1 cmake软件 cd /home/Public/tools/ tar xf cmake-2.8.8.tar.g ...
- 在Xcode中使用Git进行源码版本控制
http://www.cocoachina.com/ios/20140524/8536.html 资讯 论坛 代码 工具 招聘 CVP 外快 博客new 登录| 注册 iOS开发 Swift Ap ...
- ThreadPoolExecutor的应用和实现分析(中)—— 任务处理相关源码分析 线程利用(转)
前面一篇文章从Executors中的工厂方法入手,已经对ThreadPoolExecutor的构造和使用做了一些整理.而这篇文章,我们将接着前面的介绍,从源码实现上对ThreadPoolExecuto ...
- Ubuntu 17.04版本下,opencv进行源码编译安装
本文主要针对Ubuntu 17.04版本下,opencv进行源码编译安装.开发环境主要针对python 对 openCV库的调用. 安装 gcc cmake 编译环境 sudo apt-get ins ...
- centos7 源码编译安装TensorFlow CPU 版本
一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...
- nginx源码编译以及源码编译过程中遇到的问题
本文主要讲nginx安装以及安装过程中遇到的问题. 谈到nginx 必须聊聊它的起源和发展. nginx是由俄罗斯工程师Igor Sysoev 用C语言开发的一个免费开源的Web服务器软件,于2004 ...
- Netty中NioEventLoopGroup的创建源码分析
NioEventLoopGroup的无参构造: public NioEventLoopGroup() { this(0); } 调用了单参的构造: public NioEventLoopGroup(i ...
随机推荐
- C盘清理,移动node 依赖和缓存文件
由于先前安装的node 没有做任何配置,都是傻瓜式下一步,导致了我很多依赖都放置C盘,内存占用过多:也不太好管理所有觉得将它移动到node安装目录 一.新建文件夹 在原本安装的nodejs目录下新建 ...
- python学习---logging模块
# shutil 主要更目录和文件有关模块# 拷贝目录 shutil,copy2('原路径', '目标路径')# 拷贝文件# 删除目录'''#为什么要写LOG # log是为了排错: #log 是为了 ...
- K8s Pod状态与容器探针
1.pod的调度流程及常见状态 1.1.pod的调度流程 Pod创建过程如上图所示,首先用户向apiserver发送创建pod的请求,apiserver收到用于创建pod请求后,对应会对该用户身份信息 ...
- Android SmartTable表格框架1_如何使用
SmartTable github地址:https://github.com/huangyanbin/smartTable 参考:https://juejin.cn/post/684490354910 ...
- ABP - 缓存模块(1)
1. 与 .NET Core 缓存的关系和差异 ABP 框架中的缓存系统核心包是 Volo.Abp.Caching ,而对于分布式缓存的支持,abp 官方提供了基于 Redis 的方案,需要安装 Vo ...
- 【python基础】复杂数据类型-列表类型(排序/长度/遍历)
1.列表数据元素排序 在创建的列表中,数据元素的排列顺序常常是无法预测的.这虽然在大多数情况下都是不可避免的,但经常需要以特定的顺序呈现信息.有时候希望保留列表数据元素最初的排列顺序,而有时候又需要调 ...
- hosts文件妙用,提升网站访问速度!
一.背景 在讲解hosts文件之前,我们先了解下IP地址与域名的关系. 1.IP地址与域名的关系 IP(Internet Protocol)是一种规定互联网中数据传输的协议,每台连接到互联网中的计算机 ...
- 【HMS Core】Android Studio安装Toolkit登录报错{"httpCode":500,"errorCode":"00012005"...
[问题描述] 在Android Studio安装Toolkit插件,安装后登录,报错 [问题分析] 此种情况一般是由于开发者账户未实名造成的 [解决方案] 1.检查开发者账户是否实名,登录联盟 ...
- global average pooling
首先需要对深度网络中常见的pooling方式,以及全连接层有大致的了解.(此处略过不提.) paper: Network in Network fully connected layer 的缺点 在N ...
- 让AI支持游戏制作流程:从游戏设计到发布一个完整的生态系统
目录 引言 随着游戏产业的快速发展,人工智能(AI)技术在游戏开发中的应用越来越广泛.游戏设计人员可以通过利用AI技术来自动化游戏中的某些流程,提高游戏制作的效率,降低开发成本,同时还可以创造出更加具 ...