livecd环境下chroot修复系统

今天想升级centos5.7的glibc版本,想当然的把新编译的glibc的libc-2.7.so 复制到/lib64/libc-2.5.so

lrwxrwxrwx 1 root root 11 Mar  5 10:30 /lib64/libc.so.6 -> libc-2.5.so

然后系统挂了,ssh被无情的断开了

无奈让机房给起个livecd

登陆上后执行以下操作

mount -t ext4 /dev/sda1 /mnt/backup
mount -o bind /dev /mnt/backup/dev
mount -o bind /proc /mnt/backup/proc
mount -o bind /sys /mnt/backup/sys
chroot /mnt/backup

这样就进入原来系统的环境了

然后就是查看原来glibc的版本

rpm -qa |grep glibc
glibc-2.5-65.el5_7.1
glibc-headers-2.5-65.el5_7.1
glibc-devel-2.5-65.el5_7.1
glibc-devel-2.5-65.el5_7.1
glibc-common-2.5-65.el5_7.1
glibc-2.5-65.el5_7.1

rpm -ql glibc-2.5-65.el5_7.1|grep libc-2.5.so
/lib64/libc-2.5.so
/lib/i686/nosegneg/libc-2.5.so
/lib/libc-2.5.so

由于没有找到原来系统的glibc版本,就下载了glibc-2.5-123.el5_11.1.x86_64.rpm,解压替换

rpm2cpio glibc-2.5-123.el5_11.1.x86_64.rpm |cpio -div

完工

惊得一身冷汗

原文地址:https://www.cnblogs.com/txwsqk/p/4324072.html