04月24, 2020
收藏本站

centos6 glibc2.14.0回退到2.12.0

由于某种原因,需要把GLIBC 2.14.0降级到2.12.0。网上很多都是2.12.0->2.14.0升级教程,却没教我们怎么降级。

!!!着重强调,请先在测试机上先演练,误操作可能导致机器无法启动。

首先一定要先 备份/lib64 备份/lib64 备份/lib64,防止误操作系统奔溃。

[root@localhost /]# cp -rf /lib64 /lib64_bak

查看当前/lib64目录下版本是2.12.0或2.14.0的软链接

[root@localhost ~]# cd /lib64
[root@localhost lib64]# ll |grep -E '2\.12|2\.14'|grep lrwxrwxrwx
lrwxrwxrwx  1 root root      10 4月  24 10:35 ld-linux-x86-64.so.2 -> ld-2.14.so
lrwxrwxrwx  1 root root      14 4月  24 10:35 libanl.so.1 -> libanl-2.14.so
lrwxrwxrwx  1 root root      23 4月  24 10:35 libBrokenLocale.so.1 -> libBrokenLocale-2.14.so
lrwxrwxrwx  1 root root      15 4月  24 10:35 libcidn.so.1 -> libcidn-2.14.so
lrwxrwxrwx  1 root root      16 4月  24 10:35 libcrypt.so.1 -> libcrypt-2.14.so
lrwxrwxrwx  1 root root      12 4月  24 10:35 libc.so.6 -> libc-2.14.so
lrwxrwxrwx  1 root root      13 4月  24 10:35 libdl.so.2 -> libdl-2.14.so
lrwxrwxrwx  1 root root      12 4月  24 10:35 libm.so.6 -> libm-2.14.so
lrwxrwxrwx  1 root root      14 4月  24 10:35 libnsl.so.1 -> libnsl-2.14.so
lrwxrwxrwx  1 root root      21 4月  24 10:35 libnss_compat.so.2 -> libnss_compat-2.14.so
lrwxrwxrwx  1 root root      18 4月  24 10:35 libnss_dns.so.2 -> libnss_dns-2.14.so
lrwxrwxrwx  1 root root      20 4月  24 10:35 libnss_files.so.2 -> libnss_files-2.14.so
lrwxrwxrwx  1 root root      21 4月  24 10:35 libnss_hesiod.so.2 -> libnss_hesiod-2.14.so
lrwxrwxrwx  1 root root      22 4月  24 10:35 libnss_nisplus.so.2 -> libnss_nisplus-2.14.so
lrwxrwxrwx  1 root root      18 4月  24 10:35 libnss_nis.so.2 -> libnss_nis-2.14.so
lrwxrwxrwx  1 root root      18 4月  24 10:35 libpthread.so.0 -> libpthread-2.14.so
lrwxrwxrwx  1 root root      17 4月  24 10:35 libresolv.so.2 -> libresolv-2.14.so
lrwxrwxrwx  1 root root      13 4月  24 10:35 librt.so.1 -> librt-2.14.so
lrwxrwxrwx  1 root root      15 4月  24 10:35 libutil.so.1 -> libutil-2.14.so

可以发现当前指的版本都是2.14,猜想是不是把软链接地址改成2.12就可以了。

此时要再查看当前目录下是否有2.12版本的文件。

[root@localhost lib64]# ll |grep -E '2\.12|2\.14'
-rwxr-xr-x 1 root root  159312 4月  24 10:15 ld-2.12.so
-rwxr-xr-x 1 root root  840492 4月  24 10:15 ld-2.14.so
lrwxrwxrwx 1 root root      10 4月  24 10:33 ld-linux-x86-64.so.2 -> ld-2.14.so
-rwxr-xr-x 1 root root   19872 4月  24 10:15 libanl-2.12.so
-rwxr-xr-x 1 root root   73466 4月  24 10:15 libanl-2.14.so
lrwxrwxrwx 1 root root      14 4月  24 10:33 libanl.so.1 -> libanl-2.14.so
-rwxr-xr-x 1 root root    8936 4月  24 10:15 libBrokenLocale-2.12.so
-rwxr-xr-x 1 root root   19168 4月  24 10:15 libBrokenLocale-2.14.so
lrwxrwxrwx 1 root root      23 4月  24 10:33 libBrokenLocale.so.1 -> libBrokenLocale-2.14.so
...
...

发现是有的,于是执行下面命令即可。

[root@localhost ~]# cd /lib64
[root@localhost lib64]# ln -snf ld-2.12.so ld-linux-x86-64.so.2
[root@localhost lib64]# ln -snf libanl-2.12.so libanl.so.1
[root@localhost lib64]# ln -snf libBrokenLocale-2.12.so libBrokenLocale.so.1
[root@localhost lib64]# ln -snf libcidn-2.12.so libcidn.so.1
[root@localhost lib64]# ln -snf libcrypt-2.12.so libcrypt.so.1
[root@localhost lib64]# ln -snf libc-2.12.so libc.so.6
[root@localhost lib64]# ln -snf libdl-2.12.so libdl.so.2
[root@localhost lib64]# ln -snf libm-2.12.so libm.so.6
[root@localhost lib64]# ln -snf libnsl-2.12.so libnsl.so.1
[root@localhost lib64]# ln -snf libnss_compat-2.12.so libnss_compat.so.2
[root@localhost lib64]# ln -snf libnss_dns-2.12.so libnss_dns.so.2
[root@localhost lib64]# ln -snf libnss_files-2.12.so libnss_files.so.2
[root@localhost lib64]# ln -snf libnss_hesiod-2.12.so libnss_hesiod.so.2
[root@localhost lib64]# ln -snf libnss_nis-2.12.so libnss_nis.so.2
[root@localhost lib64]# ln -snf libnss_nisplus-2.12.so libnss_nisplus.so.2
[root@localhost lib64]# ln -snf libpthread-2.12.so libpthread.so.0
[root@localhost lib64]# ln -snf libresolv-2.12.so libresolv.so.2
[root@localhost lib64]# ln -snf librt-2.12.so librt.so.1
[root@localhost lib64]# ln -snf libutil-2.12.so libutil.so.1

此时,发现glibc版本已经将回2.12了

[root@localhost ~]# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

Comments