Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3194175
  • 博文数量: 443
  • 博客积分: 11301
  • 博客等级: 上将
  • 技术积分: 5679
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-08 12:30
个人简介

欢迎加入IT云增值在线QQ交流群:342584734

文章分类

全部博文(443)

文章存档

2022年(1)

2021年(1)

2015年(2)

2014年(1)

2013年(1)

2012年(4)

2011年(19)

2010年(32)

2009年(2)

2008年(4)

2007年(31)

2006年(301)

2005年(42)

2004年(2)

分类:

2006-03-12 16:16:40

#crle -l /usr/local/bin/psed \
>; -l /usr/local/bin/pstruct \
>; -l /usr/local/share/man/man/c2ph.1 \
>; -l /usr/local/share/man/man/s2p.1
从此,就发生了灾难性的后果:
#crle
ld.so.1: ls:致命的: libc.so.1打开失败: 不是一个目录
被杀掉
#ls
ld.so.1: ls:致命的: libc.so.1打开失败: 不是一个目录
被杀掉
#cmd (任何命令都不行,除exit外)
#/sbin/shutdown -i5 -g0 -y (结果一样)
重启(来硬的!):
ld.so.1: mount:fatal: libc.s0.1: open failed: Not a directory
Killed
ld.so.1: /usr/bin/who: fatal: libc.so.1: open failed: Not a directory
....
结果都是一样!这下可惨了,启都启不动了.
不知还能不能救?实在没法,俺只好重装了.
我本来能用LD_LIBRARY_PATH解决链接这个问题的,但昨天看了crle的man页,想用上一用,没想到结果会是这样的惨!

在man中是这么说得:
-l dir
           This option specifies a new default  search  directory
           dir  for  ELF or AOUT objects. Multiple occurrences of
           this option are permitted. The type of object applica-
           ble  to  the  search  is specified by the preceding -t
           option, or defaults to ELF.
告诉你解决办法,你不需要重新安装系统,只要用安装盘进入当用户模式:
1. boot cdrom -s
2. fsck /dev/dsk/c0t0d0s0 (取决于你的根盘)
3. mount -F ufs /dev/dsk/c0t0d0s0 /mnt
4. 执行crle命令该回来:crle -l /usr/lib
    (/usr/lib是系统缺省路径!)
5. reboot

按照你的要求,是解决LD_LIBRARY_PATH问题,一般是因为你进行了setuid,导致LD_LIBRARY_PATH无效了,这时你需要的是增加信任路径,所以应该执行crel -s /opt/oracle/product/8.1.7/lib 命令,其中/opt/oracle/product/8.1.7/lib是LD_LIBRARY_PATH的环境值,同时最好在执行crle增加信任路径时,不要丢掉原来系统的信任路径,所以应该执行crle -s "系统原有路径" -s “新增加路径”
1。用光盘引导系统
2。用fsck 修复系统
3。把/以及/usr 、/var下的文件系统mount到一个临时点(一定要把/usr和/var下的文件系统也mount上,否则这些目录下什么都看不到)
4。删除/var/ld目录下的配置文件
系统本来是没有这个配置文件的,一旦用了crle命令,则会在/var/ld中创建一个配置文件;以后,当系统找动态连接库时,就需要根据这个配置文件中设置的路径来搜索。简便的方法就是把此配置文件删除。
阅读(1252) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~