livecd環境下chroot修復系統

曲珂發表於2015-03-09

今天想升級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

完工

驚得一身冷汗

相關文章