暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ld.so.1库文件被破坏和删除导致异常的解决方法

原创 盖国强 2019-05-08
903

问题描述

一个同事在一台Solaris测试机上测试时,误将/usr/lib/ld.so.1文件给覆盖了。进而导致系统中命令无法使用:

bash-2.03# ls
Bus Error
ls: Cannot read /usr/lib/ld.so.1
Killed
# dmesg
dmesg: Cannot read /usr/lib/ld.so.1
Killed


专家解答

不过还好,这时没有将当前的session断开,否则就只有通过光盘恢复了。下面是恢复命令:

/usr/sbin/static/cp /etc/lib/ld.so.1 /usr/lib/

使用/usr/sbin/static/cp静态命令将/etc/lib目录下的ld.so.1备份文件拷贝到ld.so.1目录下即可。

 

上面的情况是用户现有session没有断开的情况下的恢复情况,如果系统当前session断开后,用户是无法再登录系统的,这时只能重启系统(而且运行reboot命令也会提示错误,只能通过按钮重启),通过光盘启动的方法恢复了:

恢复的方法,用光盘或者其他方式启动安装界面,在界面上直接启动一个终端程序。

1. 当前的usr/lib目录下是光盘中mount的目录。可以做为恢复系统中损坏的ld.so.1文件用。

2. 接下来要做的是找到原来系统中usr/lib目录,一般这个设备是在/dev/dsk下c1t*的设备文件,一般不会是c1t0d0s0的。如果以前有各个目录的设备名记录可以直接mount,不然只有一个一个来了。有可能在mount的时候会提示需要fsck,fsck命令是:fsck -F ufs /dev/rdsk/c1t0d0s0(设备名称,根据实际情况来改)

mount命令:mount /dev/rdsk/c1t0d0s0 /mnt   (设备名称也是要一个一个改的哦)

mount成功后需要到mnt目录下查看,是不是有lib目录,因为我们找的就是这个。

3. 找到这个设备后,就先ls -l 看一下,是不是没有运行权,没有当然加一下喽。方法:chmod +x  ld.so.1  

4. 这里要做的是先umount后再重新启动机器。

Umount命令: umount /mnt 

Fsck也可以用在发生系统不能启动的情况下,可以一个一个修复设备,一般的小问题都可以解决。


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论