deepin 21 升级GLIBC2.29

经验之谈

Linux下对glibc库的操作要格外小心,稍有失误,轻则需要救援模式,重则开启系统重装之路。
可恨deepin V21 是基于 Debian 10 的,Debian 10 里目前还是 2.28,Debian 11 里才是 2.31,所以得等 V23 版升级到 Debian 11+ 才可以。
好在可以手动升级,虽然麻烦一些,但好歹一些高版本的软件能用了。

开整

# 下载
cd ~/Downloads
wget http://ftp.gnu.org/gnu/glibc/glibc-2.29.tar.gz

# 解压并进入创建临时目录
tar -zxf glibc-2.29.tar.gz
cd glibc-2.29
mkdir build
cd build/

# 安装编译依赖
sudo apt-get install gawk bison -y

# 检测编译环境,生成Makefile
../configure --prefix=/usr/local --disable-sanity-checks
# 编译
make
# 安装到系统中
sudo make install

# 拷贝编译产物
sudo cp /usr/local/lib/libm-2.29.so /lib/x86_64-linux-gnu/
# 创建链接
cd /lib/x86_64-linux-gnu/
sudo ln -sf libm-2.29.so libm.so.6

# 查看安装结果
strings /lib/x86_64-linux-gnu/libm.so.6 | grep GLIBC_

这个方法亲测有效,来自deepin论坛https://bbs.deepin.org/post/234462?offset=0&limit=20#comment

还有个疑问,libc和libm是什么关系?

毕竟是开发环境,我也没有那么爱折腾,只替换了libm.so,libc.so还是没敢动。
查到的资料说libm.so 依赖 libc.so,但 libc.so 并不依赖 libm.so。
如果有人把libc.so也换了,可以留言告诉我结果。

你可能感兴趣的:(linux,deepin,深度)