| 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] 此时内核没有重连,暂时还不能使用其它用到系统动态库的命令 通过本贴我也学到很多东西,加上个精华提醒大家参考共享了 |