• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

[转帖]SCO Unix常见系统故障和解决办法

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 26次 | 进入软件测试论坛讨论

领测软件测试网
SCO Unix常见系统故障和解决办法 

邵宪昌 郑立 
---- 我们作为金融系统的计算机系统管理员,从1994年开始使用SCO公司的多用户系列操作系统产品,先后使用了Xenix、SCO Unix Svr4的普通版和网络版,一直到SCO OperServer 5.0.5。原因是这些操作系统产品有多用户和多任务的功能,安全保密性比较好,容易挂接图形和字符终端设备,网络连接简单,业务使用成本较低。但正是由于这些特点,不可避免地带来了当计算机出现异常关闭及误删系统文件等问题时,不能像Windows系列产品那样,有中文提示和帮助,需要系统维护人员读懂系统出现的各种英文提示,手工敲入一条条Unix命令,从而排除各种故障。因此,给系统维护带来了困难,也给系统维护人员提出了比较高的技术要求。 

---- 在实际工作中,我们发现造成Unix系统故障的原因主要有两个: 首先是计算机异常关闭。在重新启动时,尽管计算机会自动检查文件系统,但对于那些无法自动修复的错误提示,一线操作人员读不懂,也不再处理,这样日积月累造成系统崩溃; 其次是上级有技术维护人员在处理计算机故障时照本宣科,不但原问题没有解决,又给系统造成了新的伤害。 

---- Unix系统的故障现象集中表现为系统不能引导、不能进入多用户工作方式、login状态下所有用户都不能登录和系统不能正常关闭,以及个别接终端的串口不能使用等等。解决这些问题所使用的工具主要是安装系统时创建的应急系统启动盘。下面,就几个典型常见的故障提供解决办法。 

一、根目录损坏 

---- 此时在计算机启动后出现如下提示: 

---- boot not found 
---- cannot open 
---- stage 1 boot failure:error loading hd(40) /boot 

---- 原因是系统的根目录/boot文件损坏或丢失,造成系统不能启动。修复办法: 

用应急盘的boot盘引导系统,在boot:提示下输入: 
fd(60) unix.Z root=hd(42) 
其中fd(60) unix.Z 表示使用软盘的unix核心引导,root=hd(42) 表示系统启动的文件系统为硬盘上的文件系统。 

在系统启动时输入超级用户口令,进入单用户模式,卸载/stand文件系统,输入命令如下: 
#umount /stand 

重新加载stand文件系统,输入命令如下: 
#mount /stand 
执行第2和第3步的目的是改变/stand的只读属性,在默认情况下,/stand是只读方式的。 

构造引导盘文件系统,输入命令如下: 
#mount –r /dev/rfd0135ds18 /mnt 
其中-r 参数表示使用只读方式,/dev/rfd0135ds18是软盘对应的系统设备文件,mnt是将软盘形成空文件目录,构造成功后,mnt目录下的内容就是软盘的内容。 

将引导盘的boot文件拷入硬盘,输入命令如下: 
#cp /mnt/boot /stand 

卸载软盘文件系统,重新启动计算机,输入命令如下: 
#umount /mnt 
#reboot 
---- 其中第一条命令卸载软盘所构造的目录,第二条命令重新启动计算机。 

二、Unix文件损坏 

---- 如果发生这种情况,在启动计算机时出现以下提示: 
---- unix not found 

---- 然后系统挂起,原因是系统的/unix文件损坏或丢失。解决办法有2个: 一是使用系统在原来重新连接内核时自动备份的旧内核启动:在boot:下输入unix.old启动即可;二是用应急启动盘修复,具体操作步骤如下。 

在boot下输入以下命令: 
fd(60) unix.Z root=hd(42) swap=hd(41) 
其中fd(60) unix.Z 表示使用软盘的unix核心引导,root=hd(42) 表示系统启动的文件系统为硬盘上的文件系统,swap=hd(41)表示使用硬盘的交换区。 

和处理第一种故障类似,系统启动到单用户方式下,卸载/stand文件系统再加载,将软盘的unix.Z拷入硬盘。输入命令如下: 
#umount /stand 
#mount /stand 
#mount –r /dev/rfd0135ds18 /mnt 
#cp /mnt/unix.Z /stand 
#reboot 
三、系统启动后不能进入多用户工作方式 

---- 造成这种情况的原因一般有2种可能:首先是/etc/inittab文件丢失或损坏;其次是/etc/passwd文件丢失或损坏。 

---- 如果在系统在引导时出现如下提示: 
---- init:cannot open /etc/inittab errno:2 

---- 此时按< ctrl >+d进入多用户失败,则表明是/etc/inittab文件丢失或损坏,而此文件包括init命令,控制计算机所进入的init级别,其中init 0就是关闭计算机,init 1为进入单用户工作方式,init 2是系统启动时默认的多用户运行级别。解决办法是修复inittab文件,重新建立unix内核。具体的解决办法有以下2个。 

重新建立inittab的文件连接,输入以下命令即可: 
#ln s /var/opt/K/SCO/unix/5.0.5a/etc/inittab/etc.inittab 
其中-s参数表示将源文件不改名的情况下,从源目录(这里是/var/opt/K/SCO/unix/5.0.5a/etc/inittab)连接到目的目录(这里是/etc/inittab)。 

