ubuntu20.04 GLIBC从2.35降级到2.31

ubuntu20.04默认的GLIBC版本是2.31,因为某些库的依赖问题,脑子一抽把GLIBC升级到2.35,GLIBC升级参考一下另外一位博主的文章
Ubuntu20.04更新GLIBC到2.35版本_glibc-2.35-CSDN博客

但当我想把GLIBC回退到2.31版本,参考网上的办法, 源码安装,但是不成功(我是用docker测试的,千万不要用自己的系统测试,很可能会出现make install 失败,然后无论输入什么指令都会段错误)。

我分析的原因就是手动很难处理GLIBC升级或者降级产生的依赖库的问题,所以通过源码降级风险很大。所以多次测试后,终于能通过aptitude install 实现GLIBC降级。

为把风险降低,还是建议先进行系统备份。

如果你是通过 apt install libc6的方式升级的GLIBC,建议先把 sources.list中新增的源去掉,然后 sudo apt update一下。

接下来是核心流程:
1. 检查可用版本

apt-cache policy libc6

2.31-0ubuntu9.16 是我们要安装的目标版本

sudo apt-get install libc6=2.31-0ubuntu9.16 安装会提示依赖错误

所以先处理依赖问题。
2.更新软件包索引,并清除未完成或残缺的安装缓存:

bash 复制代码
sudo apt-get update  
sudo apt-get clean  
sudo apt-get autoremove

3. 解除libselinux1 tar readline-common包的锁定,然后重新安装这三个包

bash 复制代码
sudo apt-mark unhold libselinux1 tar readline-common
sudo apt-get install libselinux1 tar readline-common

4. 安装libc6=2.31-0ubuntu9.16

bash 复制代码
sudo aptitude install libc6=2.31-0ubuntu9.16

期间会多次建议你保持 libc6 [2.35-0ubuntu3 (now)],均选择 n,直到出现下图

开始安装 低版本的依赖,选择Y,一直y,安装完成后,查看一下GLIBC版本

恭喜你回退成功!!!寄给现在遇到困难的我和你,再坚持一下,就能成功。

相关推荐
weixin_471525783 小时前
【gdb/sqlite3移植/mqtt】
linux·运维·服务器
大聪明-PLUS3 小时前
TCP/IP 协议族—理论与实践(一)
linux·嵌入式·arm·smarc
迎風吹頭髮6 小时前
Linux内核架构浅谈2- Linux内核与硬件交互的底层逻辑:硬件抽象层的作用
linux·架构·交互
孙同学要努力7 小时前
《Linux篇》进程状态——浅度、深度睡眠状态、僵尸状态、运行状态
linux·运维
jieyu11198 小时前
Linux Rootkit 详解
linux·运维·系统安全
宁檬精8 小时前
运维面试准备——综合篇(一)
linux·运维·服务器
洛阳纸贵Coco.Leo.YI8 小时前
10分钟在Windows11下Ubuntu内安装docker-Version28.51
linux·ubuntu·docker
阿巴~阿巴~8 小时前
Ubuntu 20.04 安装 Redis
linux·服务器·数据库·redis·ubuntu
aitav08 小时前
⚡ arm 32位嵌入式 Linux 系统移植 NTP 服务
linux·arm开发·ntp
爱奥尼欧9 小时前
【Linux笔记】网络部分——socket 编程 TCP实现多台虚拟机使用指令访问云服务器
linux·服务器·网络