My FAQ,最新最全的IT技术FAQ
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论
  当前位置: > 操作系统 > SCO_Unix
SCO 5.0.6 启机故障
作者:未知 时间:2005-09-13 15:23 出处:ChinaUnix.net 责编:My FAQ
              摘要:SCO 5.0.6 启机故障

有一台SCO5。0。6 HP DL360机器,
由于误操作将/usr/lib/libscoket.so.1文件删除,导致系统故障。
现已用应急boot盘和root盘将该文件恢复。
但是从硬盘启动时,已通过操作系统的硬件检测,出现硬件列表后
报错:
warning exit-/etc/init (PID 1) died, status 0x0000008B 

请诸位大虾给谢建议,先谢了。

 saintdragon 回复于:2005-06-08 15:02:22
操作系统起来了吗?

 CNL 回复于:2005-06-08 15:50:16
/usr/lib/libsocket.so.1只是个连接文件,到同一版本其它机器上
ls -l /usr/lib/libsocket.so.1
看看实际文件的位置,恢复实际文件后再手工ln -s重新在/usr/lib建立对应连接

 seventh 回复于:2005-06-08 16:19:55
先谢过两位斑竹的回复。
libsocket.so.1的问题已经修复了。
只是从硬盘启动的时候,显示到硬件列表后就报错,
还未出现维护方式的提示,就hung住了。

 seventh 回复于:2005-06-08 16:33:17
我还检查了/etc/init 文件的大小和属组(参照另一台同配置的机器)
没有问题呀。

 lw371 回复于:2005-06-08 16:37:02
没那么简单,libsocket.so.1自身还有很多连接文件指向它,打过补丁后指的更多,
楼主还是重装算了

 seventh 回复于:2005-06-08 16:42:21
我已经在另一台正常的机器上find了所有的libsocket.so.1文件,
并把相关的连接也都重做了。我是帮同事修这台机器的(生产机),
要重装会很繁的。

 seventh 回复于:2005-06-09 10:51:22
顶一下

 CNL 回复于:2005-06-09 11:04:15
在其他同版机器上
ls -l /usr/lib/libsocket.so
看看是否也指向so.1了,连接文件正向查容易,反向查引用它的连接就困难了
你总不能ls -l *来一个个确认还有哪些文件连向so.1吧
看了sco的有关文档,系统动态库被误删将导致内核体系混乱,修复的可能性不大

 zhaocz 回复于:2005-06-09 12:16:01
刚知道有这样的情况,应该加精起来

 seventh 回复于:2005-06-09 13:54:43
[quote:fb1c7b4428="CNL"]在其他同版机器上
ls -l /usr/lib/libsocket.so
看看是否也指向so.1了,连接文件正向查容易,反向查引用它的连接就困难了
你总不能ls -l *来一个个确认还有哪些文件连向so.1吧
看了sco的有关文档,系统动态库被?.........[/quote:fb1c7b4428]

ls -l 可以看到链接的个数呀。
我也在Google上搜了相关的信息,目前没找到解决办法。
至于“系统动态库被误删将导致内核体系混乱”的原理还希望你能详细地指点一下。

 lw371 回复于:2005-06-09 17:42:28
#cd /usr/lib
#rm libsocket.so
#rm libsocket.so.1
#ln -s /opt/K/SCO/Unix/5.0.6Ga/usr/lib/libsocket.so.1 libsocket.so.1
#ln -s /opt/K/SCO/Unix/5.0.6Ga/usr/lib/libsocket.so libsocket.so
#cd /etc/conf/cf.d
#./link_unix
重起机器
动态库恢复必须要重新连接内核,否则内核引用的还是老的错误位置

 12xuwei 回复于:2005-06-10 09:39:29
就是以前没有见的,加精

 wcy87j 回复于:2005-06-10 15:52:34
谢谢lw371 我试一下重链内核,其他的步骤已做过。

 xiajuyun 回复于:2005-06-10 16:17:02
哪位大哥(姐)有sco506的/etc/conf/cf.d/mtune文件,拷贝一份给小弟,急!!!

 seventh 回复于:2005-06-10 17:00:31
从boot软盘启动机器后,/dev/boot 设备为软盘,当我把/dev/hd0root  mount 到/mnt后,到/mnt/etc/conf/cf.d下
执行link_unix 时,系统将使用 /etc/conf/cf.d 和 /stand这两个
绝对路径,而当前这两个绝对路径是得不到的。
所以无法重连内核。

 lw371 回复于:2005-06-10 17:29:33
# /etc/chroot /mnt /bin/sh 
进入子shell后你就发现当前的根就变成你要的/了

 wcy87j 回复于:2005-06-10 18:34:21
周一再按
# /etc/chroot /mnt /bin/sh 操作 
再谢lw371

 CNL 回复于:2005-06-13 08:37:16
进展如何?

 seventh 回复于:2005-06-13 08:42:46
少等,正在做。。。

 seventh 回复于:2005-06-13 09:52:02
首先感谢楼上诸位高手的帮助,最后按照lw371 的提示主与搞定了。
现将完整的操作步骤归纳如下:
1、从SCO5.0.6光盘制作boot 一张(备机上做不出来boot盘!,怪异);
2、从备机置做root盘一张;
3、准备5i raid 卡的BLTD盘一张;
4、从boot盘引导系统至 boot:
输入
fd(64)unix ramdisk=fd(64)/ramdisk.Z root=ram(7) ram.preload=7 linkprompt="Haha <Return>" link=ciss
5、分别插入BLTD盘和  root盘,系统启动到 #   提示;
6、mount /dev/hd0root  /mnt     ;
7、cp /usr/lib/libsocket.so.1 /mnt/usr/lib/
     cp /usr/lib/libsocket.so.1 /mnt/usr/lib/libsocket.so
     chmod 555 /mnt/usr/lib/libsocket.so*
     chown bin:bin /mnt/usr/lib/libsocket.so*
这里用的是从软盘上的root系统自带的libsocket.so文件。因为前几次用硬盘上的 /mnt/opt/K/Unix/SCOxxx/usr/lib下的文件作连接后,生成的连接文件大小与备机的相比较总是达三个字节。并且执行第8步后仍报libsocket.so.1 连接错。
8、/etc/chroot /mnt /bin/sh    转换/mnt 到/ ;
9、/etc/conf/cf.d/link_unix
10、sync ;reboot
11、取出软盘从硬盘启动成功!

 seventh 回复于:2005-06-13 10:04:14
几点疑问:
1、备机上做不出boot盘,提示write zero error,而做root盘确成功了,why?
2、我在做libsocket.so连接时用ln -s 从 /mnt/opt/K/Unix/SCOxxx/usr/lib到 /mnt/usr/lib后生成的连接文件大小为49字节,而备机上却是46字节。当chroot后,使用ls 命令时,又报libsocket.so文件错。所以我不得不从root盘拷贝libsocket.so文件到硬盘的/mnt/usr/lib。why?

希望大家能继续给予支持!

 CNL 回复于:2005-06-13 10:31:23
[quote:49c1baf970]
当chroot后,使用ls 命令时,又报libsocket.so文件错
[/quote:49c1baf970]
此时内核没有重连,暂时还不能使用其它用到系统动态库的命令

通过本贴我也学到很多东西,加上个精华提醒大家参考共享了

 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有