重构inittab文件 
#touch /etc/.new-unix 
(将new-unix的时间标签改为最新) 
#cd /etc/conf/bin 
#./idmkenv 
(“./”表示执行) 
在系统提示下输入“y”,然后输入: 
#cat /etc/inittab 
说明,cat本来是查看文件内容的命令,这里表示将idmkenv的执行结果输出到/etc/inittab文件中 
完成上述工作后,输入: 
#init 2 
就可以进入多用户操作系统了。 
如果在系统引导时提示 
su:unknown id:root 
init:single user mode 
password file missing 
entering system maintenance mode 
然后系统只能进入单用户维护模式,则表明是/etc/passwd文件丢失或损坏。如果使用l 命令显示文件的长列表,系统会出现如下显示: 
/etc/passwd cannot be opened for reading 
解决办法是将应急盘的root盘(第二张应急盘)中的passwd文件拷入硬盘,修改passwd文件的属主和属组。输入命令如下: 
#mount r/dev/rfd0135ds18/mnt 
(以只读方式构造软盘文件系统) 
#cp /mnt/etc/passwd /etc/passwd 
(将软盘的passwd文件拷入硬盘) 
#chown bin:auth passwd 
(卸载软盘文件系统) 
#reboot 
(重新启动) 
四、系统不能正常关闭 

---- 计算机运行正常,但系统关闭输入以下命令 
---- shutdown g0 i0 
---- y后,计算机提示如下: 
---- /etc/initscript:/etc/uadmin:not found 

---- 然后系统挂起。造成每次关闭计算机都是非正常关机,开机就需要检查文件系统。原因是/etc/uadmin文件丢失或损坏。解决办法是将应急启动root盘的uadmin文件拷入硬盘,命令格式为: 
---- #mount /dev/rfd0135ds18/mnt 
---- (以只读方式构造软盘文件系统) 
---- #cp /mnt/etc/uadmin /etc/uadmin 
---- (将软盘的uadmin文件拷入硬盘) 
---- #chown bin:bin /etc/uadmin 
---- (改变uadmin文件的属主为bin用户,属组为bin组) 
---- #umount /mnt 
---- (卸载软盘文件系统) 
---- #reboot 

五、个别串口所连终端上所有用户都不能注册 

---- 其现象为终端、连接线都正常,终端上也显示login提示符,但是在用户名后系统提示如下: 
---- terminal 串口名is disabled ---see account administrator 
---- (其中串口名可以是tty21a等) 

---- 然后又退出到login提示符下,普通用户都不能登录系统。造成这种故障的原因是,首次安装系统时,系统默认用户最多不成功的登录次数为99次,如果超过这一数目,系统将自动将此串口锁住,因此用户无法登录。解决办法是超级用户登录后,使用scoadmin管理工具,取消这一限制。首先输入以下命令: 
---- #scoadmin 

---- 进入系统管理菜单,然后选中system(系统管理)一项,在接下来的菜单中选terminal manager(终端设备管理),然后选unlock(解锁),按< f3 >功能键就可以找出被系统自动加锁的终端串口,按< enter >确认解锁。如果不需要用户在某个终端串口的不正确登录限制,那么在解所后退出到terminal manager菜单,选中options(参数选择)一项,其中的maximum unsuccessful attempts before locking terminal(在锁终端串口前允许的最大不成功登录尝试次数)默认值为99次,改为infinte(不限制)即可。 

---- 另外,在实际应用中可经常使用“fsck y”命令检查文件系统的一致性并自动修复错误。一旦计算机系统出现故障,无论是一线操作人员还是技术维护人员,都要将计算机的异常现象、处理措施和步骤记录在案,为将来进一步更高一级的技术处理提供了详细的资料,同时也是工作经验的文字积累过程,为经验的交流提供了良好的基础。 

---- (作者地址:山东省菏泽市中华东路51号中国农业银行菏泽市分行,274010) 


 cctv666666 回复于:2002-11-17 22:13:58
good!

 lsw 回复于:2002-11-17 22:18:23
好,可以进精华呀。

 一无所有 回复于:2002-11-18 08:08:52
同意转为精华!

 98lxg008775 回复于:2002-11-20 15:13:46
 受益非浅,真的好厉害,如果是你总结的

 olivejs 回复于:2002-11-20 16:34:23
现在前台都没什么数据了,坏了克隆一个硬盘,又快又省事

 rengongpu 回复于:2002-11-21 21:42:27
现在用克隆的真是不少啊。

 听说 回复于:2002-12-12 23:08:41
你们用的是什么克隆软件?

 sageyu 回复于:2002-12-13 09:10:18
不错!!!

 flybirdxp 回复于:2002-12-13 10:07:11
不错啊,顶

 lzw780302 回复于:2002-12-13 10:22:03


 johnsilver 回复于:2002-12-13 14:44:42
正巧,今天遇到一个系统问题,一个系统在启动时,提示cannot read blk:2026070,后面还有一些信息,大意是说文件系统大小大于其安装设备的大小,要求尽快备份数据修复系统.我没有办法,只能用原来映像重新克隆.各位,请指点迷津.

 xgtd 回复于:2002-12-14 20:57:58
    实在是太感谢了。看了阁下的文章,才发现idmkenv竟然有这样的功效。以前由于内核不能链接,查看系统中链接内核的SH文件发现有这样的文件,当时不知是什么用途,今天总算知道一点了。
    不过,感激是感激,不过这样的文章进精华区实在是太勉强了。只是比较常见的问题。建议重新创建一个特区——疑难杂怔区,用来收集一些大家不常用到的,但又是比较难解决的问题。
    对于johnsilver 提出的问题,我以前也碰到过这样的问题。出现这样的问题,只要进入维护模式,执行fsck命令检查文件系统,修复inode即可。不过如果出现这样的问题,系统别的地方也有可能有问题,建议还是重新安装或ghost一个。毕竟绿卡主机不能忍受这样的问题,领导更不能忍受。


延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网