- 论坛徽章:
- 0
|
第7 章 管理 SCO系统
系统管理涉及的是维护一个系统所必须完成的工作。本章介绍如何管理SCO系统,
包括:
· 了解基本知识
· 用 scoadmin管理系统
· 计划系统资源
· 管理员任务梗概
7.1了解基本知识
如果你刚刚开始管理系统,应该了解:
·什么是系统管理
·保留系统日志
·超级用户账号
·用多屏同时运行程序
7.1.1何谓系统管理
每个 SCO系统应至少有一人负责系统维护和操作,此人称为系统管理员。系统管理员
的职责是确保系统的平稳操作,以及完成大量需要特别权限的工作。
在其它方面,系统管理员负责:
·启动并终止系统以对其进行维护;
·确保做了完整的备份(系统中文件的定期副本)并保存好以备将来使用
·处理与使用有限的计算机资源有关的问题(磁盘空间,进程数等等);
·减轻由于失败的连接所造成的系统通信(网络)阻塞;
·负责操作系统的更新和维护修补工作;
注意:这里讲述的只是一些典型的任务,具体见“系统管理任务小结”
根据系统的大小以及系统中用户数量,系统管理工作可以是每天一次到全时的工作。
即使系统很小,系统管理员也应该完成每一项必需的维护工作,因为缺少维护可能会影响系
统性能。
你可以选择设立一个系统管理员,或者将所有维护工作分配给几个人,每人负责一个不同的方面。甚至可以指源严格限于系统某一方面的任务。详见<SCO OpenServer系统管理指南>(本系列丛书之三)中的“分配子系统权限”。
7.1.2 保留系统日忘
我们建议你保留一个有关最初的系统配置、所有的系统修改和系统事件的硬拷贝日志。
对每个事件、消息、备份或修改都应记录其日期、时间,记录人员的姓名以及该事件所处的环境。例如,如果在系统软件中加入一个新的应用程序,那么在日志中就应加入该项,它应包括安装该应用程序的时间、日期、人员姓名以及可能有助于该软件或安装的注释。精确记录的日志可以帮助诊断问题,清楚地指出系统的增长及使用情况。
注意:在日志本中保留一个安装检查清单的副本。
7.1.3 超级用户账号
超级用户注册(也称为root)是一个用于执行系统维护任务的特殊账号。它给予系统管理员普通用户不具备的非同一般的权限,如访问系统中所有文件和执行特权命令,管理指南中指出的许多任务都要求系统管理员作为超级用户注册。为此,系统管理员必须安装知道在系统安装过程中建立的超级用户口令。
作为超级用户注册仅仅用于完成系统维护任务。即使系统管理员是系统中的唯一用户,他也应创建一个日常工作所用的用户账号,保留超级用户账号在系统维护时使用。
7.1.4 使用多屏幕显示功能同时运行多个程序
使用多屏幕,你可以在控制台上同时运行多个程序。按下简单的组合键可从一个屏幕切换到另一个屏幕,每一屏幕都相互独立地进行操作。
要打开第二个屏幕,接任< Ctrl>和< Alt>键,再按下<F2>或者键盘上另一个功能键。功能键一般位于键盘上方或下方的最左边。
按下该组合键后,屏幕被刷新,并出现一个注册提示符。再次注册,你可以在第二个“屏幕”上开始工作。按下< Ctrl>< Alt>< Fl>切换回第一个屏幕。使用这种方法切换屏幕可以加快要求在两个不同的程序中工作的过程。可以同时运行两个程序,并在任何时刻对其中任意一个程序进行操作。
例如,可以在第一个屏幕上启动一个对话,然后再按下< Ctrl>< Alt><F2>创建第二个屏幕,再次注册并开始另一个对话过程。使用< CtrI>< Alt>< Fl>和< Ctrl>< Alt>< F3>可以在屏幕之间来回切换。
注意:在控制台上打开多于一个图形对话或桌面系统会消耗额外的系统资源。
可以一次打开两个以上的屏幕。但是在注销时,必须切记从所有屏幕上注销;那些保留已注册状态的屏幕允许对系统进行未授权的访问。
如果一次打开几个屏幕,可以按< CtrI><PrtSc>依次进行切换,这对于忘记了哪个进程在哪个屏幕上运行的情况很有帮助。详见multiscreen(M)
7.2 使用 SCOadmin管理系统
SCOadmin是帮助你配置和维护系统的一组管理应用程序(或管理程序):、这些管理程序可以在图形或字符方式下运行。
你可以使用三种方法访问 SCOadmin管理程序:
·Desktop方式:使用在 root桌面系统上的 Syslem Administralion窗口中的图标。
·图形方式:使用scoadmin(ADM)命令调用 SCOadmin或在scoterm( XC)窗口运行单
个管理程序。
·字符方式:在字符显示终端上使用scoadmin命令运行 SCOadmin或者单个管理程
序 。
注意:除非系统用低安全性特征文件进行配置,否则普通用户无权运行SCOadmin管理程序
大多数 SCOadmin管理程序都组织在与某个管理领域对应的文件夹(目录)下 。
有些 SCOadmin管理程序允许通过网络管理不同的系统。
7.2. 1从命令行启动 SCOadmin
键人命令
# scoadmin
这将启动SCOadmin程序。注意,大多数应用程序都集中在子目录(图形版本下是文件夹)下,如Security profile在System/Security。在图形方式下,SCOadmin管理程序用工具图标标记,子目录用文件夹作为标记。在字符方式下只有子目录用一个大于号(>)标记。
要在scoadmin窗口以字符方式运行,需将环境变量CHARM设置成TRUE。要再回到图形环境下运行时,要解除对CHARM的设置或将其设置为FALSE。
向上访问目录树时,需单击在 SCOadmin窗口左下角的父目录按钮,或在view 菜单选择 Parent。
在命令行使用下列句法也可以启动单个 SCOadmin管理程序:
# scoadmin application_name
其中application_name是 SCOadmin管理程序名,如account manager(不需要用引号将名字括起来或使用大写字母)。该命令在图形环境或字符方式下均可使用。
此外,scoadmin命令可以接受包括管理程序名的前面几个字符的“最小匹配”。例如,可以键人scoadmin a来启动Account Manager,或者scoadmin au启动Audit Manager。记住,
有些管理程序名字的前几个字符相同。
显示一组可用的 SCOadmin管理程序清单,可键人:
#scoadmin –t
注意:SCOadmin 管理程序是用SCO Visual Tcl 编写的脚本,不提倡对这些脚本进行修改。但如果确实要改动,一定要先对它进行复制。
7.2.2 在显示器上刷新数据
许多 SCOadmin管理程序每隔一段时间更新一次主窗口上的显示信息。要作强制更新,需在 View菜单中选择 Refresh Nowo
要设置自动更新显示的频率,需从 Vievr菜单选择 Set Auto Refresh。
7.2.3 使用点求助
SCOadmin管理程序在屏幕底部有一块正文区域,在此处显示被称为点求助的状态信息和有用的描述信息。
你可以通过将光标移到一个正文区域或其它的屏幕元素即可获得点求助。在字符方式,使该屏幕区变为高亮的。
要禁用点求助特性,需从 Options菜单中禁选 Point Help按钮。
7.2.4 使用工具栏
许多 SCOadmin管理程序都包含可以像桌面系统的图标一样可选择的带国标的工具栏。这些图标代表最常用的菜单选择。要将该图标隐藏起来,需从 Options菜单禁选Toolbar
按钮。
注意:工具栏仅在图形方式下可用。
7.2.5 在字符方式下使用 SCOadmin
从本质上看, SCOadmin字符界面与其图形版本不同。字符方式 SCOadmin与以前的 SCO管理界面(sysadmsh)相类似.
操纵字符屏幕
在字符 SCOadmin中,屏幕被分为若干表组,使用它们可以在菜单栏、显示区和窗口底部的控制按钮(OK, Cancel, Help)之间移动。一旦移到需要的制表组后,就可以使用箭头键选择所需的按钮、列表或宇段。
使用箭头健在菜单栏的项或菜单项间移动。使用< Enter>键打开菜单或作出选择。
注意:若你不能到达一个按钮或字段,尝试按<Tab>键。
字符方式的Account Manager屏幕。按<Tab>键可自顶向下漫游该屏幕。有两行按钮:Passwold选择框和 OK,Cancel和 Help按钮。使用箭头键在按钮之间移动。
字符SCOadmin 键
按键
动 作
,I
移至下一个制表组
^,
移至前一个制表组
漫游菜单栏,在制表组的条目之间移动,打开或关闭子菜单或滚动列表
在菜单栏中打开一个菜单,在菜单各项间移动,以及在一个表组或显示
列表的各条目之间移动
A
相当于图形环境下的< Alt>
将焦点移至菜单栏
接收正文字段输入,打开菜单
取消操作(若可行的话),关闭菜单
r
重新显示屏幕
,
在显示的清单中翻页
,
在列表的顶部或尾部之间切换
选择高亮的条目
7.2.6 SCOadmin故障诊断
本节讨论运行 SCOadmin的一些问题:
· SCOadmin 不能启动
· 字符方式下,SCOadmin失败的恢复
· SCOadmin 出错跟踪
· SCOadmin事件日志
1.不能启动 SCOadmin
如果 SCOadmin启动程序或一个 SCOadmin管理程序在相当长一段时间后仍不能启
动,那么可能是由于运行 SCOadmjn 的 Visud Tcl精灵进程出了问题:
( l) 执行下面命令以获知该进程号:
#ps –ef |grep vtcld
你会看到类似如下的输出:
571 ttyp0 00:00:00 xm_ vtcld
这里,精灵进程的进程号为571(字符方式下该进程名为 cm_ vtcld)。
(2) 杀掉该精灵进程,命令如下(用实际进程号来代替number):
# kill -9 number
(3) 若进程看起来不在运行,你应当查看/tmp 目录下由 Visual精灵进程留在那里
的临时文件。首先, SCOadmin的字符式对话所遗留的文件格式为 ch_PID.UID 是
(PID是进程的 ID号,UID是用户 ID号)。例如 ch_8132.0。图形方式对话遗留
下来的文件的格式类似于只四.C/D。若有大量的此类文件,则应清除它们,然
后重新运行 SCOadmin.
2.从字符方式SCOadmin的故障中恢复
若一个 SCOadmin 管理程序在字符方式下发生故障,你不能得到提示符,输入下
述命令将显示恢复正常(该命令在你键人时并不显示):
< Ctrl>jstty sane<Ctrl> j
3.SCOadmin出错跟踪
当 SCOadmin中发生了不可恢复的错误, Visual Tcl创建一个包含出错跟踪的文件。其输出是放在/AnV 目录下的一个文件。如果问题一直出现, vtcl(TCL)输出可能对你没用,但你应当在请求供应商的帮助时保存这些输出。
记录出错的文件名的格式为:
tclerror.PID .log
其中PID是创建该文件的进程号。这里是一个输出的样本:
Uncaught error in tcl program :hostmib:
No SMUX entry for hostmib: goingDown
……………………………………………………
Error code =NONE
……………………………………………………
no SMUX entry for hostmib :goingDown
while executing
“SMUXINIT hostmib /etc/sysadm.d/hostmib.defs”
(“uplevel ” body line 3)
invoked from within
“uplevel $ command ”
4.SCOadmin 事件日志
SCOadmin 包含日志功能,可以记录系统管理的事件,包括错误报告和对象创建等。
SCOadmin 事件和其它系统事件一起记录在/usr/adm/syslog 中。这些事件有助于记录对
系统配置所做的改动。
注意:不要将包含在SCOadmin 事件日志中的消息与位于/usr/adm/messages 中的系
统出错消息相混淆。
(1) 理解SCOadmin事件日志
所有 SCOadmin管理程序都会产生在系统日常操作中出现的管理事件的记录。在默
认的情况下, SCOadmin出错是唯一要记录的事件。这样就可以监测可能发生的任
何问题。也可以选择记录对系统所做的所有管理性变动,如一个用户账户的增加或
改动。
日志项使用下述格式:
date sysname syslog SCOADM:sessionID object instance event_type message
sysname 宿主机的系统名
sessionID 当事件发生时的注册对话的 tty
object 对象类型
instance 对象名称
event_type 事件类型
message 与该事件关联的系统消息
下面是一个例子:
事件类型为:
Object creation 对象的创建,如一个新的打印机
Object deletion 对象的删除,如一个打印机
Attribute change 对象的修改,如一个打印机的配置值
Error 未能完成一个所要求的操作,通常称作出错消息
Warning 成功完成了某个操作,但有一些问题
Notice 通告性消息
可以通过编辑/usr/adm/events文件来修改事件类型清单
(2) 使用 SC0adndn事件日志管理程序
可以通过使用SCOadmin Event logs Manager来选择要记录日志的事件。该管理
程序位于 SCOadmin/logs 目录下。SCOadmin Event Logs manager显示当前要记录
的和不记录的事件,
要记录一个事件,将Ignored Events栏中的该事件高亮显示并单击 Log event按扭。
要忽略一个事件,将 Iogged Events栏中的该事件高亮并单击 Ignore events按钮。
要保存选择,从 File菜单中选择Save。
7.3 系统管理任务小结
一个系统管理员要干很多事。这些事情可以按照它们执行的频率分类。
任务清单:
按需执行的任务
l 创建/修改用户帐号
l 在日志中记录所有的系统改动和事件
l 隋时准备在系统告急.崩溃或电源故障后,重新启动系统
l 维护硬件.软件及数据文件存取的安全性
日常事务
l 执行定期备份(若配置了)
l 检查使用级别
l 检查失控进程
l 检测磁盘空间
l 检测邮件的功能和连接
l 用lpstat –t 检测打印机状态
l 若活动,检测审计输出
l 若活动,检测 UUCP连接
l 检测没人使用注册对话 who (C)
每周任务
l 验证系统软件(检查权限、链接和丢失或损坏的文件)—最好在工作时间后进行
l 检测打印矾假脱机状态报告 lp (C)
l 检查日志,如 /usr/wtmp 和 /usr/adm 和 /usr/spool下的文件,并进行清除
裁剪或截断
l 使用sar (ADM)产生一个活动报告。
l 生成用户磁盘使用情况的详细报告 quot (ADM)
l 删除包括lost十found文件和*.out 文件,在内的临时文件
每月任务
l 若未进行定期备份,执行一次非定期备份(级别0)
l 进行磁带驱动器检修;用tape reten 命令清理磁头和重新拉紧驱动器
l 必要的话,更换超级用户口令
不定期任务
l 需要的话,系升级统和应用软件
l 检测配置出错,包括系统软件的验证
l 重分配文件系统空间
第8章 启动和停止系统
下面这些任务与打开系统和关闭系统有关:
·启动系统
·关闭系统
·用超级用户注册
·理解引导时的硬件显示信息
·改变启动过程
8.1 启动系统
启动 SC0系统不仅仅是简单的打开电源就行。系统需要经过一系列的准备才能使用,
有些阶段需要得到用户干预:
·装人操作系统
·若系统被不合理地中断,存储或删除系统内存映像
·清理文件系统
·选择操作系统的模式
·在启动时设置时间与日期
·检验数据库权限
8.1.1装入操作系统
启动系统的第一步是从计算机的硬盘装人操作系统。
( l)打开计算机和硬盘的电源,计算机装人 UNIX系统的引导程序,并显示如下信息
SCO System V/386
boot :
( 2) 按,系统按在‘‘改变启动过程”中历述的将默认引导串装人操作系统。
当操作系统装载完毕,屏幕将显示有关系统配置的信息并检验根文件系统(包括所
有的文件和目录)是否正常,没受到破坏。如果文件系统没有受到损坏,处于正常状态,
称为干净的度件系统是正常的,就可以选择操作方式。否则,系统首先会要求清理文件
系统
系统引导程序把核心装入内存后,开始运行并进行初始化工作。核心初始化包含构造缓存区,i节点表,安装root文件系统等。并建立系统的第一个进程shed ,在核心初始化的最后阶段,由shed进程(系统的0号进程)启动/etc/init程序,这是PID为1的1号进程。
Init进程的主要任务是按照文件/etc/inittab提供的信息创建进程。由于进行系统初始化的那些进程都是由它创建的,所以把init称为系统初始化进程。它是系统中所有进程的父进程。
在任何时候,运行的unix系统都是处在一个运行级(run-level)上.
init运行级
init 0 :关闭系统
init 1 :把系统置为单用户模式
init 2 :把系统置为多用户模式
init 3 :启动远程共享文件进程和守护进程,mount远程文件系统。
init 4 :可以用来定义替代的多用户环境。(通常不使用)
init 5 :停止正在运行的系统,并重新引导系统
init 6 :停止正在运行的系统,重新引导系统,使系统处在由initdefault定义
的状态
S,s : 进入单用户状态。
8.1.2 存储/删除系统内存映像
如果系统是非正常停机,你可能会看到如下消息:
There may be a system dump memory image in the swap device.
Do you want to save it ? (y/n)
这个内存映像中包含操作系统中断时有关系统状态的狡术数据。有关对这些数据进行保
存和分析的内容在“从系统告急中恢复”中介绍。如果你回答 n,接着会问你是否删
除这个映像;回答 y将保存该映像,并继续启动。
8.1.3清理文件系统
下面消息出现时,必须使用fsck(ADM)对根文件系统进行清理(检查和清理不一致的
地方):
fsstat :root filesystem needs checking
ok to check the root filesystem(/dev/root) (y/n) ?
这条信息,只有在系统非正常停止的情况下才会出现。关于这一点在停止系统中描述。
附加的文件系统也可能需要清理。
要清理文件系统,键人 y(即“Yes”),并按< Enter>键。fsck清理文件系统,修复损坏的文件或删除不能修复的文件。每一步完成后,都会报告进展情况。在有些情况下,会要求你回答是否要抢救某一文件,你总是只需回答 y或 n并按< Enter>键即可。你也可以一直回答y,表示以“是的”作为对后续提示的默认回答。
下面两种情况下清理过程会被跳过(或显著地被缩短):
一致性日志
如果文件系统“一致性日志”被激活,清理过程就可能不是必须的;在这种情况下,
不调用fsck。如果某种清理是必须的,也会执行快速fsck重新执行有关文件系统
的事务日志,这个过程只需几秒(而不是几分钟).
DTFS文件系统
DTFS文件系统非常稳定,一般不需要清理。即使必须清理,也无需人工干预。
在某些情况下,如果检查文件系统时进行了大量修复,DTFS根文件系统在检测完
毕后将重新引导。
当清理完毕后,系统会要求你选择操作方式。
注意:在启动过程中,默认的系统动作是在修复文件系统时无需操作员的干预;系统引导和运行fsck 时,自动确认“是”的回答。要改变这种默认情况,使用System startup Manager 或把/etc/default/boot 文件中的FSCKFIX =YES 改变FSCKFIX=NO
8.1.4选择系统的操作方式
当你看到如下消息时,就可以选择操作方式:
INIT: SINGLE USE MODE
Type CONTROL-d to continue with normal startup,
(or give the root passwd for system maintenance):
系统有两种方式:多用户方式(正常的工作方式)和单用户方式,即维护方式。多用户方
式是系统的普通工作方式,允许多个用户注册和工作。单用户方式是为系统管理员保留的
工作方式,不允许多个用户。
要选择多用户方式,按< Ctrl> D键。要选择系统维护方式,键人超级用户口令(也称root口令),并按< Enter>键。
1.单用户方式
只有在你必须要求所有用户退出系统进行系统维护工作时,才应使用系统维护方
式,这些工作包括:检查文件系统,安装升级版本或新软件,重装系统文件或软件包等
等。注意,由于没有执行在/etc/rc文件中的各种精灵程序和启动程序,许多系统服务
(像打印机和网络)都将不起作用。单用户方式有效地挂起了启动过程,直到你使用< Ctrl
> D退出单用户方式,这时该过程将从设置系统时间开始继续运行。在单用户方式下,
显示超级用户的提示符#。
2·多用户方式
当你选择多用户方式,启动过程将从设置系统时间开始继续启动。单用户方式和多
用户方式最重要的区别在于是否执行了/etc/rc目录下的启动命令,这些脚本为不同的系统服务,诸如打印机和网络等产生启动信息。接着系统显示: Login:提示符,并允许用户注册。
8.1.5 设置启动时间和日期
一旦正常的操作方式开始后,系统就要求输入正确的时间和日期
INIT:Newrun leve1:2
Current Sytem Time is wed Nov 8 08:19:00 PST 1995
Enter new time ([YYMMDD]HHMM[SS]):
除非你的时钟电池已耗尽或被拆掉,否则一般不需改变日期。要保持时间和日期不
变,只需按< Enter>键。若需要改变时间和日期,则键人新的时间后按< Enter>键,键入的数字必须是两个或更多个连续的成对数字,数字的取值如下:
yy(可选) 表示当前的年份。可取从70到四之间的任意两位数值,相应地表示1970
至1999年。
mm(可选) 表示当前月份,可取从01至12间的任意两位数,相应地表示1月到12月。
dd(可选) 表示当前的日期,可取从01至当月最后一天的任意两佼数。
hh 表示当前时间的小时,可选从00到33间的任意两位数。小时采用24小时
制,早上时间范围从00到 ll,晚上时间从12到23。
mm 表示当前时间的分,可取从00到59的任意两位数。
ss(可选) 表示当前时间的秒,可取从00到59的任意两位数。
例如: 要把时间和日期改为 l四5年2月3日正午,键人:
9502091200
当接受新值后,系统随后显示新的时间和日期:
sun Feb 03 12:00:00 PST 1995S
如果你键人错误的值,系统会提示你再试一次。如果没键人可选项的值,那么当前该项的值将保持不变。如果键入了年份的,那么还必须键入月份和日期的值。同样的,如果你键入了月份的值,那么就必须键入日期的值。
在时间和日期后将跟着显示服务启动消息和 login:消息。 ’
8.1.6在正常的操作中设置时间和日期
你可以使用System Time Manager在正常的操作过程中改变系统的时间。该程序在SCOadmin 中的System 目录下。
手工键人数字(或在图形版本中使用 up和down按钮)来设置时间和日期。注意小时采用24小时制,上午从00到 l l,晚上从12到23。
要保存所做修改,在刀n沼菜单中选择Set。
要改变时区,参见10.1.7节“改变系统时区”。
8.1.7改变系统时区
你可以使用System Time Manager改变系统时区,该程序在 SCOadmin中System目录下。
( l)在Time菜单下选择 Change Timezone。
(3)选择 Geographical area,屏幕将按你所选择的地理区域进行刷新。
(3)为你所在的地域选择“时区”。如果找不到你的时区,单击 Specity Unlisted
Timezone按钮,键人你的时区名,标明是格林尼治标准时间以东时区还是以西时
区,设定和GMT的时差(小时和分钟)。
(1) 根据实际情况,在“夏令时”下选择 Yes或 No。
注意:在修改时区前注册的所有用户(包括root),只有在他们注销后重新注册才能看到时区的变化。这是因为只有在注册时才读时区变量(设在/erc /TIMEZONE 中)。
8.1.8检查安全性数据库
每次系统重新引导(如果是非正常关闭,则在运行fsck后) 系统都会自动检查关键的安全性数据库文件。
显示消息如下:
Checking tcb...
Checklng protected password and protected subsystems databases...
Checking ttys database...
通过这种检查,可以避免在访问系统时出现问题。比如,在罕见的情况下,一个文件丢
失了,你就会得到警告并要求你从备份中恢复它(也许还需要修复断开了的符号链接)。
当电源断电或硬件故障而使系统突然中断时,有些文件系统可能会被损坏,这种损坏会
导致安全性数据库文件被删除,或者如果在系统崩溃时这些文件正被改写,则它们处于临时
状态。在任何时候只要重新引导,系统都会运行一系列程序来检查数据库文件的状态。当系统非正常中止并重新引导时,在根文件系统中,这种检查在对根文件系统运行施fsck(ADM)
后,进入多用户方式前进行。
系统按下面步骤进行:
( l)脚本/etc/ smmck(系统维护方式检查程序)运行tcbck (ADM)程序清理所有因被更新
而处于临时状态的数据库文件。
当更新安全性数据库文件时,复制或更改目录中的旧文件(比如 file),从而建立新的
“-t”文件。接着把旧文件(file)改为“-。”文件(file-o),而新的文件(file-t)就会改成原
来的文件名(file)。当这个过程被中断时,“-o”和“-t”文件就会保留了下来,在系统
正常工作之前,这些文件必须一致。tcbck首先解决留在/etc/auth/system,/etc/auth
/subsystems/*目录下的“-t”和“-o”文件以及/etc/passwd和/etc/group文件。
如果一个文件有多个版本,必须删除多余的文件。这一步将按下列过程自动进行:
1)如果同时存在file,file-o和file-t的长度不为零(即不是空文件),
那么将删除舶file-o和file-t。
2)如果同时存在file和file-t文件,那么将删除file-t。
3)如果只存在file-t,那么将把它改名为file-t。
4)如果只存在file-o文件,那么它将被改名为file。
如果出现情况 c,那么将会显示类似下面的消息:
/etc/tcbck: file file missing, saved file-t as file
这么做的原因是因为“-t”文件是原始文件的修正版,并且可能已经损坏,该文件可能
并不包含所有原始文件的内容。对所有在特定目录下处于这种状态的文件,这条消息
会重复显示(“-o”文件不受怀疑,因为它们是由被更改之前的原始文件改名而成的)。
(2)tcbck检查关键的系统文件是否存在并且是否为空。一旦某个文件丢失(或为空),
会显示出类似下面的信息:
/etc/tcbck: file file is missing or zero length
对于下列文件(关键的 TCB文件会在后面标上 )均重复该过程,如:
/etc/auth/system/default
/etc/auth/system/files
/etc/auth/system/devassign
/etc/auth/system/authorize
/tcb/files/auth/r/root
/etc/group
/etc/passwd
当这个过程完成后,如果有文件丢失,或用空的“-t”文件代替实际文件,将显示以
下消息:
/etc/smmck:restore missing files from backup or distribution.
如果/etc/passwd或/etc/group中有一个文件丢失,会显示如下消息:
/etc/tcbck:either slash (/) is missing from /etc/auth/system/files or there are
malformed emtries in /etc passwd or group
I注意:你可以忽略/tcb/ffiles/auth/r/root丢失的警告,在根用户提示符下,健入 exit,authck 会接着按第6步中所述的去修复这个文件。
Tcbck不能检测出损坏的文件,但可能显示其它出错消息,详见(SCO OPenServer系统管理指南)(本系列丛书之三)中“系统安全性故障诊断”。
(3)如果关键的数据文件丢失或损坏,系统会自动进入维护方式,而无需键人超级用户
口令。显示如下信息:
INIT:SINGLE USER MODE
Security databases are corrupt.
Starting root shell on console to allow repairs.
如果非关键的数据库文件丢失,计算机会提示选择系统维护方式还是正常操作方式。
如果有文件丢失,记下它们的名字,按10.6.2节“恢复关键的安全性数据库文件”
的指示恢复它们。
(4)tcbck删除/ect/auth/system/pw-id-map和/etc/auth/system/gr-id-map文件,
因为当系统时钟重设时,就会把这两个文件的修改时间同/etc/passwd和/etc/group
的修改时间相比较,从而产生问题。接着比tcbck试用cps(ADM)重建这些映像文件。
如果失败,那么可能是文件控制数据库(/etc/auth/system/files)丢失,也可能是文
件控制数据库有关“/”的项丢失,或者在/etc/passwd和/etc/group中有语法错
误。
(5)系统进入多用户方式后(( INIT: New run leve1:2)信息显示出来后),系统会提示设
置系统时钟,将再次调用/etc/authckrc。如果发现有文件丢失,类似上面的警告消
息又会出现,紧接着显示如下消息:
/etc/tcbck::file file is missing or zero length
/etc/authckrc:Log in on the OVERRIDE tty and restore
the missing files form a backup or the distribution disks.
这意昧着仍然有文件丢失了。这些文件在系统进入多用户方式并允许注册之前必须被
替换。记下这些丢失的文件名,按10.6.2节”恢复关键的安全性数据库文件”中的
指示来恢复它们。
如果/etc/passwd或/etc/group丢失,那么在启动时会显示如下信息(第一行对应
于/etc/passwd丢失,第二行对应于/etc/group丢失):
SU:UItk27OWn id: bin
SU:Cannot setgid to auth, no auth entry
(6)当如下消息出现时:
Checking protected password and protected subsystems databases...
是在运行authck(ADM)程序确定所有列在/etc/passwd中的用户在受保护的口令数
据库中都有登记项。如果有丢失的,当你对提示:
There are errors for this user
Fix them(y/n)?
回答 y,就会根据需要创建它们。接着检查受保护的子系统数据库文件,保证这些
文件正确反映受保护的口令数据库中—的子系统授权登记项。每个列在子系统文件
中的名字和列在受保护的口令中相同名字的项互相比较,确认两个文件中的授权是
一致的。另外,还要扫描每个受保护的口令项,确认列出的特权权限也反映在受保
护的子系统数据库中。如果发现有不一致的地方,会询问你是否要对它们进行自动
修正:
There are discrepancies between the databases.
Fixthem(y or N)?
在这个过程中你会看到系统显示许多差异并将其修复,这种情况是正常的。
注意:当操作员不在时,如果系统被设成自动再启动(在/etc/default/boot文件中设 AUTAOBOOT=YES),那么authck(ADM)以非交互方式调用。发现不一致时也将显示告信息,但
authck将不修复它们,然后和正常情况一样转入多用户操作。
有关人工运行authck的信息请参阅《SCO OpenServer系统管理指南》(本系列丛书之三)“数 “数据库一致性检查: auhck(ADM)和addxusers(ADM)”。
(7)接着你会看到这条消息:
Checking ttys database...’
运行ttyupd(ADM)确保在/etc/inittab中所有的终端在终端控制数据库(/etc/auth
/system/ttys)都有登记。
(8)现在,系统已经启动并已准备好可以注册。如果系统报告有文件丢失,你现在必须
从主控终端注册来恢复它们,方法和前面提到过的一样。在默认情况下,主控终端
一般定义为ccy01,也就是多屏幕的第一屏。如果删除了/etc/default/login中的默
认项,那么就必须关掉系统,重新引导进入单用户方式,并恢复那些文件。当你从主
控终端注册时,会显示如下消息:
The security databases are corrupt
However, root login at terminal tty01 is allowed.
8.2停止系统
停止 SCO系统运行远不只是关掉计算机电源那么简单。必须使用System Shtdown Manager(在SCOadmin 的System目录下)或使用shutdown(ADM)命令来做好停机前的准备。
这不仅只是关闭系统服务程序,而且还要警告用户,并给他们一个结束工作的机会。
要关闭系统,在 Shutdown菜单中选择 Begin Shutdown。默认的动作是把默认的广播消
息发送给所有用户,并在60秒内关闭系统。
要改变宽限周期,在“Delay”栏中输入要求的值。如果在“Dehy”栏中填写了0,那么就不能填写“Message”栏,而且也不向用户发送消息,因为系统将立即关闭。
要改变广播消息,在“M田sage”栏中键人要发送的正文,或在 Message菜单下选择 Read
from file,使用一个已经准备好的文件。
要自动重新启动系统,选择 Reboot after shutdown。
为了在要求关闭前请求确认,选择 Confim prior to shutdown
要保存所做的选择,在 Shutdown 菜单下选择 Save.
8.2.1使用shutdown命令行
要用shutdown(ADM)命令停止系统:
(1)以超级用户注册,系统打开超级用户账号,并显示日期信息和超级用户提示符。
(2)键人以下命令:
shutdown -gn
这里 n代表开始关闭系统前延迟的分钟数。如果要从正常的操作方式进入系统维护方
式,使用以下的变化格式:
shutdown -gn su
系统在每个终端上显示警告消息,要求注册的用户结束他们的工作并注销(警告消息可
自己定义,详见shutdown(ADM)手册页)。一旦所有用户都已注销或限定的时间已到,
系统关掉所有帐号,并显示如下消息:
* * Safe to power off * *
-or-
* * press Any Key to reboot * *
(3)如果你在命令行中说明要进入单用户方式,系统直接进入单用户方式而无需重新
引导。详见10.1.4节“选择系统的操作方式”。
(4)如果你没有标明单用户方式,关掉计算机电源或按任意键重新引导系统。
8.2.2使用haltsys命令
haltsys(ADM)命令迅速关闭系统,不给用户任何警告消息。如果在使用haltsys命令时有
用户在系统中注册,他们会被立即注销,正在进行的工作也会丢失。
要使用 haltsys命令停止系统,以超级用户注册,并键人:
/etc/haltsys
系统显示如下消息:
* * Safe to power off * *
-or-
* * press Any Key to Reboot * *
关掉计算机电源,或接任意键重新引导系统。
8.3 以超级用户注册
许多系统维护任务要求以超级用户注册,比如你必须以超级用户注册来停止系统。不要把以超级用户注册和以单用户方式运行混淆,两者唯一相同之处是都要求使用root口令才能进入,
要以超级用户注册,必须知道超级用户口令。如果你不知道 root口令,请询问安装该系统的管理员。当屏幕上显示 login:消息时,就可以注册了。如果你使用的是基于字符的示器,而且没见到该消息,按< Ctrl> D缀直到该消息出现。
注意:当你以超级用户注册时,要特别小心。尤其是在删除或者修改文件或目录时要更加小心。这一点非常重要,因为超级用户可以不受限制地存取所有文件,这就有可能删除或修改对系统至关重要的文件。在文件名中避免使用通配符,并时时跟踪你当前的工作目录。
以超级用户注册的步骤:
( l)出现注册提示时,键人超级用户名:
(2)当提示键人口令时键人超级用户口令。系统并不显示你键人的口令,因此要小心地键入每个健。
系统打开超级用户账号。如果你使用图形显示,那么你就会看到root账号的桌面系统。如果你是在字符界面上注册,那么你就会看到超级用户的提示符并#。你只需按< Ctrl>
D键就可以在任何时候退出。
8.4理解引导时显示的硬件信息
在引导时,显示版权信息后,将显示一张硬件信息表。这张表显示已被操作系统识别了的硬件配置情况。
例行9-10 引导显示样本
SCO OpenServer™ Release 5
© 1976-1997 The Santa Cruz Operation, Inc.
© 1980-1994 Microsoft Corporation
All rights reserved.
For complete copyright credits,
enter “copyrights” at the command prompt.
Kernel ID 97/05/07
device address vector dma comment
fpu - 35 - type=80387
floppy ox03F2-0x03F7 06 2 unit=0 type=138ds18
serial ox02F8-0x02FF 03 - unit=1 type=standard nports=1
parallel 0x0378-0x037A 07 - unit=0
console - - - unit=ega type =0 12 screens =68k
disk 0x1F0-0x01F73 6 - type=wo unit = 0 cyls=791 hds=16 secs=48
adapter 0x8000-0x8CDC 11 - type=eiad ha=0 id=7 ftd=std
mem: total = 65148k, kernel = 11288k, user = 53860k
swapdev = 1/41, swplo = 0, nswap = 307200, swapmem = 153600k
rootdev = 1/42, pipedev = 1/42, dumpdev = 1/41
kernel: Hz = 100, i/o bufs = 6288k
关健字
device 硬件设备的名字
address 16进制的地址
vector 中断向量
dma 直接内存访问通道
comment 硬件的其它细节
fpu 有浮点运算单元( Inte180387数学协处理器、80486 CPU和 Pentium芯片)
floppy 高密度的5.25英寸软盘驱动器(type=138ds18)
serla1 只有一个端口的 COMl (nports=1,没有安装多串行卡)
parallel 这是并行端口 IpO (unix:0)
console 控制台有一个 EGA视频适配器(unitt:ega),与类型0(IBM EGA)兼容,有12
个兼容多屏幕,占用68KB的核心空间
disk Western Digital st506控制器号0(W0),硬盘驱动器号是0(unit 0),以及硬盘
的柱面、磁头数和扇区数
adapter Adaptec AHA—174x主机适配器,详见16.3节“引导时来自主机适配器
驱动程序的消息”’
hwconfig 实用程序可以使用储存在任何时候,在文件/usr/adm/hwconfdg中配置信息来显示或访问这些信息。参见hwconfig(C)手册页。
报告表明,引导进入内存的unix ,其版本号是5 ,核心ID号是97/05/07当前unix
所用的设备,有串口,软盘,主控台,光驱,硬盘等。可用hwconfig命令报告内容完全相同. 最后四行:
mem:指出unix可以使用的全部内存空间,分配给核心的内存总量以及保留给用户
的内存总量
swapdev: 表示交换设备,dumpdev:是转储设备,主/次设备号都是1和41
rootdev: 是根文件设备,pipedev是管道设备,主/次设备号都是1和42
nswap:表示交换区的总块数,swaplo表示交换区的起始偏移块号。
核心i/o buffer所占用的内存是6288k
另外,eisa(ADM)实用程序可以列出安装在 EISA机器上的各种卡,而slot( C)实用程序
可以在 MCA机器上使用。
典型设备中断
中断
八进制
设备
0
0
时钟
1
1
控制台
2
2
网络。磁带或其它
3
3
COM2
4
4
COM1
5
5
次并口lp2
6
6
软盘
7
7
主并口(lp0或lp1)
9
11
IRQ2链
10
12
11
13
SCSI 主机适配器 0
12
14
SCSI 主机适配器 1
13
15
FPU
14
16
ST506 /ESDI/IDE 控制器0
15
17
ST506 /ESDI/IDE 控制器1
**不要试图把这些中断另作它用
8.5 改变启动过程
每次计算机启动,系统都运行boot程序。除非在提示符下键人不同指令,否则boot使
用在默认的根文件系统上的/etc/default/boot文件中指定的配置值装人默认的核心程序。
你可以在提示符下键人命令改变当前的引导过程,或者使用System Startup Manager 来改变
将来引导操作默认的配置值。你也可以编辑/etc/default/boot文件手工地改变这些选项。
8.5.1改变系统重新启动选项
要改变系统启动动作,使用在SCO admin 下system目录中的System Startup Manager 系
统重新启动选项决定在电源故障或系统告急后系统是否(以及怎样)重新启动。可用下列
这些选项:
电源恢复后自动重启
如果选中它,系统无需操作员干预自动重启,并允许用户注册。否则,在Boot:提示符
下等待操作员的回应。
自动检查和清理文件系统
如果选中它,自动清理和安装文件系统(所有的不一致都将自动解决)。否则,等待操作
员手工地继续。
重新启动时立即进入多用户方式
如果选中它,跳过单用户方式的提示(如果是自动引导,这个提示也将跳过)。
系统告急后自动重新启动
如果选中,和电源恢复后自动重启一样系统无需操作员干预重新启动(系统告急总是导
致系统终止)。
自动重启前等待的秒数
设定在 Boot:提示下等待多长时间后才自动重新启动。
默认引导串
设定你在助Boot:提示符下按<Enter>后自动装人的引导串。
要恢复系统默认设置,在Parameters菜单中选择 Reset Defaults。
要改变在/etc/default/boot中的其它启动参数,在 Parameters菜单中选择Advanced。
洋见切“(F)手册页。
要保存所做的修改,在 Startup菜单中选择Save.
8.5.2改变默认的引导串(DEFBOOTSTR)
要改变在引导提示符下按< Enter>键时装入的默认程序,需要使用System Startup Manager修改默认引导串设置,或者改变/etc/default/boot中的DEFBOOTSTR选项。例如:在默认情况下,/etc/default/boot文件中如下的设置,使得boor程序将自动地从硬盘装入核心:
DEFBOOTSTR= hd (40) unix
关于可添加到boot命令行中用于在引导时装人指定驱动程序的附加关键字或引导串,请参见14.5节“使用引导串”或bootstring (HW)。例如:下面的引导串是用于装人Wangtek磁带:
DEFBOOTSTR=hd (40) unix
8.5.3 引导旧核心
如果刚刚重新链接了核心,但它不能正确引导或产生其它问题,则可以在引导提示符下
键人 unix. old或unix safe 来装人原先的核心。如果找不到合适的核心,参阅“没有找到 UNIX文件”。
8.6系统启动的故障诊断
本节讨论为什么一个过去可以成功引导的系统现在会变得不能引导。这种情况一般是由于电源断电或系统告急破坏了根文件系统而引起的,此外,改变配置,硬件出错和人为的错误也会引发这种情况。
如果是在安装过程中系统引导失败,参见“安装故障诊断”。
如果系统不能引导,则检查:
·系统是否接通电源?
·是否有电缆松了、脱落、或接错了?
·电缆串接是否正确终止?
·引导软盘驱动器中是否插有非引导软盘?
·硬盘是否出现了坏道?一个坏道可能会破坏引导时需要的系统文件。如何从这种情况
恢复系统参见 “修复硬盘上的坏磁道和坏块”。
这里讨论与丢失系统文件有关的许多问题。“丢失或损坏的系统文件”将解释怎样恢复这些文件。
本节我们将讨论下面这些问题:
·恢复关键的安全性数据库文件
·系统引导失败或显示“NO OS”消息
·没有找到boot文件
·没有找到UNIX文件
·不能装人浮点仿真程序
·不能执行/bin/Iogin:没有这个文件或目录
·不能打开/etc/inittab
·/etc/iniscript:/bin/sulogin:没有找到
·/etc/iniscript:/etc/bcheckrc:没有找到
·无utmp项,必须从最低级-sh注册
·创建进程失败…资源暂时无效
·系统在引导时挂起
·控制台键盘锁佐
·不能在控制台上注册
8.6.1丢失或损坏的系统文件
在罕见的情况下,一个或多个关键的系统文件会意外地被修改或删除,从而使得系统不能正确引导或操作。一旦你的系统不能引导,就必须从软盘引导,以便能访问系统并从备份上复那些关键的文件。
要想引导和访问一个不是从硬盘上引导的系统,就必须有应急引导软盘组。应急引导软盘组由引导软盘和根文件系统软盘组成。引导软盘包含三个引导和装人UNIX系统核心所需的文件,即,/boot,/etc/default/boot和/unix。根文件系统软盘包含UNIX系统实用程序的子集,可以使用它来恢复系统。
注意:我们建议为每个系统准备一套独立的引导软盘组,否则可能会引起更大的破坏。只有具有相同的硬件和软件配置的系统才可使用同一套应急引导软盘组。
一旦灾难性的事件发生而你又没有根文件系统的备份,你就只能重新安装 SCO系统。要做这一步,按“替换根硬盘”中所列的操作重新初始化根硬盘。
8.6.2 恢复关键的安全性数据库文件
如果在系统启动过程中,报告关于安全性数据库文件丢失,则按如下步骤进行:
( I)首先使用Software Manager或custom(ADM)命令行验证SCO系统中的UNIX Run
Time System组件:
Custom – v quick SCO: Unix: RTS-x
Custom验证命令会修复导致文件无法找到的符号链接断开的错误。Custom 命令在
Custom.VerifyReport中保留一个验证输出的副本。
注意:如果系统丢失了/etc/passwd或/etc/guoup文件,custom 命令就会失败(对/etc/group,该命令需要很长的时间才能完成)。如果发生这种情况,使用下面两行命令之一来手工地恢复符号链接:
ln -s/var/opt/K/SCO/Unix/*/etc/passwd /etc/passwd
ln -s/var/opt/K/SCO/Unix/*/etc/group /etc/group
如果此过程成功,按< Ctrl> D键继续启动过程。如果文件确实已丢失而不仅仅只
是符号链接断开所产生的后果,出错消息仍然会出现,而这些文件也只能从备份上恢
复(见第2步)或从原始发行的文件中恢复(见第3步)。
(2)尝试从备份中恢复文件。比如,如果系统报告/etc/auth/system文件已丢失,而你
又有根文件系统的备份,这时,就可按‘恢复定期文件系统备份’,一节描述的方法
运行Backup Manager 来恢复这些文件。也可以把最近一次根文件系统完整备份的第
一卷插入磁带驱动器,并键人 如下命令来恢复文件:
cd/
cpio -idv –I /dev /rcto etc/ auth/ystem/files
(3)如果没有备份,或发现备份已不能读取,还可从原始发行的文件中恢复那些文件.这
些文件分布在 SCO系统的 UNIX Run Time System组件的软件存储对象中,键人命
令:
cd / opt/K/SCO/Unix/*/.softmgmt/ var
再使用合适的复制命令来恢复己丢失的文件:
cp etc/auth/system/default/etc/arth/system/var
cp auth/system/files/etc/auth/system/files
cp auth/system/devassign/etc/auth/system/devassign
cp auth/system/authorize/etc/auth/system/authorize
cp etc/group/group
cp etc/passwd/etc/passwd
如果丢失了/etc/default/accounts文件,键人以下这些命令:
cd /opt/K/SCO/Ulix_ adm/* /.softmgmt/var/etc/sysadm.d/account
cp accounts/etc/default/accounts
注意:这些原始发行文件并不包含你对系统所做的修改——你必须把修改再加进去。比如,在/etc/group中增加组,在/etc/passwd中增加用户等。对/etc/passwd文件,你可以使用受保护的口令数据库中的项来得到这些信息:
cd/tcb/files/auth
grep u_ id * / *
这条命令会列出系统中所有的账号和它们的UID(u-id)。忽略像root和 bin等系统账号,剩下的其它账号可通过编辑/etc/passwd手工地增加,或运行Account Manager来增加用户(要保证键入正确的 UD号并使用已有的主目录而不是再创建新目录)。
(4)重复第 l步,确认所有的符号链接已接好。如果系统仍处在单用户方式,按<CtrI> D
键,继续启动系统,如果你已处在多用户模式,运行下面命令来修复遗留的不一致
性:
authck -a -y
8.6.3系统引导失败或显示“NO OS”消息
如果系统引导失败或出现 No OS消息,那么说明该引导块中的部分引导块(/etc/hd0 boot和/etc/hd1boor)或主引导块(/etc/masterboot)被损坏了。要恢复它们:
(l)插入应急引导软盘组中的引导盘,并从该盘上进行引导。当出现boot:提示符时,打
人: hd(40)unix
(2)进入单用户方式,并在根提示符下打人下列命令:
instbb hd /dev/hd0a
dparam -w
instbb(ADM)把部分引导块写入硬盘。dparam(ADM)把主引导块代码写入硬盘的主引导块。
对于某些硬盘,还需要按dparam(ADM)的描述标记硬盘划分情况。
8.6.4 没有找到boot文件
当打开电源后,如果系统显示如下消息,说明/boor文件丢失了:
boot not found
Cannot open
Stage 1 boot failure : error loading hd(40)boot
这是指boot(HW)程序丢失了,该程序在每次开机时装人并执行核心。
如果/boot文件丢失,按下面过程从应急引导软盘组引导系统,以便恢复/boot文件:
(1)把引导软盘插入软盘驱动器,重新引导机器。这时执行引导盘上的初始引导程序。
(2)在 Boot:提示符下,键人
fd(60)unix.Z root=hd(42)
这行命令从软盘上引导系统,从软盘上装入核心,并安装根文件系统。
(3)在提示时键人root口令,系统进入单用户方式。
(4)卸下/stand文件系统(boot和核心在该文件系统中):
umount /stand
这是因为/stand文件系统通常是以只读方式安装的,因此在你要替换boor文件前,必
须先把它缷下,再安装上。
(5)重新安装/stand文件系统:
umount /stand
(6)现在安装引导软盘:
mount -r/dev/fd0 /mnt
(7)当引导盘在软盘驱动器中,在系统提示符下,键人以下命令,恢复/boot文件:
cp /mnt/boot /stand
这条命令在硬盘上复制一个新的/boot文件。
(8)在把引导盘从软盘驱动器中取出前,应先键入如下命令,把(dev/fd0)卸下 :
umount /mnt
(9)把软盘从驱动器中取出,并使用中取出,并使用haltsys(ADM)关闭系统。
(10)在Boot:提示符下按,<Enter>键,从硬盘上重新引导系统。
8.6.5 没有找到UNIX文件
如果系统在开始引导后,显示消息 unix not found,说明 unix文件已丢失了。 unix文件包含 UNIX系统核心的可引导映像。如果 unix文件丢失,你可以从另外的核心文件(如unix.old或unix.safe)上引导系统,为此只需在 Boot:提示符下键人替代的核心文件名。
如果在系统上没有另外的核心文件,就得从应急引导软盘组引导系统,以便恢复unix文件:
( l)在驱动器中插入引导软盘,重新引导机器。
(2)在 Boot:下键人:
fd(60)unix.Z root=hd (42) swap=hd(41)
这将从引导软盘上装人核心,并把根文件系统安装到硬盘上。
注意:如果改变了对换区设备的位置,应用新的位置来替代 hd(41)。
(3)在提示符下键人根口令,系统进人单用户方式。
(4)卸下/stand文件系统(boot文件和核心文件在该文件系统上)
umount /stand
这是因为/stand文件系统通常都是以只读方式安装,因此你要替换核心文件前,必
须先把它卸下,然后再安装上。
(5)重新安装/stand:
mount /stand
(6)安装引导盘:
mount -r /dev/fd0/mnt
(7)当引导软盘在驱动器中,恢复unix此文件:
cp /mnt/unix.Z /stand
该命令把压缩的unix核心文件从引导盘复制到硬盘上。无需对该核心文件进行解压
缩。
(8)在你把软盘从驱动器中取出前应先卸下/dev/fd0软盘:
umount / mnt
(9)把软盘从驱动器中取出,用haltsys(ADM)命令关闭系统。
(10)在Boot:提示符下按<Enter>,重新引导系统。
(9) 从引导盘上装入的核心文件并不包含你自从创建应急引导软盘组后所做的修改。“重新链接核心”所述,立即重新链接核心。任何时候,一旦你改变系统设置诸如增加驱动程序和重新链接核心等,你都应创建一套新的应急引导软盘组。
8.6.6 不能装入浮点仿真程序
如果你的计算机没有387数学协处理器芯片并且/etc/emulator文件丢失或损坏,系统
引导失败并显示如下消息:
WARNING:Cannot load floating point emulator (error 2):/etc/emulator No
Floating point is available
(如果有387芯片,核心会在硬件识别引导消息中识别它)。
如果系统引导失败时出现这个消息,从应急引导盘上引导系统并恢复/etc/emulator:
(1)在驱动器中插人软盘,重新引导计算机。
(2)在 Boot:提示符下按指示按<Enter>键,插人根软盘。这将从软盘上引导系统,并
从软盘上安装根文件系统。
(3)清理根文件系统:
fsck –s/dev/hd0root
(4)在软盘上开始工作,使用下面命令把硬盘上的根文件系统安装到/mnt上:
/etc/mount /dev /hd0root /mnt
如果mount失败,使用fsck (ADM)命令来检查硬盘的内容。
(5)把软盘上根文件系统中的/etc/emulator文件复制到已安装的硬盘上:
cp /etc/emulator/mnt/etc/emulator
(6)卸下硬盘:
/etc/umount/mnt
(7)确信软盘还在驱动器中,使用haltys(ADM)命令来重新引导系统。
(8)当看到 Press any key的提示符时,把软盘从驱动器中取出,在 Boot:提示符下
按< Enter>键,系统从硬盘引导。
8.6.7 不能执行/bin/login:没有这个文件或目录
如果系统能正确引导,但在进入多用户方式后,在注册提示时挂起,则从多屏幕的其它屏幕或串行终端再试试。
如果从任何一个终端都不能得到回应,那么可能是/bin/login文件丢掉了。/bin/login
文件也就是login(M)命令程序。这个命令在每个终端对话开始时运行,以允许用户访问系统。要恢复/bin/login:
(l)关掉机器电源再打开,在boot:提示符下按< Enter>键。
(2)在提示符下,键人根口令进入单用户方式。
(3)参照‘恢复定期文件系统备份’,使用Backup Manager从根文件系统备份中恢复/bin
/login。也可以把最近一次根文件系统完整备份的第一卷插入磁带驱动器,并健入如
下命令来恢复该文件:
cd/
cpio –idv –I/dev/rct0 bin/login
默认的磁带驱动器链接到/dev/rct0。如果你使用不同的设备(如/dev/rctmini)用
它替换/dev/rct0。
8.6.8 不能打开/etc/inittab
如果你按< Ctrl> D后,系统进入多用户方式失败,或在引导时显示如下消息,表明文件/etc/inittab丢失:
INIT:Cannot open/etc/inittab errno:2
INIT:SINGLE USER MODE
文件/etc/inittab包含init的命令。
如果文件 inittab丢了,init就不能执行系统启动命令,系统也就不能进入多用户方式。
这时当你按< CtrI> D键时,系统仍停留在单用户方式,并显示上述的出错消息。
要恢复 inittab,你必须重建核心环境:
(l)键人root口令,进入系统维护方式。
(2)键入以下命令:
cd /etc/conf/cf.d
touch /etc/.new_unix
. ./bin/idmkenv
(3)当你看到以下消息:
The kernel environment includes device node files and/etc/inittab.
The new kernel may require changes to/etc /inittab or device nodes.
Do you want the kernel environment rebuilt? (y/n)
键入“y”并<按Enter>键,接着显示如下消息:
The kernel has been successfully linked and installed。
To activat it,reboot your system。
Setting up kernel environment
(4)键入命令:
cat /etc/inittab
如果你看到系统不能打开该文件的消息,键人如下命令:
In –s /var/opt/K/SCO/Unix/*/etc/inittab /etc/inittab
这个命令恢复与存储在UNIX系统软件存储对象中inittab文件的符号链接。
(5)键人命令:
exit
(6)你会看到如下这条消息:
ENTER RUN LEVEL (0-6,s or s):
键人2,系统会接着进入多用户方式。
这时新的/etc/inittab文件已准备好,你不需要重新引导系统。
8.6.9 /etc/initscript:/bin/sulogin:没有找到
如果系统在引导时显示这条出错消息,并直接进入多用户方式(运行级2),那么文件/bin/sulogin己在硬盘上丢失。如果要进入单用户方式,系统中必须有sulogin(ADM)实用程序。
如果这个文件丢失,以root注册,使用Backup Manager从根文件系统备份上恢复/bin/sulogin
文件。也可以把最近一次根文件系统完整备份上的第一卷插入磁带驱动器,并键入如下命令来恢复该文件:
cd/
cpio –idv –I/dev/rct0/bin/sulogin
默认的磁带设备链接到/dev/rct0。如果你使用了不同的设备(如/dev/rctmini),用它替换/dev/rct0。
8.6.10 /etc/initscript:/etc/bcheckrc:没有找到
如果在引导时系统显示/etc/initscript:/etc/bcheckrc :not found 的出错消息,说明/etc/bcheckrc文件丢失了。任何时候系统引导时,init实用程序按照文件/etc/inittab中的命令执行bcheckrc。该实用程序在需要时检查和修复根文件系统。当你引导系统时,硬盘上应有/etc/bcheckrc文件。
如果/etc/bcheckrc丢失,请按下列过程恢复它:
(l)在提示符下键人root口令,进人单用户方式。
(2)在做任何事以前,使用fsck命令手工清理根文件系统:
/etc/fsck /dev/root
(3)在文件系统检查(必要时)修复后,使用Backup Manager从根文件系统备份中恢复 /etc/bcheckrc文件。也可以把最近一次根文件系统完整备份的第一卷插入到磁带驱动器中,按下面的命令恢复该文件:
cd/
cpio –idv –I /dev/rct0 etc/bcheckrc
默认的磁带设备链接到/dew/rct0上,如果你使用不同的设备(如dev/rctmini),用它替换/dev/rct0。
(4)在提示符下键人haltsys重新引导系统。
有关bcheckrc的更多信息,参见bcheckrc(ADM)手册页。
8.6.11 无utmp项,必须从最低级-sh注册
系统注册的记录文件/etc/utmp,/etc/wtmp 和/etc/utmpx中的一个或几个被破坏,有可能被清空而对系统无作用,请按以下步骤调整:
(l)用root注册,进入单用户方式。
(2)执行以下命令删除这些文件的内容:
>/etc/utmp
>/etc/wtmp
>/etc/utmpx
(3)关闭系统,重新引导系统。
8.6.12 创建进程失败…资源暂时无效
若在控制台显示以下消息:
Fork failed: Command [scoterm] system Error was: Resource temporarily
Unavailable
这些消息常常是因为虚拟内存不够,可以容易地通过增加对换空间来修复。在多用户
方式下这是必须进行的。当以root注册,下列命令可大约增加30MB的虚拟内存:
touch / swap
swap –a / swap 0 6000
/swap文件将根据实际的对换要求增加空间而不真正消耗30MB的空间。为避免每次
系统引导时运行此命令,可简单地把以上命令加入到/etc/rc.d/8/userdef文件中。
虚拟内存通过核心变量availsmem来跟踪,可以跟踪4K页内的有效虚拟内存。此变量
被保守地处理,正常情况下保留比实际需要要更多的对换空间。使用共享库的程序将减少
availsmem的使用。独立地使用mmap(S)实用程序和映像的程序也需要较大虚拟内存。
使用crash(ADM), 可以管理availsmem:
# crash
dumpfile = / dev /mem, namelist = unix, outfile = stdout
>od –d availsmem
f 0175120: 0000011682
>q
此例中,“00000l1682”转换为 ll,682个4K页,或近似45.63MB。
8.6.13 系统在引导时桂起
如果引导进程在出现 Kernel: i/o bufs消息后挂起,说明/etc / init文件在系统中丢
失。/etc / init文件包含 init(M)程序。一旦启动,init负责产生系统中的其它进程,因此如
果它丢失,就不会有新的进程生成。
要恢复/etc / init:
(l)把应急引导软盘组中的引导软盘插入软盘驱动器,重新引导机器。
(2)在Boot:提示符下,按< Enter>键,并按要求插人根软盘。
(3)安装硬盘根文件系统:
/ etc / mount / dev / hd0root / mnt
如果安装失败,使用fsck (ADM)命令来检查硬盘.
(4)从软盘上的根文件系统中把/etc/init文件复制到已安装的硬盘中:
cp / etc / init / mnt / etc / init
(5)把硬盘卸下:
/etc/umount /mnt
(6)当引导盘还在驱动器中时,使用haltsys(ADM)重新引导系统。
(7)在看到 Press any key to reboot的提示时,把软盘从驱动器中取出,在 Boo:
提示符下按< Enter>键,从硬盘引导系统。
8.6.14 控制台键盘锁佳
当系统对控制台键盘的输入无任何响应时,就称为“键盘锁住”。控制台键盘锁佐只影响那些连接到控制台的键盘,对其它连接在串行口上的标准终端的键盘无影响。
如果下面的情况都成立,你可能碰到键盘锁住了:
· 系统控制台键盘不能输人数据或执行任何任务。
· 不能切换多屏幕,而且按< CapsLock>键也不能改变 CapsLock指示灯的开、关状
态。
· 在该系统上的其它终端能继续工作。
· 打印机或其它设备能继续工作,系统也仍然在运行。
在试图修复锁佐的键盘前,应确信:
·你没有在无意中按了< Ctrl> S键(该键停止屏幕滚动)。要检验这个情况,只需再按
< Ctrl> Q键,然后看是否能从键盘上输入字符。
·如果你的计算机有一个键盘锁住键,检查它是否处于锁住状态。
·键盘连接正确。
·系统本身还在运行。
检查终端是否还在工作,能否执行系统任务,诸如注册和检查日期等。如果你没有终端,看硬盘指示灯(如果有)是否闪烁。
注意:如果处在单用户方式,就不能使用终端,并且硬盘的指示灯也不会闪烁。
如果指示灯仍在周期性地闪烁(至少每30秒闪一次),那么表示系统还在运行,并且还
在使用硬盘。
警告:在电源开着时,技下键盘并重新连接键盘,有些机器会受到损害。
如果按这些建议检查以后,控制台键盘仍锁住,试着拔下控制台键盘然后再把它插上。
如果这样能解决问题,你碰到的情况就是键盘锁住。如果最后一步还没解决问题,你的
键盘仍然锁住。
防止控制台键盘锁住
可以通过采用一个特殊的修改操作系统核心的“补丁”来防止键盘锁佐.
注意:这个补丁会使键盘指示灯失灵,因此应该只有在试过其它措施后再采用。
为了防止控制台键盘锁住:
(l)如果控制台不能工作,那么让它开始工作。若有必要,重新引导系统,在 Boot:的
提示符下键人 root口令进人单用户方式。
如果不重新引导,在系统控制台上以 root注册,使用shutdown( ADM)命令关闭系
统,进入单用户方式:
/etc/shutdown su
(2)一旦系统进入单用户方式后,键人以下命令:
umount / stand
mount / stand
这样先卸下/stand文件系统(该系统正常安装时是只读方式)再重新安装上后就可以进行修改了。
(3)使用下列命令备份核心:
cd / stand
cp unix unix .00
(4)用以下命令修补核心:
/ etc / - fst –w /unix
ledspresent / w 0
(5)使用/etc/shutdown命令关闭系统。
(6)当你看到 Normal System Shutdown的消息时,接任意键重新引导系统。现在就
解决了键盘锁住的问题。请证实健盘各功能都正常,如果没有问题,你就可以永久
性地采用这种修补:
/ cd /etc/ conf / pack.d /cn
copy –om Driver .0 Driver .o.save
/ etc/_ fst –w Driver .o
ledspresent / w 0
$q
控制台留盘类型错误
如果控制台键盘是 XT健盘或其它非 AT键盘,而系统又配置成使用 AT键盘,那么系统就不能识别从该键盘上的输入 c有关测试和切换键盘方式的信息,参见<SCO OPenServer系统管理指南>(本系列丛书之三)中“设定控制台键盘类型”。
8.6.15 不能在控制台上注册
如果你想在多用户方式下注册到控制台上,则系统显示出错消息:
cannot obtain database information on this terminal
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17749/showart_103811.html |
|