+ All Categories
Home > Documents > 工作站硬软件管理维护指南 - 文曲经典数字图书馆

工作站硬软件管理维护指南 - 文曲经典数字图书馆

Date post: 25-Jan-2023
Category:
Upload: khangminh22
View: 0 times
Download: 0 times
Share this document with a friend
303
工作站硬软件管理维护指南 (第二版) 彭继轩 等编著 石油工业出版社
Transcript

工作站硬软件管理维护指南

(第二版)

彭继轩 等编著

石 油 工 业 出 版 社

内 容 提 要

本书以石油行业现有 Sun 工作站和石油应用软件为主线, 结合作者多年的工作经验,详

尽介绍了 Sun 工作站的基本概念、硬件维护、系统管理和应用软件的使用方法等。

本书是一本工作站初中级用户的实用手册,它可以帮助初级用户打开进入工作站环境的

大门,也可以指导工作站中级用户进一步成为工作站使用和管理的高手。本书可供广大工作

站用户参考。

图书在版编目(CIP)数据

工作站硬软件管理维护指南/ 彭继轩等编著.

北京:石油工业出版社,2001.10

ISB N 7 - 5021 - 2611 - 2

Ⅰ.工⋯

Ⅱ.彭⋯

Ⅲ.①局部网络 - 工作站 - 硬件 - 管理

②局部网络 - 工作站 - 软件 - 管理

③局部网络 - 工作站 - 硬件 - 检修

④局部网络 - 工作站 - 软件 - 检修

Ⅳ.T P393.1

中国版本图书馆 CIP 数据核字(1999)第 21650 号

石油工业出版社出版

(100011 北京安定门外安华里二区一号楼)

北京乘设伟业科技排版中心排版

北京密云华都印刷厂印刷

新华书店北京发行所发行

*

787×1092 毫米 16 开本 19.25 印张 488 千字 印 1501—2300

2001 年 10 月北京第 2 版 2001 年 10 月北京第 1 次印刷

ISB N 7 - 5021 - 2611 - 2/ T P·41

定价: 80.00 元

前 言

本书是一本面向初、中级用户的工作站实用书籍。在本书中,读者将看到的是作者 10 多

年使用工作站的一些基本概念术语和经验技巧。作者写作本书的目的是想让用户了解一些工

作站基本概念、术语和使用工作站过程中遇到的疑难问题的解决方法。

作者曾在 1995 年编写了《工作站基本概念和使用技巧 100 例》一书。该书发行后,作者曾

以该书为蓝本在清华大学能科院和河南油田举办的工作站系统和网络管理培训班上授课多

次,授课期间部分学员提出不少新问题。从那时起,作者就计划组织国内工作站方面的好手,

在《工作站基本概念和使用技巧 100 例》一书的基础上重新编写一本较全面、较新颖的工作站

实用手册。另外,目前 U NIX 工作站用户越来越多,市场上有关工作站的书籍却很少,不少技

术人员想学习使用工作站却找不到合适的资料参考。基于这些原因,我们编写了这本书。希

望该书能够帮助初级用户打开进入工作站环境的大门,同时也能够指导工作站中级用户进一

步成为工作站使用和管理的高手。

参加本书编写和审定的同志有:中国石油天然气勘探开发公司高级工程师张博文、工程师

武越,苏丹大尼罗石油作业公司高级软件工程师赵猛科、高级地质师李从琼和高级测井师黄贺

雄,河南石油勘探局工程师宋腾、高级工程师吕正芳和工程师孙鹏,辽河石油勘探局周继红。

本书以石油行业现有工作站和应用软件为主线,结合作者多年的工作经验,详尽介绍了

Sun 工作站基本概念、硬件维护、系统管理和应用软件使用方法。全书共有 10 章并一个附录。

其中,第一章至第六章介绍了工作站硬软件的基本使用和维护方法;系统管理员的职责和如何

管理维护系统被放在第七章介绍,该章是本书的一个重点;而网络系统管理员的任务和如何使

用、维护网络系统将在第八章介绍;第九章详细叙述了打印机和磁带机等工作站外部设备的管

理和维护方法;第十章介绍了电子邮件服务器软件。附录是石油行业部分工作站用户的使用

经验。

在本书编写和修订过程中,Sun(中国)公司马文利和徐群立两位同志给予了大力支持,并

提供了大量详实的资料。在此,作者表示感谢。

本书正文部分有些地方使用了斜体字,表示命令执行的结果,即屏幕显示的内容。

希望本书能为读者在使用工作站方面提供帮助。如果读者有何建议和想法请与作者联

系。

E - mail 地址: - 萶pjx @ cnpc - int.com;a64254905 @ 263.net

彭继轩

2001 年 10 月于北京

目 录

第一章 工作站基本知识

1.什么是工作站 (1)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

2.Sun 工作站/ 服务器主要产品状况如何 (2)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

3.客户机和服务器有何区别 (4)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

4.工作站常用操作系统是什么 (5)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

5.Solaris 2.x 和 Solaris 8 有何特点 (8)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

6. OSF/ 1 操作系统有何特点 (12)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

7.工作站常用的图形用户界面是什么 (13)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

8.Solaris 的图形用户界面有何特点 (14)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

9.工作站使用的体系结构是什么 (15)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

10.什么是 SP A R C、Alpha 和 PowerPC (16)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第二章 Sun 工作站硬件安装和维护

11.Sun 工作站硬件组成如何 (19)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

12.T P、A UI 和 ISD N 的含义是什么 (21)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

13.工作站使用的总线是什么 (21)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

14.什么是 Cache 和 Buffer (23)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

15.如何安装内存 (24)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

16.如何安装 SBus 卡 (25)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

17.如何更改 RS - 423/ 232 跨接线 (29)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

18.如何安装 CD - R O M 驱动器或磁带机驱动器 (29)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

19.Sun SP A R C 缺省 SCSI引导设备地址是什么 (31)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

20.开机后屏幕无任何输出怎么办 (32)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

21.如何诊断和处理工作站/ 服务器电源故障 (33)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

22.如果用驱动器弹出键不能使磁盘盒弹出怎么办 (33)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

23.工作站停机时时钟不走是怎么回事 (33)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

24.Sun 工作站的核体系结构是什么 (34)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

25.怎样手动从非引导设备引导系统 (34)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

26. N V R A M 配置变量值如何 (34)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第三章 公共桌面环境(C DE)

27.什么是 CD E (36)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

28.鼠标器在 CD E 中的使用 (37)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

29.C DE 窗口系统的基本概念 (38)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

30.如何安装 CD E (40)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

31.如何使用 CD E 前面板 (42)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

32.C DE 目录结构如何 (43)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

33.如何启动 CD E 注册服务器 (44)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

34.如何编辑文本文件 (44)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

35.如何使你的桌面环境支持多屏幕 (44)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

36.用户如何从 Open Windows环境转换至 CD E 环境 (45)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第四章 文件和文件系统的管理

37.什么是文件系统 (47)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

38.如何建立文件系统 (49)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

39.如何修改文件的权限 (50)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

40.如何创建空文件 (51)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

41.如何从文件中查找指定内容 (51)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

42.如何查找文件或命令的路径 (53)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

43.缺省的 Solaris 文件系统如何 (54)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

44.如何自动安装文件系统 (55)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

45.Solaris系统管理数据库有哪些文件 (57)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

46.如何通过查询资料以获得帮助 (61)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

47.S wap 与 tmpfs有何区别和联系 (64)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

48.如何增加 Swap 区的大小 (65)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

49.什么是 Patch (65)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

50.用于文件系统管理的命令有哪些 (66)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

51.检查文件系统的完整性 (67)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

52.如何用 vi编辑文件行块和定义行号 (70)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

53.超长文件无法用 vi编辑怎么办 (70)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

54.如何处理音频文件 (71)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

55.如何编辑图像文件 (72)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

56.如何抓取屏幕图像 (74)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

57.如何使用文件管理器 (76)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第五章 用户环境(SH E LL)

58.什么是 S H E LL (78)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

59.S H E LL 使用的元字符有何特殊含义 (79)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

60.如何设置 P A T H 参数 (80)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

61.Solaris是如何使用命令组合和输入/ 输出转向的 (80)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

62.如何更改命令提示符 (82)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

63.别名与链接有何异同 (82)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

64.如何设置 C S H E LL 变量 (84)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

65.Solaris 1.x 与 2.x 常用命令名和文件名有何差别 (90)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

66.如何解决路径搜索问题 (90)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第六章 存储设备的管理和维护

67.如何安装内置硬盘 (92)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

68.如何安装软盘驱动器 (94)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

69.SCSI设备的优先级如何 (94)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

70.硬盘的逻辑设备名是怎样规定的 (96)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

71.如何使用不同种类的 SCSI 硬盘 (97)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

72.什么是 R AID (99)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

73.如何克隆(clone)一个硬盘 (100)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

74.如何替换系统盘 (101)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

75.Solaris如何管理光盘和软盘 (106)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

76.如何对硬盘进行格式化 (112)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

77.如何优化磁盘的使用 (118)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第七章 系统管理常见问题处理技巧

78.系统管理员的任务是什么 (125)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

79.如何使用系统管理工具增删用户和组 (128)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

80.如何正确处理挂起的系统 (129)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

81.什么是系统运行级别 (131)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

82.如何安装和删除软件包 (132)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

83.如何诊断和处理工作站/ 服务器引导类故障 (135)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

84.系统自检正常但引导失败 (135)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

85.系统死锁怎么办 (136)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

86.系统崩溃的处理方法 (137)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

87.当你忘记了某命令的名字,而又想使用该命令怎么办 (138)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

88.如何启动中文 Solaris 软件 (138)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

89.超级用户口令忘记怎么办 (139)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

90.如何定时自动清理垃圾文件 (140)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

91.关机前,为什么一定要进行文件系统同步 (140)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

92.如何限制 root的访问 (140)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

93.系统运行过程中,出现 table is full信息怎么办 (141)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

94.如何给用户增加磁盘空间 (142)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

95.磁盘交换区的值应怎么确定 (143)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

96.磁盘的 Free Hog 区应怎样确定 (144)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

97.远程拷贝文件时出现“permission denied”信息怎么办 (144)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

98.系统在引导期间作了什么工作 (144)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

99.如何关闭系统 (146)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

100.如何浏览和管理进程 (147)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

101.单用户与多用户状态如何转换 (150)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

102.如何重新配置系统核心 (150)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

103.管理崩溃转储文件 (152)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

104.检查和改变系统信息 (157)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

105.系统运行情况的监控 (160)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

106.用户磁盘空间限额的管理 (170)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

107.核参数的调节 (174)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

108.什么是运行控制程序 (177)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

109.如何安装 Solaris 2.x (190)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

110.如何通过网络安装 Solaris 2.x (200)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

111.前后台进程如何转换 (201)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第八章 网络系统的管理和维护

112.什么是以太局域网 (202)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

113.什么是以太网地址和网络内部地址(节点地址 - IP) (205)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

114.什么是 O N C、N FS、T CP/ IP、NIS、R PC 和 X D R (206)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

115.什么是 IPlanet W eb Server 和 Proxy Server (207)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

116. NIS + 的管理和配置 (209)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

117.使用 Autofs (223)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

118.与 N FS 有关的文件有哪些 (229)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

119.与 N FS 相关的命令有哪些 (231)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

120.使用 N FS 系统时常见的错误信息及处理策略是什么 (237)⋯⋯⋯⋯⋯⋯⋯⋯⋯

121.如何实现 SPA R C 和 D ECnet网间联网 (239)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

122.如何在 D E C 机器上显示远程 Open Windows 客户 (239)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

123.网上不同工作站的同名用户如何才能具有同等的权限 (241)⋯⋯⋯⋯⋯⋯⋯⋯⋯

124. N FS 故障诊断过程 (241)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

125.如何通过 PC 机操作 Sun 工作站 (242)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

126.PC 微机如何向 U NIX 工作站传送文件 (244)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

127.什么是 Sun M anagement Center (247)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

128.如何通过使用 rlogin 命令运行远程应用程序 (249)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

129.如何向网络增加客户机 (250)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

130.如何共享网络文件系统 (250)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第九章 外部设备的管理和维护

131.不同版本 Solaris使用管理打印机的区别 (252)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

132.如何管理打印机 (253)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

133.如何打印中文文件 (257)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

134.打印机管理命令摘要 (257)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

135.如何处理“printer queue is disable”错误 (258)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

136.磁带机类型和状态 (259)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

137.如何操作磁带 (260)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

138.怎样在无磁带机的机器上读取磁带文件 (260)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

139.如何在磁带和磁盘之间拷贝文件和文件系统 (261)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

140.如何使 PC 微机共享工作站系统上的网络打印机 (262)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第十章 电子邮件服务器软件介绍

141.IPlanet M essaging Server 有何特点 (264)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

142.IPlanet M essaging Server 的结构及功能模块如何 (267)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

143.IPlanet M essenger Express ( W eb M ail)5.1 有何特点 (270)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

附录 用户使用工作站/ 服务器经验介绍

R1.Sun 系统故障分析经验小集 (272)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

R2. U nix 系统多 IP 地址的配置 (277)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

R3. U nix 程序自动维护工具 make 的原理及其使用技巧 (281)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

R4.Solaris 网络管理经验谈 (287)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

R5.工作站/ 微机数值模拟平台应用研究 (292)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

第一章 工作站基本知识

1 什么是工作站

人们经常谈论工作站,工作站究竟是什么呢 ? 其实工作站也是计算机的一种。经过 40 多

年的迅速发展, 计算机家族已是子孙满堂,热闹非凡。根据计算机的特点和性能指标的不同,

可把计算机分为微机、工作站、小型机、大型机和巨型机五大类。

在处理信息的各类计算机中,PC 是最低层次的一种计算机, 诸如台式 P C 机、膝上型 PC

机和笔记本式 PC 机。

工作站采用了先进的微处理器,相应配置 D R A M 芯片,较高硬磁盘和显示器及键盘等,构

成小巧紧凑的计算机系统。就性能价格比而言,工作站是最有发展前途的机器。人们平时所

谈论的工作站常被指为网络终端、网络客户机或装有 Windows N T W orkstation 操作系统的计

算机。本书所谈的工作站是指面向图形应用的计算机产品,即图形工作站。图形工作站所追

求的目标是要使单机性能达到最大化。

工作站被看成是在性能和价格上都介于个人计算机与小型计算机之间的一种计算机。但

在目前,如果仅就性能而言,上述分类有许多地方值得考虑,因为目前的工作站性能不但远远

超过传统的小型机,甚至也超过了主机,已经与小型计算机不相上下。况且,就工作站的整个

家庭而言,其性能和价格可以从个人计算机类一直延伸到小巨型计算机类甚至是巨型计算机

类。而未来的工作站家庭,将能提供从膝上型到巨型计算机这样范围内的各种性能的机器。

因此,工作站在性能上实际已跨越了上述整个 6 种计算机类型。

然而,在实际的应用中,工作站仍被用于个人计算的环境,这一点十分类似于个人计算机。

实际上,目前的个人计算机(PC 机)与工作站,以及工作站与小型机之间的界线越来越模糊。

给工作站下一个严格而又贴切的定义是非常困难的一件事。事实上,区分各种计算机类

型很少是根据定义进行的,传统的区分方法是根据性能价格比或者干脆用价格来区分,定义只

能描述一种类型的计算机的特点和作用。因此,我们在此给出关于工作站主要的描述,亦即现

有工作站所具有一般特点。

工作站是以个人计算环境和分布式网络环境为前提的高性能计算机。工作站一般应具有

如下特点:

(1)采用高速 32 位或 64 位微处理器结构(全部采用 RISC 技术),以满足繁重的计算任

务。

(2)多总线结构,微机大都使用单总线技术,即在一条总线上分别连接着 CP U、主存、控制

器等设备,这样做价格便宜,但信息在部件之间的传送速度慢。为克服单总线技术的弱点,工

作站采用了多总线结构,如在 CP U 和主存之间采用了内置式高速“内部总线”等。

(3)软硬件技术的开放性,工作站一般均公开各种接口、规定和设计规范,同时采用通用系

统软件。如采用 U NIX 或相当功能的操作系统, 以支持多任务处理。

1

(4)采用超标量、超流水线和多 CP U 技术。

(5)较强的图形功能(包括高分辨率显示设备、图形处理器等),以满足工程设计的要求。

(6)灵活的网络处理能力(即较强的连网和分布式处理能力), 便于信息交换和资源共享。

(7)作为个人计算环境来使用。

工作站的性能相当于中小型机,而价格只相当于高档微机。近年来,由于个人微机受运算

能力和扩充能力的限制,正不断地部分工作站化。由于中小型机价格昂贵, 部分用户也不断

转去购置工作站。

2 Sun 工作站/ 服务器主要产品状况如何

2.1 Sun 工作站

在近些年的工作站市场上,Sun 工作站不仅在 U NIX 工作站方面占有绝对的领导地位,而

且在整个工作站市场上当属龙头老大。Sun 工作站连年获得销售量销售额两方面的总销售第

一,占据了 17 项主流应用中的 10 项第一名。Sun 工作站产品目前有 Sun Ultra5,Sun Ultra10,

Sun Ultra60,Sun Ultra80,以及两款新推出的工作站 Sun Blade100 和 Sun Blade1000。其中 Sun

Ultra5,Sun Ultra10,Sun Ultra60 和 Sun Ultra80 是以第二代 UltraSPA R C 处理器 UltraSP A R C

IIi和 UltraSPA R C II 为 CP U 的工作站,而 Sun Blade100 和 Sun Blade1000 则是分别以新推出

的 UltraSP A R C II e 和第三代 UltraSPA R C 处理器 UltraSP A R C III 为 CP U 的工作站。图

1 - 1是 Sun Blade 1000 工作站外观图。

图 1 - 1 Sun Blade 1000 工作站外观图

Sun 以 Blane1000 展示了下一代在科技领

域中的非凡工具。Sun Blade1000 系统可提供两

个超标量体系结构、64 位、高性能 UltraSP A R C

III 的 CP U。它的突出特点是:能为今天和明天

的高速处理器和图形系统提供高性能、高带宽

(可达 4G/ S)。对于高速 I/ O,它同样包含大容

量的内置硬盘、内存和 64 位的 PCI 总线。Sun

Blade1000 工作站为第三方外设提供了两种接

口: U SB,IE E1394。配合高性能的图形卡、支持

双屏以及 SU N 先进的存储系统,这的确是一款

功能强大、多用途的下一代工作站。

Sun Blade 1000 是定位于中高端的工作站。

它有适于 E D A、M C A D 及 M C A E 的大内存容量,用于存储的大容量硬盘,以及从简单的办公

财务用的 2D 图像到石油天然气领域用的高性能的 3D 图像仿真选项。目标用户就是需要高

端产品性能的使用者。

Sun Blade 1000 工作站的具体特点有:

(1)最高提供两个 600,750,900 M Hz UltraSP A R C - III CP U 处理器;

(2)最高可达 8 GB 内存和 72 GB 一万转的光纤磁盘阵列;

(3)高性能的图形卡有几种选择:SunT M

Creator3D, SunT M

Elite3D m6 和 Sun Expert3D;

(4)用于高性能数字视频传输的 IE E E 1394 接口;用来连接 U SB 设备的 U SB 接口;

2

(5)三个标准的可活动的插槽可用来连接 D V D - R O M ,4 m m 磁带机,S mart - card 读卡

机;

(6)4 个工业标准的 PCI 插槽;

(7)运行 Solaris 8 操作系统,同以前的 Solaris 版本二进制兼容。

图 1 - 2 Sun Blade 100

工作站外观图

Sun Blade 100 是 Sun 公司最新推出的采用 500 M Hz 的 Ul-

traSP A R C IIe 处理器的低端工作站。新技术的采用使这款机器

的价格大为降低,同时并不以降低性能为代价。它有着传统的

工作站特性以满足于技术计算的用户的需求。Sun Blade 100 是

目前工作站市场上最低价位的 64 位 U NIX 工作站。它具有高

性能的 Solaris 操作环境、高 C P U 性能、大内存容量、高速 I/ O 接

口等特点。Sun Blade 100 工作站适用于软件开发、二维内容创

意、电子设计自动化 (E D A)、金融/ 证券应用、研究与开发、通信

及嵌入系统领域。图 1 - 2 是 Sun Blade 100 工作站外观图。

最近发布的第二代 64 位 UltraSPA RC 处理器家族的 Ultra-

SPA R C - IIe,提供 500 M Hz的性能。运行 Solaris 8 操作系统,支

持高达 2 G B 的内存,15 GB 的 ID E 内置硬盘。系统板上集成了

Sun P G X64T M

卡,并支持高性能的 Sun Expert3 D - Lite 图形卡。支持多屏幕的 2D/ 3 D 显示。

Ultra 60 系统采用两个强有力且可升级的 300 M Hz UltraSP A R CT M

II 模块,其能力足以运

行要求最严格的应用软件。而且,快速 Ultra SCSI 磁盘、66 M HzP CI 技术和 120 M Hz 纵横交换

U PA 互连的组合,可提供极快的处理速度和吞吐量。图形依然是很先进的,Creator和 Elite 能

处理土木技术、模拟、地震分析和医学成像等应用软件。

2.2 Sun Fire 服务器

Sun Fire 服务器系列 Sun 公司最新推出的新一代基于 UltraSPA RCIII 芯片的新一代服务

器产品系列,是目前业界可靠性、可用性及可维护性最好,性能最强,可扩展能力最大的基于

S M P 结构的 U NIX 服务器。在体系结构设计上,它们继承了目前业界最著名的 Sun Enter-

prise 10000 数据中心级服务器的主要技术特性,可充分满足目前,以及未来 5 年中以互连网为

中心的网络计算需求,为大型企业、金融机构,以及政府关键部门的网上业务运营、前沿科技研

究、建立因特网数据中心等各种“网络效应”下的应用提供了强有力的基础平台支持。Sun Fire

服务器保持了与 Sun 企业服务器产品系列线中其他产品的完全的二进制兼容。该产品系列将

大型主机的高吞吐能力、高可靠性及可管理性带入了网络计算环境。Sun Fire 系列服务器,适

合用于联机事务处理与决策分析、网络数据库应用、电子商务、以及各种网站业务等应用领域。

Sun Fire 服务器是一个产品家族,包括有 Sun Fire 3800, Sun fire 4800, Sun Fire 4810, Sun

Fire 6800 四个服务器产品,分别具有不同的系统扩展性,满足不同用户的需求。其主要的系

统特性如下:

(1)采用 750 M Hz/ 8 M B 或 900 M Hz/ 8 M B UltraSPA R C - III CP U;

(2)系统内存最多可达 192 GB(Sun Fire 6800);

(3)系统互连带宽最多可达 67.2G B/ Sec;

(4)系统 I/ O 带宽最多可达 9.6G B/ Sec;

Sun Fire 在 R AS(可靠性、可用性及可维护性)方面的主要特性如下:

3

(1)支持系统板、电源及冷却部件的在线热更换;

(2)具有容余的可热插拔电源和冷却系统;

(3)支持多个冗余的系统控制板,可在线热更换;

(4)系统板、控制板、I/ O 子系统等系统部件可以互换;

(5)提供系统监控工具;

(6)具有自动系统恢复;

(7)支持系统动态域,可对各种系统板动态重新配置(D R);

(8)对内存及系统互连通路实施可靠的 EC C 保护;

(9)具有全系统的奇偶校验措施;

(10)提供环境监控手段;

(11)支持远程控制台;

(12)数据通路具有弹性恢复能力;

(13)地址通路具有弹性恢复能力;

2.3 Sun 企业级服务器

Sun 企业级服务器也是一个系列机型,例如,有:E5500,E3500 和 E250 等。

Sun Enterprise 5500 服务器具有集成的装架式存储器,将更多的内部容量纳入一个节省

空间的机箱———这在数据中心环境中是至关重要的。服务器的平衡系统设计是围绕 Sun 公司

高性能 Gigaplane 技术形成的,可为计算密集和 I/ O 密集数据库、决策支持和商务应用提供惊

人的吞吐量。Sun Enterprise 5500 服务器以其富有弹性的设计、动态重新配置、CP U 电源控

制、自动系统复原和预防性的硬件故障预报使系统可用性达到最大程度。

E3500 是功能强大且可用性优异的中档系统。E3500 特别适合运行关键的的商务应用软

件或 Internet/ intranet 服务软件。Sun Enterprise 3500 服务器提供与 S U N 的其他高档系统相

同的优异可用性和性能特点。服务器富有弹性的体系结构、先进的系统管理工具以及动态再

配置和备用通道等软件增强性能,可大大缩减停机时间。在所有 Sun 服务器上运行的可缩放

Solaris 操作环境加上系统的模块化硬部件,可提供无与伦比的投资保护,并且能方便地扩展性

能和容量。使用 Sun 公司高速 Gigaplane 系统互连的 8 个处理器,可提供领先的应用性能。

3 客户机和服务器有何区别

工作站本身是一个庞大的家庭,但如果按其功能分类,则大致可分为两类:客户机(Client)

和服务器(Server)。这种分类既考虑到了工作站在连网时的工作方式(Client - Server 方式),

又考虑了它们的使用方式。这里所谈的客户机和服务器的概念与下面所介绍的 X - Window

中的客户机和服务器的概念是不一样的。在 X - Window 中,服务器和客户机是指运行在计

算机内存的 daem on 服务程序和显示设备。

作客户机的工作站就是我们通常意义上的工作站,其基本配置是主机箱(包括 CP U、内

存、软盘驱动器、硬盘、图形处理器等等)和高分辨显示器,有时还带有外接磁带机等设备。虽

然操作系统是多用户的,但工作站绝大部分情况下是作为个人计算环境来使用的,因而工作站

充分体现了高性能处理能力的个人占用。服务器就其使用特点来说已不那么个人化了,服务

器与工作站相比,在机器的体系结构上几乎没有什么本质的差别,但服务器比工作站具有更多

4

的 I/ O 接口和更多的外存空间,可以有更多的用户对服务器进行信息的存取。因此,服务器

已经不太具有个人性,而更象传统意义上的小型机或主机。但从另一方面说,服务器又完全是

从工作站中派生出来的,这可以从 Sun Microsystems 公司对服务器的描述中看出:“服务器就

是将工作站的头(高分辨率显示器)砍掉后的机器”。图形功能的大小是工作站与服务器另一

重要的差别,作为服务器一般都不配置很强的图形功能,有的甚至根本就不配置专用的图形处

理器,因为服务器在网络中强调的是文件资源的共享以及事务处理的速度,图形功能是留给网

络中工作站的。工作站与服务器虽然是工作站的两个类型,它们在系统结构上和软件的开发

环境上却是没有区别的。

工作站一般都具有很高的性能。由于在应用领域和价格方面的考虑,工作站越来越向着

两个方向发展:一是低档工作站,主要是指价格在 5 千美元或 5 千美元以下的工作站。但它的

性能却一点也不“低档”,远远超过了高档的微型机,在 CP U 运算速度、内存容量以及图形和网

络能力上,也超过了传统的小型机。因此,这一类工作站在社会上普及已指日可待。

另一方面是高档工作站: 包括用于商业和事务处理的所谓服务器。它们大都具有相当高

的整数和浮点数运算速度,大容量的内存,海量的磁盘、带空间以及各种不同应用的 I/ O 接

口。这一类工作站在性能上已接近小巨型机,有些甚至已接近巨型机。

由于普遍采用了 RISC 技术,CP U 不但有极好的整数运算速度,而且也有极好的浮点处理

能力,再结合专用的图形处理器,使得工作站也具有很强的网络通信功能,既可以通过高速局

域网实现所谓网络计算,也可以通过广域网提供共享资源的服务。

工作站不仅提供了极高的性能和优良的性能价格比,更重要的是它的性能以每年 80 % 的

增长率持续增长。自从 Sun 公司 1982 年诞生第一台 Sun - 2 工作站以后,工作站性能每年都

增加一倍。

4 工作站常用操作系统是什么

微机一般使用 D OS 操作系统; 而工作站一般使用 U NIX 操作系统。目前 U NIX 操作系

统已成为工作站事实上的标准操作系统。

U NIX 操作系统是当代最成功的操作系统之一,装配 U NIX 系统的计算机类型较多,遍及

微型机、小型机、超级小型机、工作站、甚至大型机。今天 U NIX 已经成为工作站的标准操作

系统。U NIX 系统普及与成功的最根本的原因在于它的开放性,用户可以容易地向系统添加

新的功能和工具,从而使系统越来越完善,提供的服务越来越多。随着 U NIX 的发展,目前流

行多种 U NIX 版本,最有代表性的是 U NIX System Ⅴ和 4.3BSD。

4.1 U NIX 的特点

U NIX 系统从一推出就坚持源代码开放,几乎所有著名厂商都从所获得的 U NIX 技术上

推出了自己的 U NIX 版本。如:IB M 的 AIX, H P 的 H P - U X,Sun 的 SunOS, D EC 的 O SF/ 1

以及 Microsoft的 Xenix 等,而且这些 U NIX 版本又从不同程度上对 U NIX 作了新的发展,这

些发展反过来又促成了 U NIX 的更加成熟。

经过 20 余年的发展与不断完善, U NIX 现已进入成熟阶段。由于计算机界已普遍认识到

U NIX 在 20 世纪 90 年代将成为计算机操作系统的主流,并且它的存在和发展还将持续到 21

世纪,因而 U NIX 系统已成为当今最重要的系统软件;另一方面, U NIX 现已不仅仅是一个操

5

作系统了,围绕着它已形成了一个优良而宠大的软件环境,这环境不但拥有丰富的软件工具,

而且还拥有支持数据管理系统、多媒体软件系统等的极好特性。

U NIX 系统自 60 年代诞生以来,由于是以源代码形式发布,各高等学府和研究所很容易

在所得的源代码上增加或修改某些功能,因而使 U NIX 产生了许多分支和版本。其中最主要

的有三种: A T & T 公司的 U NIX System V,简称 System V;伯克利的软件分布系统,简称 BSD;

Microsoft 公司的 X E NIX。

System V 的第一版于 1983 年公布,叫做 System V Release 1.0(简称 S V R1)。它是以

Ken.Thomposon 的 U NIX(最早的 U NIX)为基础,增加了用于进程通信的若干设施(如:消息

队列、信号量和共享内存)。1986 年 System V Release 3.0 版(简称 S V R3)公布。它新加的功

能有:远程文件系统( RFS)、流(Stream)、TLI(传送层接口)、共享库(动态链接库)以及强制性

文件和记录锁定。1989 年底,System V Release4.0 版(简称 SV R4)公布,这是 A T & T U NIX

的一个里程碑。SV R4 几乎融合了 U NIX 三大分支的所有主要功能,符合 IE EE 的 P OSIX 标

准,并提供了一个遵循 A N SI标准和国际标准的 C 语言编译器。

美国 Berkeley 大学于 1981 年开发了一个具有虚拟存储器功能的 U NIX,叫做 4.1 BSD(或

BSD4.1),以后又逐渐发布了 4.2 BSD、4.3 BSD 和 4.4 BSD。它的主要特点之一是对 U NIX

存储管理作了重要的改进和增强,但是 BSD 最重要的贡献在于将 T CP/ 1P 网络协议的实现加

入到 U NIX 系统的核心中,从而使 U NIX 不但是一个本地操作系统,而且还是一个网络操作

系统。T CP/ IP 的 BSD 实现不但促进了许多局域网以及全球网络 Internet 网的建立,更重要

的是它将 U NIX 引入了网络,引入了分布处理。

X E NIX 系统在功能上十分类似于 A T & T 的 System V Release 2.0,由于 Microsoft 公司在

微型机操作系统上的统治地位,X E NIX 主要流行于奔腾等 PC 机器。

U NIX 巨大的优越性,促使大量的高等学校、研究单位以及工业集团投入到 U NIX 的开发

的推广工作,美国是 U NIX 的发源地,因而有关 U NIX 的开发和研究异常活跃。目前 U NIX

的开发和研究工作主要由两个集团来进行,它们是 UI( U NIX International)集团和 OSF( Open

Software Fundation)集团。 UI的主要成员为: A T & T、Sun MicroSystems 公司、日本的富士通、

东芝等等;而 OSF 的主要成员包括: D EC、H P、IB M 以及日本的 N E C、日立等等。两个集团在

技术和商业上的相互竞争,大大促进了 U NIX 在技术上的发展,产生了许多原来 U NIX 不曾

有的新技术,如基于网络的图形用户界面、分布式计算机环境、多线程的设计方法等。这些新

技术的加入,使得 U NIX 在功能上更加完善与强大,应用也更加广泛。但是,两大集团的相互

竞争也带来一些不利因素,尤其是对于用户。竞争的结果是产生了两种不同的 U NIX 版本和

标准,如图形用户界面就有两个不同的标准 M otif 和 Open Look,实际它们之间本质上没有什

么不同(都是基于 X - Window),但却拥有两种不同的视感,这对于最终的用户是十分不方便

的。然而竞争的副作用正在消失,最近我们高兴地看到两大集团正在接近,过去那种相互不支

持对方技术的局面正的改观( UI和 OSF 都宣布支持对方的某些技术),随着 U NIX 标准化的

加快进行, U NIX 将渐趋统一。

4.2 U NIX 的系统结构

从狭义上讲, U NIX 只是一个分时操作系统的核心,它负责管理计算机系统的资源并把这

些资源分配给该计算机系统的用户使用。但是,我们平常讲的 U NIX 不只是一个核心,还包

括语言编译、程序调试工具、文档编辑和文件复制打印等支撑软件。

6

从功能上看, U NIX 系统可分为三部分。第一部分为系统核心( Kernel),它利用硬件所提

供的基本服务,向外层提供全部应用程序所需要的服务,也就是说,它负责任务调度和数据存

储管理;第二部分为外壳(Shell), 它负责连接与解释由系统用户打入命令的程序,解释用户的

要求,从存储器中调用程序,并按一定顺序执行它们;第三部分为实用程序,执行各种子程序和

专门的系统维护功能。参看图 1 - 3。

图 1 - 3 U NIX 系统结构示意图

文件是存储信息的基本单位。 U NIX 系统中的文件是字节流文件,任何信息都可存放在

文件中。文件中信息的内容和信息的定义完全由存取它的程序解释。文件可以是磁盘、磁带,

也可以是键盘上打的字符、行式打印机的输出,甚至可以是系统与程序所联结的任何东西。只

要是字符的序列都可以是文件。

U NIX 文件系统提供如下服务:

(1)用户可以用文件名存取外部介质上的信息,如磁盘、磁带上的信息等。

(2)提供对文件的保护,如不因硬件故障破坏存放在文件中的信息;文件是私有的,未经许

可,不能存取别人的文件。

(3)文件可以共享。

一个进程就是一个可执行程序的执行,同一程序和几次不同执行就可产生几个不同的进

程。U NIX 系统中的进程控制子系统负责进程同步、进程间通信、存储管理及进程调度。

通常,系统中每执行一个命令即执行某一可执行文件,就是一个进程。 U NIX 系统上用户

全部的工作都是由进程执行的。U NIX 系统的进程调度采用动态优先数算法。

U NIX 通过使用 daemons 进程来实现职能。daem ons是一个运行于后台的程序,它负责实

现管理系统,随时等待为用户的请求服务。

存储管理模块控制存储分配,采用段页式管理,分配单位是块。 U NIX 中称区为页,每页

由连续地址的若干相邻块组成。在新版的 U NIX 中使用了虚存技术。

4.3 U NIX 的变种

Sun SP A R C 工作站使用 SunOS 或 Solaris 操作系统, D EC Alpha 工作站可选用 D E C

OSF/ 1 或 OpenV M S 或 Windows N T 操作系统。SunOS/ Solaris 和 OSF/ 1 操作系统均来源于

U NIX。

SunO S/ Solaris 是 U NIX 的两个主要版本 Berkeley 的 4.2/ 4.3BSD 和 A T & T 的系统 V 相

7

结合的产物,同时增加了 Sun 对 U NIX 的扩展。Solaris 是 SunOS 进一步发展的产物。Solaris

1.0 基于 Sun OS 4.1.3,Solaris 2.0 基于 SunO S 5.0, 同时还集成了先进的 O N C 环境、Open

Window 和 Deskset。

另外,IB M 工作站使用的 AIX、H P 工作站使用的 H P - U X 和 S GI 工作站使用的 IRIS 操

作系统均来源于传统的 U NIX。

5 Solaris 2.x 和 Solaris 8 有何特点

Solaris 2.x 操作系统包括三大部分:SunO S 5.x、开放网络环境 O N C 和 Open Window 3.x。

SunO S 5.x 基于 U NIX System Ⅴ4.0 版(SV R4)。S V R4 是 U NIX 系统的一个标准, 它为软件

开发者、系统管理员和最终用户提供一个标准的工作环境。Solaris 2.6 操作系统具有网络集

成化、数据库连接、超高可靠性和安全性。

Solaris 操作系统基于 U NIX S V R4,同时 SunSoft 公司还对它进行了增强。如 SunSoft 在

Solaris 中增加了多处理器、多线程处理功能,增强了实时功能和安全性,提供了更方便的系统

管理。具体地讲,Solaris 2.x 具有如下特点:

(1)是一个基于 S V R4 的全 32 位操作系统;使用了包括 S V R4 在内的工业标准和 O N C

(开放网络计算环境)。

(2)可同时运行于 SP A R C、PowerP C 和 X86 平台。

(3)为应用开发人员同时提供在 Open Look 图形用户界面( G UI)下的 Open Win 窗口环境

和灵活的图形用户环境 C D E。

(4)新的企业分布文件服务 N FS v3 能传输任意大的数据包,适合于 A T M 和 F D DI 等高

带宽网络, 性能比 N FS v2 提高 7 倍。

(5)容易使用的桌面环境( Deskset),包括多媒体邮件、文件管理器、打印工具、映像工具和

日历管理等;文件管理器提供了一种直观管理本地和远程文件系统的工具。

(6)Open Look Ad mintool是本地系统管理的基础,利用这一工具,系统管理可以使用鼠标

和菜单进行系统管理操作。

(7)图形用户界面的安装程序方便了系统安装和升级。

(8)支持多线程和多处理器:多线程技术使 Sun 的多处理系统中的每一个 CP U 都可以发

挥最大效率, 从而获得最大的并行度。支持全对称多处理器结构,即多处理器可以同时执行

操作系统的代码。Solaris 1. x 支持第一代 SP A R C 结构,而 Solaris 不但支持第一代 mi-

croSP A R C 结构, 而且还支持第二代 superSPA R C 和第三代 UltraSPA RC 结构。多线程技术使

SP A R C 多处理器可以并行工作。所谓线程(Therad) 是指在一个程序或进程中的一系列指令

或指令流。传统的进程仅含有一个指令序列,亦称为单线程。与单线程进程相对应,多线程进

程中包含多个并发执行的线程。单线程进程和多线程进程均可在单处理器或多处理器的系统

中运行。

(1)支持实时控制:实时进程具有固定优先级并可立即抢占 CP U,这一技术可使应用软件

获得预知的响应时间,以便对关键事件进行实时处理。

(2)支持增强的网络信息服务 NIS + ( Network Information Services Plus)。

(3)多媒体邮件系统支持图象、声音文件的传送与接收。

8

(4)Audio 工具可以记录和播放声音信息。

(5)新的 Solaris XIL、X G L 和 PE X 极大提高了三维图像处理能力,便于开发各种视算应用

软件。

(6)增加了 Kodak Color M anagement Systems(K C M S),保证了采集的影像、屏幕上显示的

图像以及最终输出图像的色彩完全一致。

(7)Open Windows用户环境使所有的 Open Windows 应用软件可不加修改地运行于 So-

laris C D E 环境。

(8)支持 C2 级安全性。Solaris 采用了增强的安全措施,如两级口令保护、设置口令有效

期、设置用户名有效期、文件一致性检查、自动退出系统等,从而使系统的安全性达到了 C2

级。

(9)支持 SV R4 的 A BI。Solaris 应用二进制接口(A BI)使 Sun 的硬件平台从笔记本机到

巨型机具有二进制兼容性,用户只需一个应用软件版本,即可在各档次的机器上运行。

Solaris 7 是 1999 年初最新发布的一个完整的 64 位网络操作系统。它是目前较先进的网

络计算环境。具体地讲,它除了具有 Solaris2.x 所具有的优点外,还有如下特点:

(1)一个完整的 64 位网络操作系统。同时兼容以前所有的 32 位应用程序,这一点是该操

作系统能得以迅速推广的基础。

(2)增强了 R AS(Reliability、Availability and Service Ability)。即增强了系统的可靠性、可

用性和可服务性。提供了动态重配置系统核心、系统诊断和分析工具以及改进的系统管理工

具。

(3)集成了 Java 技术,提供了 Java 开发工具。

(4)支持 37 种语言。

(5)允许用户使用标准的 M otif界面 C D E(公共桌面环境)。

Solaris 8 操作环境是专门为当今网络经济时代的应用而设计的,是满足数据中心级应用

和因特网时代业务需求的操作系统。Solaris 8 操作环境提供了 200 多项新的特性,并通过强

化设计,将以太网应用的五大关键需求,即缩放性、可用性、可管理性、安全性和连接性,提高到

了一个新的高度。Solaris 8 有如下特点。

(1)信息基础设施的高可用性:

1)支持在线系统升级,允许在现有系统运行中安装和更换新版本的操作系统。

2)系统处于工作状态下的故障诊断。

3)增强的文件系统日志功能。

4)预测性故障分析,便于管理员对可能的故障预先采取措施,防患于未然。

5) 系统资源的动态重组,可根据负载的需求在线分配系统资源。

6)支持先进的集群技术。

7)IP 多路技术,支持多重网络连接。

(2)适应网络经济时代的的可缩放性和可扩充性:

1)可支持从智能卡到超级计算机等各种规模的计算设备。

2)在同一个系统中可支持从 1 个到 1000 个以上的处理器。

3)支持从两个到 8 个节点的服务器集群。

4)同时支持 32 位和 64 位应用。

9

5)支持下一代的网络协议 IPv6,使 IP 地址数目接近于无穷大。

6)先进的多线程技术。

(3)系统性能的成倍提高:

1)网络高速缓存加速器(S N C A)使 W eb 服务的速度提高了四倍。

2)Java HotSpot技术使 Java 应用性能提高 14 倍。

3)使当今数据库的性能提高 40 % 。

4)集成了业界领先的电子商务 L D A P 地址目录 IPlanet 目录服务器,其市场份额已达

70 % 。

(4)最坚固的系统安全性:

1)内置防火墙和防火脊技术,可提供不同等级的安全性。

2)支持网络环境加密的业界标准 IPSec,可建立虚拟私网( V P N)。

3)支持最新版本的 Kerberos V5 安全认证协议,可实现唯一签署(single sign - on)认证系

统。

4)智能卡接口,提供公共密钥基础设施(P KI)。

5)基于职务角色(Role - based)的权限控制,使系统管理员具有不同等级的权限。

6)集中化的用户审计事件管理。

(5)进一步增强的互操作性:

1)可同时支持 Intel平台和 SP A R C 平台,透明的跨平台连接。

2)集成了与 Windows N T 有关的各种服务。

3)Solaris PC Netlink 软件,具有对 Windows 系统与网络的互操作能力。

4)与 Linux 的兼容性。

5)对传统应用的充分支持。

(6)更加方便的系统管理和使用手段:

1)Sun M anagement Center 技术, 支持从一个中心地点向所有 Sun 系统实施管理。

2)基于 W eb 浏览器方式的系统安装并可确保新系统配置正确无误。

3)Solaris W B E M Services使用户可以自行开发基于 W eb 方式的系统管理程序。

4)Solaris Resource M anager提供对系统资源的细粒度(fine - grained)管理。

5)Solaris Bandwidth M anager 为用户提供了对 IP 传输优先级和网络带宽和控制能力。

6) D H CP M anager提供了通过图形界面管理 D H CP 服务器和数据库的手段。

7)Printer M anager 通过打印机信息的集中化,简化了本地和远程打印机的管理。

8)支持 L D A P,为基于 L D A P 的目录服务提供命名服务支持。

9)便于用户建立热线支持( Hot Desk)体系。

10)支持客户设备的即插即用。

11)包含 Perl 5 语言,便于开发 C GI 应用程序和系统管理工作的自动化。

(7)最广泛的通用性和国际化:

1)支持全球使用最广泛的 37 种语言文字和 123 种语言环境。

2)支持欧元货币。

3)通过 IPv6 支持几乎无限数量的访问连接移动 IP,允许在任何时间、任何地点与任何设

备(从 P D A、PC、工作站到大型主机)进行连接。

01

4)支持 X M L,提供对 eXtensible M arkup Language 语言的访问。

5)为 Java 2 平台企业版进行了优化。

6)各种协议和技术支持与 Microsoft、Novell、IB M 及 OSI 平台之间的无缝连接。

7)支持最广泛的各种国际标准和行业标准。

(8)功能全、效率最高的应用开发平台:

1)用户可以控制核心转储文件(即 core 文件)的命名。

2)能够跟踪共享函数库的使用情况和导致程序错误事件发生过程。

3)能以各种输出方式和排列顺序观察所有活动进程。

4)可以自行开发远程的、基于 W eb 的系统管理应用程序。

5)各种 Wizard 程序简化了 Solaris 本身以及各种 Java 应用的安装、设置和管理。

6)全方位的开发商支持合作计划。

5.1 Solaris 8 支持的标准

Solaris 8 支持的各种标准如下:

(1) Y2 K 顺应性:依照 X/ Open 规定。

(2)介面标准: X/ Open U NIX98。

(3)图形标准: X11,PostScript, Display PostScript, OpenG L。

(4)桌面标准:C D E(Com mon Desktop Environ ment), M otif。

(5)对象标准:Java ID L。

(6)连接性标准: O N C, O N C + , N FS, W ebN FS, 以及可选的 Net W are IPX/ SP X, S N A,

S M B, AppleTalk,D E Cnet与其他。

(7)Internet 标准: H T T P, F T P, Telnet, D N S, N T P,I M AP4, D H CP, SN M P, S M T P,IPv6,

IPSec, Kerberos,S ASL, O CF。

(8) L D A Pv3 1E TF RF Cs 1323,1510, 1652,1869, 1870,1891 - 1894, 1985, 1996,2018,

2136,204 及 2078。

5.2 Solaris 8 的捆绑软件包

Solaris 8 是业界领先的 U NIX 操作系统。在购买 Sun 服务器时,捆绑在 Solaris 8 操作系

统上有很多系统软件和应用软件,包括:

(1)Bonus Software Pack:

其中含: �- StarOffice 5.1 C D

- Solaris Software Co mpanion C D (包含很多共享软件,如 wu - ftpd - 2.6.0,

ghostscript - 5.10,jpeg - 6b,⋯,等)

(2)iPlanet Advantage Software C Ds:

其中含: �- Netscape Application Server V4.0 SP2

- iPlanet Certificate M anagement System 4.1

- iPlanet Directory Server 4.11 and Solaris Directory Extensions 1.0

- iPlanet W eb Server, Enterprise Editiom 4.0 SP3

- iPlanet SunScreen E FS 3.0.1

- iPlanet W ebtop 2.0.1 Rev.B

其中,iPlanet Directory Server 4.11 提供 20 万个 entry 的 license。Solaris Directory Exten-

11

sion 1.0 也提供运行license。其余产品 license 为测试、评估、开发之用。

(3)Oracle 8I C D:可用于测试、评估、开发。

(4)Solaris 8 Supplemental Software C D,包含:

- PC Fileviewer 1.0.1 软件

- PC launcher 1.0.1 软件

- Show M e T V 1.3 软件

- Sun OpenG L for Solaris 1.2 软件等

(5)Sun M anagement Center单机版软件。

(6)Sun W orkshop 5.0 Evalation CD,包含:各种编译语言程序的测试版。

6 OSF/ 1 操作系统有何特点

OSF/ 1 操作系统是基于开放软件基金会( Open Soft Foundation—O SF)的一种操作系统。

它与 SunO S 一样, 也来源于 U NIX 操作系统。OSF 与 UI( U NIX International)是研究和推广

U NIX 的两大组织。其中 UI 由 A T & T、Sun 和 Microsoft 等数家公司组成, 推出 S V R4; 而

OSF 由 IB M 、H P 和 D EC 等数家公司组成, 它推出了 OSF/ 1。与传统的 U NIX 操作系统相

比, O SF/ 1 具有如下特色:

(1)64 位的计算机环境:D E C OSF/ 1 和 Alpha A X P 结构提供给用户一个真正的 64 位计

算机环境,D E C OSF/ 1 的 64 位微内核软件技术增大寻址能力 40 亿倍,并支持高达 32 GB 大小

的文件和数据库。

(2)逻辑卷管理(L V M )和逻辑存储器管理(LS M ): OSF/ 1 摆脱了传统 U NIX 对文件大小

的限制,它能使大的文件或文件系统透明地跨越多个物理硬盘, 从而使它可以处理庞大的数

据库。

(3)高效开发工具:D E C OSF/ 1 不但拥有系统 V 和 BSD U NIX 编程特性,而且还提供了

较完善的软件开发环境。如 O D A 开发工具或 D EC F U SE 编程环境等。D E C 的复合式文档

结构(O D A)是开放文档结构的一个标准,它能使文档资料较容易地在多厂商、多操作系统网

络之间交换;D EC F U SE 利用图形工作站的能力提供了一个使软件开发更快更可靠的综合环

境,它支持 C、C+ +

、F O R T R A N 等多种语言。

(4)方便地系统管理: OSF/ 1 提供了系统和用户环境管理工具 D E C athena 和 Full sail等。

使用这些管理工具,能够高效方便地管理系统和用户环境。D E C athena 能够管理多台 U NIX

工作站; Fullsail和 PO L Y CE N TE R 能够使用户监视 C P U 和存储设备的使用情况。对于网络

管理和配置,O SF/ 1 提供了 netsetup 和 nfssetup 两个工具。

7 工作站常用的图形用户界面是什么

作为工作站底层使用环境的 U NIX, 因为它具有丰富的命令和强大的工具, 而被广泛使

用,但以命令行为主的操作方式和不友善的界面,常使用户感到头痛。工作站以其强大图形窗

口界面和友好的交互方式为 U NIX 提供了一个全新的前景。

人们对计算机操作已从面向命令的字符方式向面向用户的图形方式进展。图形用户界面

21

(G UI)已是当今用户界面领域的主流。图形用户界面一般可分为三个层次,即窗口系统、作图

模型及应用程序接口。

窗口系统的各种应用通过库函数以进程通信方式取得服务,完成特定的功能。窗口系统

的代表为 X - Window。

图形用户界面的真正发展始于 X - W indow 系统的出现。 X 可以称为图形用户界面的基

础环境,但是 X 并没有真正提供相应的图形用户界面。它仅仅提供了一种机制,提供了一个

基本的、建立在网络基础上的窗口化环境,同时为方便用户的开发与应用提供了灵活、高效的

工具。

作图模型用来描述字符或图形在屏幕上具体生成方式, 即把窗口系统输出到屏幕上。常

用的作图模型有象素模型和页面描述语言显示( Display Postscript)等多种。X - Window 和

S U N 公司早期开发的 S U N Window 窗口系统是基于象素模型的;而 S U N 公司的分布式窗口

系统 News是基于页面描述语言显示的接口。X - Window 作为一个开放式的窗口系统,为各

种各样的界面风格提供了一个实现的基础。SU N 在 X - Window 上建立的 Openlook 和 D E C

在 X - W indow 上建立的 O SF/ M otif为应用程序提供了不同风格的设计接口, 它们都是面向

对象的程序设计接口。

微机大都使用微软的 Windows窗口系统,而工作站使用 X - Windows 窗口系统。S U N 工

作站所用的 SunOS/ Solaris 操作系统的图形用户界面选用了 Open Windows 窗口系统,而 D E C

OSF/ 1 图形用户界面选用了 D EC W indows/ M otif 窗口系统。 Open Windows 和 D E C Win-

dows/ M otif 均是 X - Windows 的一个分支。

X - Window 系统是以计算机网络为基础的窗口管理系统,它是美国麻省理工学院( M IT)

在 D E C 的支持下开发出来的。X 窗口系统由于其开放性、标准化、制造商独立性,以及基于服

务器/ 客户型的环境,而被人们广泛接受,目前已经成为事实上的工业标准。

X 窗口系统采用了网络结构的所谓客户/ 服务器模式。客户/ 服务器模型的重要特征之

一,就是客户和服务器程序可以在网络上通信。二者不必运行于同一台机器, 甚至不必在同

一幢建筑物内。X 显示站是分布式计算环境中的一个理想前台端点。一个系统管理员,可在

他管理的任一台机器上打开多个窗口,做多项不同的工作。

News 是 Sun 公司开发的可扩充网络窗口系统,于 1986 年推出。News与 X 相比, 它有更

强的可扩展性。它用 Postscript语言实现,窗口面像基于模板/ 调色板方式。

图形用户界面(G UI)为用户与计算机交互作业提供了一种直观、轻松而高效的手段。图

形用户界面允许用户使用图标(icon)和菜单( menu)之类的图形客体、颜色及其它直观表示法

进行信息交换。

目前,G UI 的两个主要代表是 OpenLook 和 M otif。OpenLook 广泛应用于 Sun 工作站和

基于 U NIX 的小型机和微型机,而 M otif 却得到更为广泛的使用。表 1 - 1 说明了 OpenLook

与 M otif之间的差别。

表 1 - 1 O penLook 与 M otif的比较

项 目名 称 O pen Look M otif

产品拥有者 UI O SF

适应的硬件 并不局限于 SP A R C 并不局限于 IB M 、D E C 等硬件

31

开发人员工具箱 OI、D LIT 和 Xvie w OI 和 M otif

给用户的感觉 直观友善但画面与操作不同于 M otif 直观友善但画面与操作不同于 O pen Look

规范的严密性 规范说明较严格 因此某些方面不太规范 规范说明不严格 只给建议而不是规则

发展前景 在 S P A R C 类产品上继续发展可能被广泛用于各类 X - W indow

系统上,也可能成为 G U I 标准

8 Solaris 的图形用户界面有何特点

Solaris 的图形用户界面为基于 OpenLook 界面标准的 Open Windows。Open Windows 以

X - Windows服务器为界窗口系统平台。同时,Open Winodws 还包含 X View toolkit、OpenLook

Intrinsics Toolkit(O LIT)和 News Toolkit, 以及一套基于这些工具箱的客户应用程序。 Open-

Windows 提供的应用程序和建立在这些工具之上的用户应用程序均符合 O penLook 界面标

准。

O LIT 是 OpenLook 基本的工具箱, 它是基于 X 系统的 Xt工具箱的, 它向应用程序设计

者提供一套预定义的组件( widgets)和其它用户接口抽象。

News 工具箱提供了一套 News 开发组件,应用程序和工具可以在组件的基础之上实现。

News工具箱由一套 服务器组 件和一套 客户组 件组成, 其中 服务器 组件用 扩展 News

P OSTSC RIP T 语言写成,而客户组件由 C 语言写成。

X View 工具箱提供了一个面向对象的例程序,以及开发 X 应用程序的框架结构。X View

使用过程调用 C 语言编制的 X View 组件。

Open Windows 为用户提供了一个桌面集环境工具。该工具包括以下应用程序:

(1)命令工具( Co m mand Tool) 和控制台(Console):命令工具提供一个基于终端命令行的

文本编辑器, 该窗口可作为一个可编辑的命令解释器。控制台是一个特殊的命令窗口工具,

用于显示操作系统、Open Windows 和某些应用程序的出错和系统信息。

(2)外壳工具( Shell Tool):外壳工具是一个命令解释器,它接受操作系统命令,而且可被用

于外壳或其它程序。当在命令行上打入一个命令时,Shell接受并解释这个命令,然后运行之。

(3)文件管理器(File M anager):它是一个图形的文件管理器程序。利用文件管理器, 可

以查找、拷贝、移动、打开、关闭、创建、删除和打印文件。

(4)文本编辑器( Text Editor):它是一个基于 ed 的交互式文本编辑工具。

(5)邮件工具( M ail Tool):它是一个用于组装、发送、排序和存储电子邮件的强有力的工

具。

(6) W eb 浏览器( W eb Browser):Internet W W W 浏览器。

(7)日历管理器(Calender M anager):它是一个约定和资源调度工具。

(8)打印工具(Print Tool):它为用户提供一个直观便利的打印文件的工具。

(9)电源管理器( Power M anager):它为用户提供一个保护屏幕同时节约电能的工具。

(10)时钟(Clock):用于在线时间和日期显示。

(11)快照(Snap Shot):它为用户提供一个直观便利的方法来摄取区域、窗口或整个工作

站的快照。

41

(12)磁带工具(Tape Tool):它为用户提供一个使用流式磁带机进行归档和检索的工具。

(13)图标编辑器(Icon Editor):它提供一个创建和存储图形映象的方法。

(14)性能仪(Performance M eter):它对系统网络性能给出一个图形表示。

(15)计算器(Calculator):它是一个袖珍科学计算器。

(16)约束器 (Binder):用于修改桌面集约束数据库。

Solaris也支持 O SF 的 M otif G UI 编程环境,也就是说,Solaris 用户既可用 Open Window

中的 X View 设计图形用户界面,也可用 O SF 的 M otif进行应用程序图形用户界面设计。

9 工作站使用的体系结构是什么

计算机体系结构是指计算机软硬件之间的界面以及硬件功能的分配。例如,P C 微机采用

的 Intel的 80x86,D E C 的 P DP - 11、V A X 和 Alpha 以及 Sun 的 SPA RC 均是不同的体系结构。

计算机体系结构基本上可分为两类,即 CISC 和 RISC 体系结构。通常,工作站采用 RISC 体系

结构。

CISC 是 Com plex Instrution Set Computer 的缩写,意为复杂指令集计算机; RISC 是 Re-

duced Instruction Set Co mputer的缩写,意为精简指令集计算机。

工作站一般采用 RISC(精简指令集计算机)技术, RISC 的基本特点是简单高效,P C 微机

一般采用 CISC(复杂指令集计算机)技术。RISC 的主要设计目标是提高机器性能。不同的厂

商设计实现的 RISC 可以不同,但设计的简单性是大家共同遵守的规则。一般来讲, RISC 具

有如下特点:

(1)指令单周期内执行;

(2)硬布线控制,机器指令直接控制硬件执行信号;

(3)指令格式简单;

(4)采用流水线技术;

(5)大量使用寄存器。

由于 RISC 取消了微程序,采用了流水线技术,使用较多的寄存器, RISC 结构的计算机也

就比 CISC 结构的计算机速度要快得多。RISC 与 CISC 的具体区别请参见表 1 - 2。

表 1 - 2 RISC 与 CISC 的区别

序 号名 称 项目 RIS C CISC

1 �指令集 小(50 �~75 条) 大(大于 100 �条)

2 �指令格式 简单(3 �种) 复杂(大于 10 �种)

3 �指令 简单 复杂(有许多宏命令)

4 �指令执行周期 单周期 多周期(寻址复杂)

5 �内部寄存器 多(32 �~256) 小(小于 40 �个)

6 �时钟速度 高 低

7 �编译 优化编译 一般编译

8 �微程序 无 有

工作站所采用的 RISC 体系结构的典型代表有 32 位的 MicroSP A R C、SuperSP A R C 和 64

51

位的 UltraSP A R C、Alpha。目前, S U N、D EC 和 H P 等公司推出的工作站均采用了 RISC 体系

结构。

10 什么是 SP A R C、Alpha 和 PowerP C

SP A R C 是一种计算机体系结构。SP A R C 是英文“Scalable Processor Architecture”的缩写,

是指按比例可增长性能的处理器结构,该体系结构可采用不同的半导体工艺,达到不同的性能

指标,而其体系结构完全兼容。

SP A R C 作为一种规范,硬件上,主要定义了 CP U 结构;软件上,SP A R C 尽量使用标准软

件,如 SunOS Open Window 等。为了使应用软件能在不同的 SP A R C 平台上保持二进制兼容,

SP A R C 制定了 A BI( Application Binary Interface)规范。

图 1 - 4 Ultra SP A R CⅢ芯片

Sun 已经生产了三个 SPA R C 系列,即 32 位的 MicroSP A R C、SuperSP A R C 和 64 位的 Ul-

traSP A R C 处理器系列。

SP A R C 使用了大寄存器窗口,将寄存器分成多个重叠的环形寄存器窗口,每个窗口有 24

个寄存器:8 个进(in)寄存器,8 个出(out)寄存器,8 个局部寄存器。

UltraSP A R C III处理器以其最具实力的性能进入了竞争激烈的 64 位处理器市场,它是一

种具有“多维”优秀性能的处理器,在时钟速率、扩展能力、微处理器线性性能和处理带宽等各

个方面都表现得十分优秀。 UltraSP A R C III 处理器是目前市场上唯一具有集成的可扩展存

储器设计和频率分割性能的芯片,这就在一个单一系统内支持了混速 CP U,并第一个支持了

单周期相干协议(图 1 - 4)。S U N 提供的 UltraSP A R C III 芯片,现有时钟频率为 900、750 和

600 M Hz,将来的开发前景要达到 1.5 G Hz,就是说它将成为千兆级的微处理器。它采用了最

先进的工艺技术,包括铜连线技术,因此,当 UltraSP A R C III 处理器充分发挥其设计潜力时,

它可达到1.5G Hz 的时钟频率。在 SP A R C 芯片系列产品中,每增添一个新产品,其扩展性能

都在提高。 UltraSP A R C Ⅲ处理器继承了这一传统,它的扩展性能又提高了好几倍。 Ultra-

SPA R C III 芯片可以做到在一个单一存储域中配置几百个处理器,使整个系统的存储容量和

性能随着处理器数目的增加几乎呈线性增长。作为第二代 64 位 SPA R C V9 微处理器架构,

UltraSP A R C III 芯片提供了与为以前架构所编写的应用程序的完全的二进制兼容性,这就为

Sun 的客户升级到新一代系统提供了丰厚的投资保护。

UltraSPA RC III 处理器的推出是 UltraSP A R C II 处理器

开发的延续。因此,建立在 UltraSPA R C III 芯片上的系

统的有效寿命也将继续延续,使用户在经济上大为受益。

从提高总处理带宽的特性来看, UltraSP A R C III 芯片提供

了 9.6G B/ s的处理器到内地址通道的峰值速率,这是以往

UltraSPA RC 芯片的两倍多。 UltraSP A R C III 芯片可以

4.8 GB/ s 的存储器通道速率运行。为做到这一点,要将

UltraSPA RC III与一些新的架构特性结合起来,如专用存

储器控制器。这种控制器有专门的设计,可减小延迟,充

分发挥 UltraSP A R C III 的高带宽的设计能力。 Ultra-

SP A R C III 的高可靠性能使基于 UltraSPA RC III 处理器

61

的系统的可用性大大提高,它的新型的用于错误隔离与校正的“ Uptime Bus”总线就是它的高

可靠性特性之一。基于 L2 高速缓存的差错校验特性也使 UltraSP A R C III 的差错检测与校正

更迅速、更可靠。

目前,市场上 SP A R C Station 5/ 10/ 20 和 Ultra 1/ 170、Ultra 2/ 60、Ultra 2/ 200、Ultra 2/

300 和 Ex000 工作站和服务器基本上是 SP A R C 的代表机型。它们均是一个超标量整数与浮

点性能结合在一起的系统,使用了 SuperSP A R C 或 UltraSPA R C 处理器。SP A R C Station 20

可采用多达 4 个 50 M H Z SuperSP A R C 或 2 个 60 M H Z SuperSP A R C 处理器。同时,所有型号

SP A R C Station 和 Ultra 系列工作站均配有拾音器和 16 位音响卡。Sun 目前推出的 Ultra-

SPA R C Ⅲ的最低主频为 600 M Hz,带有可视化指令组合,具有极强的可扩展性,可集成 1000

多个处理器单元。

Alpha,从字面上讲,它是希腊字母中的第一个字母, Alpha 的设计者也许希望 Alpha 成为

世界第一。因此, 给 D E C 的第三代计算机体系结构起名为 Alpha。

D EC 公司设计生产的计算机系统共使用了三种体系结构,即 PD P - 11(16 位体系结构)、

V A X(32 位体系结构)和 Alpha (64 位体系结构)。P DP - 11 和 V A X 为 CISC 类体系统结构,

而 Alpha 为 RISC 类体系统结构。64 位 Alpha 体系结构的设计寿命为 25 年,如果 Alpha 设计

师的愿望能够实现, 那么 Alpha 将成为 21 世纪计算机体系结构的先驱。

Alpha 体系结构具有以下特点:

(1)真正的 64 位计算机体系结构:它使用了具有 64 位寻址能力的处理器,其中包括 64 位

浮点数运算处理、64 位整数运算处理、64 位数据通道和 64 位寻址。64 位结构允许程序访问

2 * * 64(2 的 64 次方)的内存空间,这就大大方便了较大程序的运行。

(2)使用 PA L 调用:为了给多种操作系统提供一个平等的硬件平台, Alpha 使用了类似于

PC 机的 BIO S 的 PA Lcode (Privileged Architecture Library Code)软件。P A Lcode 将操作系统

和硬件隔离开来。通过执行特定的指令集,为用户提供不同的操作系统( OSF/ 1 或 OpenV M S

或 Window N T)。PA L 调用主要有中断、异常处理、虚拟存储等。

(3)操作系统任选性:三个操作系统(D E C OSF/ 1、Open V M S 及 Windows N T)及较多的

应用软件可供用户任选。

D EC 计划推出 Alpha A xp 21064 和 21164 两种 Alpha 体系结构的微处理器。Alpha 的代

表机型主要有 D EC 3000/ 600 和 800。它们均采用 Alpha Axp 21064 微处理器。

PowerPC 是 IB M 、M atorola、Apple 三家工业界巨头建立的 PowerPC 联盟研制开发的

RISC 微处理器 PowerP C 系列的统称。PowerPC 也可理解为 PowerP C 体系结构,一种设计标

准。它规定了一个公共的指令集结构(ISA),使得任何人都可来设计兼容的 PowerPC 处理器,

它们都能运行相同的代码。PowerP C 体系结构来自 IB M 的 Power 体系结构。Power 的含义

是 Performance Optimized With Enhanced RISC———性能最佳、功能增强的 RISC, PC 意为

Powerful Chip———功能强大的芯片。因此,PowerP C 并不是指个人计算机,而是指性能优化的

功能增强的 RISC 芯片。PowerPC 是高性能、低功耗的 RISC。

PowerPC 硬件参考平台是基于 PowerPC 的系统的设计标准,是 IB M , M otorola, Apple,以

及其它公司生产基于 PowerPC 系统产品的基石。它规定了一个公共的硬件和软件设计结构,

使遵循它的系统可以运行同样的操作系统和应用程序,却又可具有公司特有的增殖特性。公

共的参考平台为用户也带来好处:使用户可集中注意力于解决他们的问题,而不是去花很多力

71

气于弄清特定硬件平台的体系结构和特点。应用的兼容性保护了用户的投资,公共硬件参考

平台还支持运行多种操作系统。因此,公共硬件参考平台使得客户既可选择计算机硬件又可

选择其上运行的操作系统,并且这两种选择是独立的。

1993 年 11 月,IB M 率先提出了 PowerP C 参考平台规范 P ReP( PowerPC Reference Plat-

form) V.1.0,继而在 1994 年 10 月推出 P ReP V1.1。IB M 和 M otorola 生产的基于 PowerPC

的产品均遵循 P ReP 标准。而联盟的另外一成员 Apple 公司却有它自己的平台规范 Power

M acintosh。这两种规范下的产品硬件配置互不兼容,并且 PReP 虽然支持 6 种操作系统却不

支持 M acOS,而 Power M ac 只支持 Apple 公司自己的 M acOS———System 7。这种不兼容性阻

碍了 PowerPC 参考平台成为真正的开放的标准。因此 1994 年 11 月三家联盟成员一致同意

宣布要开发一个公共的硬件体系结构———公共硬件参考平台 C H RP ( Com mon Hardware Ref-

erence Platform)。C H RP 将是 PReP 和 PowerM ac 平台标准的超集,能运行包括 M acO S 在内

的 6 种以上的操作系统———IB M 的 AIX,和 OS/ 2 PowerPC 版; Apple 的 M acOS, Microsoft 的

Windows N T,Sunsoft 的 Solaris和 Novell的 Netware 等。并且保持和原平台的兼容。为遵循

P ReP 的系统编写的应用软件和为 PowerM ac 编写的应用软件在新的遵循 C H RP 系统上也能

运行,1995 年 11 月 PowerP C 联盟正式宣布了公共硬件参考平台(C H R P)技术规范,符合新规

范的产品于 1996 年下半年或年底问世。

81

第二章 Sun 工作站硬件安装和维护

11 Sun 工作站硬件组成如何

大多数计算机系统的硬件都可以分为 5 部分:运算器、控制器、存储器、输入设备和输出设

备。Sun 工作站是计算机系统的一种,它也具有一般计算机系统所具有的硬件部件。下面将

以 Sun Ultra 60 为例大致介绍工作站的硬件组成。参见图 2 - 1 和图 2 - 2。

图 2 - 1 Sun Ultra 工作站硬件组成

11.1 运算器和控制器

运算器和控制器合称为中央处理器(CP U )。Sun 微系统公司为其工作站开发了 SP A R C

中央处理器。该处理器分为 SPA C R、SuperSP A R C 和 UltraSP A R C 三种。Sun Ultra 60 使用

91

图 2 - 2 一般服务器硬件组成

UltraSP A R CⅡ CP U。该处理器有片上高速缓存 32 K B(16K B 数据和 16 K B 指令)和 2 M B 外接

高速 缓存。 UltraSP A R C Ⅱ CP U 的 时钟频 率有多 种, 如: 200 M Hz、250 M Hz、300 M Hz 和

336 M Hz 等。

11.2 存储器

Sun 工作站使用的存储器可以分为主存、软盘、硬盘和光盘。主存储器是计算机工作的标

准场地,工作场地的大小直接影响计算机处理信息的速度。Sun Ultra 60 工作站共有 16 个单

条主存插槽,最大可以安装 2 GB 内存(采用 128 M B SI M M )。Sun 工作站选用 3.5 英寸 M S -

D OS/ IB M 兼容的软盘(可格式化为:720kB、1.2 M B 和 1.44 M B)。Sun Ultra 60 选用 644 M B

12 倍速 SunC D(与 Photo CD 兼容)。最多可有两个 3.5 英寸 SCSI 硬盘(每个 4.2G B 或9.1

02

G B)插入 Sun 工作站之中。

11.3 输出设备

Sun 工作站使用图形显示卡和图形显示器。目前,可供选择的图形显示卡有: Creator、

Creator 3D、Elite3D m3 和 Elite3D m6。图 2 - 2 所示的计算机是一台无图形显示器的工作站。

无图形显示器的工作站可以认为是一台服务器。一般用户不在服务器上做作业,服务器上连

接一个字符终端就可以监控服务器的运行。

11.4 输入设备

Sun 工作站使用 Sun 公司的专用键盘和鼠标作为输入设备。

另外,为了使工作站连接足够的外部设备,通常为工作站配备大量的标准接口。例如,

Sun Ultra 60 工作站具有如下标准接口:

(1)串口:两个 RS - 232C/ RS - 423 串行口。

(2)并口:Centronics 兼容的并行口。

(3)扩展总线:4 个 PCI 槽。

(4) U P A 图形槽:两个 U PA 图形槽。

(5)音频:16 位音频、外部麦克风、导线输入和输出、耳机输出。

12 TP、A UI 和 ISD N 的含义是什么

目前,大多数工作站均含有 T P、A UI 和ISD N 端口,如 Sun SPA R C10/ 20,D E C3000 - 600/

800 等。在工作站内部,一般都集成了一块以太网络控制器,它与用于微机的网卡类似,都用

于连接网络系统。为了便于用户组网时使用不同种类的传输介质,工作站中的网卡一般均提

供三种标准端口,即 T P、A UI和 ISD N。

TP 是双扭线以太网端口,即 10B ASE - T 接口; A UI 是标准同轴电缆端口,ISD N 是集成

综合数字网端口,ISD N 网可以传送声音和数字。有时 ISD N 端口也标记为 RJ45, RJ45 是标

准电话电缆接口,因此,可以直接连接电话机。而有些机器还配有 B N C 端口,B N C 是指细同

轴电缆端口。

13 工作站使用的总线是什么

工作站采用多总线结构,微机大都使用单总线技术,即在一条总线上分别连接着 C P U、主

存、控制器等设备,这样做价格便宜,但信息在部件之间的传送速度慢。为克服单总线技术的

弱点,工作站采用了多总线结构,如在 CP U 和主存之间采用了内置式高速内部总线等。当前

Sun 系统使用内部总线 SBus(system bus)。早期的 Sun 系统使用 V M E(versa modula europa)

总线。连接磁盘和 SBus总线之间的外部设备总线一般为 SCSI 总线。在 Sun Ultra 工作站上

同时使用了 SBus、M Bus、U P A、PCI、SCSI 等总线。

工作站给用户提供了多种接口。例如:网络接口有 A UI(标准同轴电缆接口)、T P(双绞线

接口),外设数据传输接口有 SCSI、并口和串口等。

SCSI 是一种用于中小型计算机系统、工作站和高档微机的通用智能输入输出接口。SCSI

的英文全名为:S mall Com puter System Interface。

12

SCSI的前身为小型硬盘和软盘驱动器接口 SA SI(Shugart Associates System Interface)。

1986 年美国国家标准局(A N SI)在 SASI 的基础上进行了功能扩充和协议标准化,审议制定了

SCSI 标准 A NSI X3.31—1986,使之成为通用接口标准。

SCSI 具备相当高的智能程度,其设计思想和功能特点充分地反映了这一点。

(1)通用性:SCSI 可作为通用输入输出接口使用。在 SCSI 总线上可连接 8 台主机和外设

控制器,能够按照相同的控制方法连接磁盘、磁带、光盘、半导体盘、C D - R O M 、打印机、绘图

仪等众多外部设备。

(2)多任务操作:SCSI 是面向多任务处理的接口,提供了断开/ 重新连接和总线仲裁功能,

使多个主机多个外设控制器或同一控制器下的多个外部设备可以同时并行操作。

(3)主机级接口:和 ST506/ 412、ESDI 等设备级口不同,SCSI 处于更高的层次,它具有不

需理解外部设备特有物理属性的命令系统,这个命令系统可以进行高水平的逻辑操作。所以,

对外部设备的更新换代和系统的系列化提供了灵活的处理手段。

(4)高速传输:SCSI 具有异步和两种数据传送方式。其中异步方式是通常使用的方式,能

够实现最大 1.5 M B/ s左右的数据传送速率。同步方式是任选使用,可实现 4 M B/ s 左右的最

大数据传送速率。由于具有以上的数据传送能力,SCSI 从速度较低的打印机、软磁盘到高性

能的大容量磁盘装置等广泛领域均可作用。

(5)配置灵活,可扩充性能好:对于总线上所有设备来说,SCSI 总线上的操作不是主/ 从关

系,而是一种双向对等关系。SCSI 总线上的设备可以是启动设备或目标设备,也可以具备两

方面功能。所以,SCSI总线能够连接多台主机,用于系统间通信,并且系统的扩充性也很好。

(6)连接方便:SCSI 总线采用 50 芯菊花链式连接,在单端电气条件下电缆最长可达 6 m,

在差分电气条件下最长可达 25 m。

在物理结构上,SCSI总线上的所有 SCSI 设备通过一条公共电缆连接在一起,使用 50 芯

扁平电缆或 25 对双扭线或园开电缆相互菊花连接。在接口电缆两端均应接上终端电阻,终端

电阻可以置于总线设备的内部或外部。所有 SCSI 总线设备间的信号均是公共的,为了减少

断点和信号发射,最好在同一总线中少用不同阻抗的电缆。另外,Sun 工作站总线的具体特点

见表 2 - 1。

表 2 - 1 工作站总线的特点

名 称 数据传输速率 功 用 发 展 前 景

1 *U P A( Ultra Port Arch.

bus,系统总线)高速高效

在 UltraSP A R C 桌面系 统中,它通 常被作 为

主系统总线。该总线可以直接连接多种部件

Ultra S P A R C 家 族的

新成员

2 *Gigaplane Bus( 系统 总

线)每秒可达 2 e.75 G B

在服务器 中的骨 干总 线, U P A 总线 连接 到

Gigaplane backbone 总线。该总线为 X000 �-

X 500 服务器提供了系统板动态重配置的能

力。即在系统运行期间,可以增加或拆除系

统板

Sun 企业级服务器家

族的新型总线

3 *M Bus(系统总线) 每秒可达 135 �M B为小型桌面多处理器(Sun4 �m )开发。它是从

C P U 到内存的独立的 I/ O 总线

较 早 的 Sun SP A R C

系列机总线

22

续表

名 称 数据传输速率 功 用 发 展 前 景

4 *X dbus(系统总线)每 秒 可 达 250 �~

300 M B

为 Sun 第一代大型数据服务器(Server 1000 �、

2000)开发。是 Sun4d 结构的成员

较早的 Sun Server 系

列机总线

5 *SBus( SP A R C B U S, 外

部总线)

20 2~ 25 M Hz。 峰值

可达每秒 200 M B

S Bus 是一种 Circuit S witched 总线。目前,有

多种 S Bus 卡 可利 用。如, F/ W S CSI 卡 和

Creator 3 �D 卡

应用范围较广

6 *

P CI ( Peripheral Co m -

ponent Interconnect, 外

部总线)

33 2或 66 M Hz。 峰

值可达每秒 528 M B

P CI 源于 P C 计 算机系 统。目前,有上百 种

P CI 卡可利用。100 {M Hz 的 P CI 正在被开发前景广阔

14 什么是 Cache 和 Buffer

Cache 是高速缓存区,Buffer 是缓冲区,它们都是一种用于临时存放数据的存储器。Buffer

是内存中的一段存储空间,是 D R A M (Dynamic R A M ,大约 10 个时钟周期需对所存的数据进

行刷新一次)用于存储临时数据所用(直到临时数据被处理使用)。Cache 的绝大多数来自

SR A M (Static Rando m Access M emory,不需对所存的数据进行刷新,价格昂贵),用于存放一部

分正在被使用或将要被使用的活动数据。在计算机系统中有以下几种硬件 Cache:

(1)CP U 一级和二级 Cache。

(2)PD C/ T LB(Page Descriptor Cache/ Translation Lookaside Buffer)。T LB cache 是一种虚

拟地址转换 cache。

(3)内存 cache,它支持 CP U 可能需要访问的、来自磁盘和网络的数据。

(4)I/ O 子系统 cache。

在 CP U 使用数据之前,数据必须被送到一级 Cache (on - cache)上。一级 Cache 的速度与

C P U 一样快。一级 Cache 是指在 C P U 芯片内的 Cache,它是 CP U 的一部分,一般为 4~40kB。

与一级 Cache 相对的是二级 Cache(external cache),它被放在临近 CP U 但不在 C P U 芯片内的

位置处,一般为 0.5~8 M B。在 Sun Ulter 60 工作站上一般配置的 Cache 为:片上 16kB 数据和

16kB 指令,片外 2 M B。图 2 - 3 是一个内存、Cache 和 CP U 之间的关系图。

图 2 - 3 内存、Cache和 CP U 之间的关系

32

15 如何安装内存

安装内存的步骤如下(参看图 2 - 4 和图 2 - 5):

图 2 - 4 正确的插入方向

图 2 - 5 正确的插入方式

42

(1)关闭工作站电源。把电源开关按向 standby 状态一侧。

(2)提起靠近后面的护板。

(3)抓紧主机盖板两侧,并将其在后面板处提起。当主机盖板与后面板分离时,再将主机

盖板与前面板分开,使其最终与机箱脱离。

(4)找出腕带( wrist strap),并将粘性的铜皮贴在电源金属壳上。把另一端缠绕在手腕上。

有胶的一面接触皮肤。

(5)打开并且提起 DSI M M (双列单条存储器条)的盖子。

(6)在机器主板上找出并且选出一组 4 个未用的 DSI M M 存储器插槽。

(7)打开内存包装袋。注意取 DSI M M 时仅能碰触其两端。

(8)将 DSIM M 存储条底部的缺口部分对准 DSI M M 槽上的弹出器,然后将 DSI M M 存储

条插入条内。

(9)用两只拇指压住 DSIM M 存储条的顶部,并稳稳地将其推入槽内,直到听到 DSIM M

发出咔哒声为止。

(10)解除腕带,合上主机盖板。

16 如何安装 SBus 卡

安装 SBus卡的步骤如下(参看图 2 - 6 至图 2 - 12):

图 2 - 6 拆除主机后面的连线

图 2 - 7 打开主机箱

(1)关闭工作站电源。把电源开关按

向 standby 状态一侧。拆除有关连线。

(2)提起靠近后面的护板。抓紧主机

盖板两侧,并将其在后面板处提起。当主

机盖板与后面板分离时,再将主机盖板与

前面板分开,使其最终与机箱脱离。

(3) 找出腕带( wrist strap),并将粘性

的铜皮贴在电源金属壳上。把另一端缠绕

在手腕上。有胶的一面接触皮肤。

(4) 打开 SBus 卡的夹具。用双手握

住 SBus代用面板底部的握柄,略微施压上提,直到代用面板的底部脱离机箱为止,朝你所在的

52

图 2 - 8 带好防静电手镯

图 2 - 9 拆除 SBus代用夹

方向晃动面板,将其取下。

(5) 打开 SBus卡包装袋。注意取 SBus卡时仅能碰触其边缘,将其置于防静电的桌面上。

(6) 拆除 SBus 卡的启拔器把手。办法是将其一端向外扳,直到把手的一个立柱脚勾从

SBus 卡上的小孔中脱出来,然后使用同样的方法拆除另一端。

(7) 手持 SBus 卡,略向下方倾斜,将卡的后板置于 SBus 开口上方的护板后。

(8)把卡放低,使之就位。

62

图 2 - 10 取出 SBus卡

图 2 - 11 拆除 SBus 卡上的螺丝

(9)解除腕带,合上主机盖板。

72

图 2 - 12 固定 SBus卡

82

17 如何更改 RS - 423/ 232 跨接线

如果你的计算机准备接到 X.25 的公共网络上,就需将串口模式跨接线从 RS - 423 改接

为 RS - 232。更改 RS - 423/ 232 跨接线的步骤如下(参看图 2 - 13):

图 2 - 13 更改 RS - 423/ 232 跨接线

(1)关闭工作站电源。把电源开关按向 standby 状态一侧。

(2)提起靠近后面的护板。

(3)抓紧主机盖板两侧,并将其在后面板处提起。当主机盖板与后面板分离时,再将主机

盖板与前面板分开,使其最终与机箱脱离。

(4)找出腕带( wrist strap),并将粘性的铜皮贴在电源金属壳上。把另一端缠绕在手腕上。

有胶的一面接触皮肤。

(5)在主逻辑电路板上找出跨接线。将 J2104 和 J2105 上的跨接线改接到“B”位置。

(6)解除腕带,合上主机盖板。

18 如何安装 CD - R O M 驱动器或磁带机驱动器

在 Sun 工作站上,安装磁带机或 CD - R O M 驱动器方法步骤是类似的。具体步骤如下

(参看图 2 - 14 和图 2 - 15):

(1)关闭工作站电源。把电源开关按向 standby 状态一侧。

92

图 2 - 14 准备安装驱动器

(2)提起靠近后面的护板。

(3)抓紧主机盖板两侧,并将其在后面板处提起。当主机盖板与后面板分离时,再将主机

盖板与前面板分开,使其最终与机箱脱离。

(4)找出腕带( wrist strap),并将粘性的铜皮贴在电源金属壳上。把另一端缠绕在手腕上。

有胶的一面接触皮肤。

(5)拆除光盘代用面板。

(6)用十字螺丝刀将主机正面的两棵螺丝拧下来。

(7)把驱动器托架轻轻地推入机箱,并移出箱外。

(8)将 CD - R O M 驱动器或磁带机驱动器从防静电的口袋中取出。

(9)设置驱动器 SCSI 地址。CD - R O M 驱动器地址为 6,磁带机驱动器地址可为 4 或 5。

(10)固定驱动器。将标有 P2 的连接器和直流电源电缆线连至驱动器。

(11)将标有 P1 的电缆线的另一端与连接器 J1202 连接,P3 连到 J1203。

03

图 2 - 15 固定驱动器

(12)固定驱动器托架。

19 Sun SP A R C 缺省 SCSI引导设备地址是什么

Sun SP A R C O BP P R O M 地址是指确省 SCSI 引导设备地址。 O BP PR O M 1. x/ 2. x 和

O BP PR O M 3.x 的缺省 SCSI 地址是不一样的。详见表 2 - 2 和表 2 - 3。

表 2 - 2 O BP P R O M 1.x/ 2.x SCSI 地址

地址( T A R G E T ) 设备( D E VIC E) 描 述

3 h硬盘 引导硬盘

0 h3 �号硬盘(disk) 用户盘

1 h1 �号硬盘(disk1) 用户盘

2 h2 �号硬盘(disk2) 用户盘

3 h0 �号硬盘(disk0) 用户盘

13

续表

地址( T A R G E T ) 设备( D E VIC E) 描 述

4 h0 �号磁带机(tape 0) 磁带机

5 h1 �号磁带机(tape1) 磁带机

6 h0 �号光驱(cdro m 0) 只读光盘驱动器

7 h适配器 SC SI 控制器

表 2 - 3 O B P P R O M 3.x SCSI地址

地址( T A R G E T ) 设备( D E VIC E) 描述

0 h硬盘 引导硬盘

0 h0 �号硬盘(disk0) 用户盘

1 h1 �号硬盘(disk1) 用户盘

2 h2 �号硬盘(disk2) 用户盘

3 h3 �号硬盘(disk3) 用户盘

4 h0 �号磁带机(tape 0) 磁带机

5 h1 �号磁带机(tape1) 磁带机

6 h0 �号光驱(cdro m 0) 只读光盘驱动器

7 h适配器 SC SI 控制器

注意:O BP 1.x 引导设备只用在 SPA R C 1、1 + 、IPC、SL C 系统; O BP 2.x 引导设备用在

SP A R C 2、E LC、IPX、SS5、SS10 和 SS20 系统; O BP 3. x 引导设备用于 UltraSPA R C 系统,如

Ultra 2/ 60 等。

20 开机后屏幕无任何输出怎么办

当打开电源开关后,屏幕无任何输出是一种硬件故障。处理此类故障的步骤如下:

(1)检查外电是否正常。

(2)检查计算机内部电源系统是否正常。

(3)检查工作站和监视器电源开关是否正常。

(4)检查键盘是否正确安装。

(5)检查监视器信号线是否安装正常。

(6)输出设备是否设置为串口 ya 或 ttyb。对于此类问题,可以执行如下命令来改变设置:

ok setenv output - device screen

(7)检查计算机内存是否正常。

如果机器经过移动,内存条可能错位。发生此情况你应该关闭计算机电源,重新安装内存

条。

(8)检查计算机 CP U 是否正常。

(9)检查工作站母板是否正常。

(10)检查计算机 N V R A M 芯片是否正常。

23

Sun 工作站主板上有一个很重要的芯片,它保存着系统配置信息,这个芯片就是 N V R A M

芯片。该芯片安装较高,芯片上贴着带有号码的不干胶纸。工作站的 hostid 和 Ethernet ad-

dress就存在其中。如果该芯片出了问题,有两种情况:芯片本身有问题和芯片中的设置有问

题。如是芯片本身故障,替换新的芯片是最好的选择。但大多数问题是设置不对。处理设置

故障的方法如下:找一台与故障机型号一样的机器;关闭两台机器电源;打开主机箱,找到

N V R A M 芯片并拔出;把好芯片插入坏机器上。注意不要插得太紧;重新启动坏机器。注意不

要盖机箱; 在机器自检时,同时敲入 stop 和 a 键;在加电状态,小心地拔出 N V R A M 芯片并换

上坏的 N V R A M 芯片;任意执行几条 OpenBoot 命令,检查 N V R A M ;恢复 N V R A M 缺省值。

即:

Ok set - defaults

验证 nvramrc、use - nvramrc ? 等变量是否恢复缺省值:

Ok printenv

重新装好另一台机器的 N V R A M 芯片;重新启动工作站系统,确认机器是否正常。

21 如何诊断和处理工作站/ 服务器电源故障

电源故障是指机器加电后, 系统无电或电源故障灯亮。当出现电源故障现象时, 可按如

下方法解决:

如果系统加电后,A C 指示灯不亮,可检查外部电源和电源板; A C 指示灯亮,但系统仍无

电,检查 A C 电路开关设置及 D C 开关设置,检查电源供给子系统及指示灯,以确定该系统或

风扇是否有故障,有时电源系统过热也可导致关机。

22 如果用驱动器弹出键不能使磁盘盒弹出怎么办

如果用驱动器弹出键不能使磁盘盒弹出, 可用手动移出磁盘盒。步骤如下:

(1)关闭系统;

(2)将电源开关置为 O FF;

(3)用一根细棒插入右上方的小空,然后往里按,磁盘即可弹出。如果磁盘被异物阻挡,可

以用镊子把磁盘夹出。

23 工作站停机时时钟不走是怎么回事

使用 5 年左右时间的工作站,可能会出现一种现象:在关机期间,时钟不计时,等下次开机

时,时钟仍停留在原来的时间。这种现象是由于工作站上的高效电池无电或电压不足引起的。

换一块新的电池(与 N V R A M 在一起),时钟便继续正常计时。如果遇到工作站系统不能记住

引导设备等系统配置变量的值,也可采取更换 N V R A M 的办法解决。

33

24 Sun 工作站的核体系结构是什么

安装或用系统盘引导系统时,往往需先只知道工作站的核体系结构才可进行。Sun 不同

类型的工作站所对应的核体系结构为:

UltraSP A R C 系列核体系结构为 Sun4u;

SP A R Cstation 5/ 10/ 20 核体系结构为 Sun4 m;

SP A R Cstation 1/ 1 +/ slc/ IPC/ IP X/ 2 核体系结构为 Sun4c;

SP A R Cstation 330/ 370/ 300/ 400 核体系结构为 Sun4;

Sun - 4 100/ 200/ 300 系列 核体系结构为 Sun4。

25 怎样手动从非引导设备引导系统

在 Solaris 2.x 系统中,引导系统有 3 种方法:

ok boot (缺省引导设备)

ok boot cdrom (从光盘引导系统)

ok boot net (从网络上引导系统)

在 Solaris 1.x 系统中,引导系统有 4 种方法:

ok boot (确省引导设备)

ok boot sd(0,6,2) (从光盘引导系统)

ok boot sd(0,3,0) (从硬盘引导系统)

ok boot le() (从网络上引导系统)

26 N V R A M 配置变量值如何

N V R A M 是 nonvolatile R A M 的缩写。工作 站系统配置变量 (参数)均存于系 统的

N V R A M 中。这些变量决定了系统自举时的配置。

在监控状态下,用户可以使用 printenv 命令显示显示当前系统配置变量的值。例如:

ok printenv

显示结果见表 2 - 4。

表 2 - 4 系统配置变量缺省值

ok printenv

Variable N a me V alue Default Value

oe m - logo 2 lc 31 2c 2d 00 00 00 00 ⋯

oe m - logo ? false false

oe m - banner

oe m - banner ? false false

output - device ttya screen

43

续表

input - device ttya keyboard

sbus - probe - list 03 A0123 �

diag - file

diag - device net net

boot - file

boot - device disk disk net

auto - boot ? false true

fcode - debug ? true false

use - nvram rc ? false false

nvram rc

screen - # colu m ns 80 A80 �

screen - # ro ws 34 A34 �

security - m ode none none

security - password

security - # bad logins 0 ,

diag - switch ? true false

ok

利用 setenv 命令可以手动改变系统配置变量。例如:

ok setenv boot - device disk2(该命令后的第一个参数为系统配置参数名,第二个参数为系

统配置变量的值。)

ok printenv boot - device(显示结果: boot - device disk2 disk2)

ok reset

53

第三章 公共桌面环境(C D E)

27 什么是 C D E

C D E(Com mon Desktop Environ ment)是一个基于 U NIX 环境容易使用的界面。这个界面

提供了窗口、工作区、控制器、菜单和一个前面板(Front Panel),其中,控制器能够使用户操作

目标、选择选项或键入信息,前面板是一个经常使用的控制器的集合。

C D E 兼容多种厂家的工作站系统,由 SunSoft、H P、IB M 和 Novell公司合作开发。C D E 是

一个新的标准的基于 X Window 系统和 M otif用户和应用程序的接口。

Solaris C D E 在遵循 C D E 标准的基础上还向用户和开发者提供了其他方便,如:用户可以

使用image view 工具显示、旋转和缩放 PostScript 文件等。

如果用户已熟悉 Open Windows环境,在 CDE 中可以像使用 Open Windows类似的方法弹出工

作台菜单、使用颜色图等,也可以不加任何修改地在 CDE 环境下运行 Open Windows 应用程序。

开发者可以使用文件转换实用程序简化 Open Windows和 M otif应用程序向 CDE 的过渡。

若用户已习惯 Open Windows 环境,则会用到熟悉的幕布、调色版及弹出工作区菜单。用

户也可通过 Open Windows 应用程序和 C D E 应用程序之间的拖动相互作用运行 Open Windows

应用程序,不必作修改。

开发商可用文件转换实用程序简化 Open Windows 和 M otif 应用程序至 C DE 的转化。

C D E 包括如下几部分:

(1)C DE 环境;

(2)桌面工具;

(3)C DE 开发环境。

C D E 环境由注册管理器、对话管理器和窗口管理器三部分组成。

注册管理器用于用户注册的一个窗口,在工作站重启动时会自动出现。用户正确注册后,

系统自动创建一个 C D E 工作环境。

对话管理器是在桌面环境下启动应用程序的服务器,它可以记忆用户退出系统前的桌面

环境。

窗口管理器是控制 C DE 应用程序窗口的服务程序,它为 C D E 应用程序的启动提供一个

前面板。

在 C D E 前面板上,用户可启动如下工具:

(1)文件管理器(FileM anager):可创建、查找和操作文件和目录的桌面应用程序。

(2)日历(Calendar):一个约会(A ppointment)和资源调度工具。此应用程序可供您安排约

见时间和要做事项,设置提醒器,建立和打印约见和待做事务表,浏览其他日历以及安排分组

约见。

(3)邮件( M ailer):传送、接收和管理电子邮件(E - mail)的工具。

63

(4)文本编辑器( Text Editor): ASCⅡ文件编辑器。

(5)应用程序管理器( Application M anager):一个应用程序集。

(6)层次管理器(Style M anager):桌面颜色、字体大小等参数设置程序。

(7)终端( Terminal):启动一个能执行 U NIX 命令行的窗口。

(8)图标编辑部(Icon Editor):为应用程序图标创建一个位图或像图文件。

(9)映像文件观看器(Image Viewer):资料浏览器,可看 PostScript等格式文件的工具。

(10)工作台菜单( W orkspace menus):在工作台上弹出一个菜单。

(11)在线帮助(O nline Help):联机帮助。

C D E 开发环境是 C D E 中一个可供用户任选的软件包,它主要包括:

(1)应用程序创建器:它是一个功能强大的应用程序图形用户界面生成器。

(2) M otif、Tooltalk 和其他 C D E 服务演示程序的源代码。

(3)应用程序实用工具、联机手册和 C D E 环境头文件。

用户可以三种不同媒体形式获得 C D E 文档:

(1)联机手册( Answer Book)联机查看系统,它提供一个搜索实用程序,您也可从联机手册

查看器获得打印输出。

(2)各类工具的联机提示卷,它们显示在 CD E 提示查看器中。C D E 提示以览、任务、参照

及上下文联想提示这几种形式一致地显现给用户。您通过鼠标选择超文本联接便可浏览整个

信息,这些超文本联接可让您交叉参照帮助信息的其他部分。

(3)硬拷贝手册,您可单独购买这些手册。

28 鼠标器在 CD E 中的使用

鼠标器是一种位置指示装置。常用的鼠标器有两类:机械式和光电式。前者是当鼠标器

在桌面上被移动时,带动鼠标器下的一个小球滚动,小球又推动鼠标器中的感觉装置,使其可

以觉察这个移动。在其感觉到移动后就通知计算机,鼠标器被移动了。这时,计算机插入程序

就可以相应地移动屏幕上的鼠标器指针,从而完成了鼠标器的指示位置的功能。光电式鼠标

器的原理和机械式的原理大同小异,但它不是靠小球的移动而是靠鼠标器中的光电装置觉察

鼠标器位置的变动。由于 C D E 窗口系统是一个图形化的系统,大量直观的操作和位置指示动

作,利用鼠标器这种指示设备就可以直观、简单地操作计算机屏幕上的对象,所以在系统中大

量地使用了鼠标器。

(1)形状及结构:目前常用的鼠标器从外部看有两个按钮的和三个按钮的两种。

(2)鼠标按钮:鼠标器一般有两个按钮。在正常的情况下,按左边的按钮完成一个动作;按

右边的按钮什么也不做。通过程序控制,可以交换鼠标器左右两键的功能。

(3)鼠标指针:是一个受鼠标器控制的,在屏幕上的一个符号。当你在桌面上移动鼠标器

时,屏幕上的鼠标指针将随着移动。鼠标指针有几种形状,它们分别表示了当时的功能、选中

目标的类型以及系统当时的状态。下面就来讨论常用的几种鼠标指针形状。

漏斗型鼠标指针:表示“计算机中应用程序正在工作,请稍等”。当这种鼠标指针出现时,

用户就不应该再进行操作,而应稍等片刻,使计算机把当前必须做的工作做完。在这样的工作

做完以后,系统会自动将鼠标器指针换为合适的形状。

73

Ⅰ型指针:表示鼠标指针处于可编辑(包括插入)文本的位置上。在这样的位置上,用户可

以用键盘录入文字,也可以通过移动鼠标器指针然后点击来改变当前的插入位置。

粗单向箭头型指针:表示鼠标指针处在菜单、命令或图标区域,或者是在文档窗口中的非编

辑区域。当系统显示这样的指针时,就可以点击鼠标按钮而选取菜单、菜单项、命令、图标等。

细双向箭头型指针:表示目前鼠标指针位于窗口的边框或边角处,或者表示鼠标器所指对

象是可以移动的。当系统出现这样的鼠标指针时,用户就可以根据情况而改变窗口的大小或

者移动该对象。

四向键头型指针:表示当前窗口处于可移动状态。这时用户可以使用键盘上的箭头键或

用鼠标拖拉操作移动该窗口。

鼠标器的操作方法:鼠标器在 CD E 窗口系统中被规定了以下的一些用法:

移动:用手抓住鼠标器,让其自然的贴在桌面上移动,移动时不按鼠标器任何按钮。在移

动鼠标器的过程中可以发现,屏幕上的鼠标器指针也按同方向移动。

点击:把鼠标器指针移动到一个对象上(如菜单、系统控制菜单框、按钮等),然后按下鼠标

器上的左按钮再放开。此动作一般用于通知系统要选取、打开所点击的对象。

双点(双击):把鼠标器指针移动到一个对象上(如标题条、系统控制菜单框等),然后快速

的按动鼠标器上的左按钮两次。此动作一般用于通知系统要对所选取的对象进行特定的操

作,如双点一个窗口的标题条将使该窗口极大化;双点一个窗口的控制菜单框将关闭该窗口;

双点一个图标将使该图标还原为窗口打开状态等。

拖拉:把鼠标器指针移动到一个对象上,按下鼠标器左按钮不放开,同时拖动鼠标移动。

如果该对象是可移动的(如窗口,图标),这个动作将把所选定的对象移动到一个新的位置。当

把选定的对象移动到要求的位置后,放开鼠标器左按钮,这个过程就完成了。如果该对象不是

可移动的,该动作将完成特定的操作,如对菜单拖拉将使高亮度条随鼠标器指针移动。在文档

窗口内的编辑区域,拖拉操作是用来选定文本内容的。

另外,鼠标器和键盘上特定的键配合使用还有一些特殊的用法,有兴趣的读者可以参考其

他资料。

29 C D E 窗口系统的基本概念

C D E 窗口系统环境下的所有程序包括 CD E 窗口系统程序均工作于各自的窗口内部,所

以“窗口”是 C D E 窗口系统的最基本的部件。在窗口中可以包含其他内容。下面介绍 C D E 窗

口系统常用的一些基本概念。

(1)工作台:窗口显示在 C D E 窗口系统占据的屏幕空间上,这个空间称为工作台。工作台

其实就是屏幕,可以把工作台想象成一个实际的工作台,用户可以在这个工作台上开展各种工

作,移动台面上的项目,把不用的项目从工作台上移去,把不在工作台上但要用的项目加到工

作台上等。

(2)窗口:它是工作台上标示出的一个矩形区域。这个区域可以移动、改变大小、甚至可以

缩小为一个图标而放在屏幕工作台的下方,它一般用于显示对应的应用程序的内容。当应用

程序运行时,在工作台上会出现两种类型的窗口:应用程序窗口,应用程序窗口中包含有文档

窗口。

83

应用程序窗口:代表了系统中正在运行的应用程序。

文档窗口:它常常包含了应用程序使用的文档或其他数据文件,或者包含应用程序项的图

标,所以把这种类型的窗口称为文档窗口。一个应用程序窗口中的文档窗口可以有多个。文

档窗口没有自己的菜单条,它们公用应用程序窗口的菜单。

(3)控制对象:典型窗口所具有的元素

(4)系统控制菜单框:C D E 窗口系统提供给每个应用程序窗口的菜单。用此菜单中的菜

单项,可以改变窗口的尺寸,移动、改变窗口的大小等。

(5)标题栏:显示应用程序的名称或文档的名称。如果工作台上有多个应用程序窗口,则

只有正在工作的窗口(活动窗口)的标题栏与其他窗口的标题栏颜色不同,其颜色要更亮一些。

(6)窗口标题:是该应用程序窗口的题目,如应用程序名称、文档名,或为组名、目录名等。

(7)按钮:在 C DE 窗口系统中有三类按钮:命令按钮,选项按钮(单选按钮及核对按钮)以

及极大/ 极小/ 复原按钮。按钮是一个命令或状态的图形化描述。用户按下这个按钮就表示执

行它所代表的命令或改变它所代表的状态。常用的命令按钮有“确认”,“放弃”等。选项按钮

表示了在一个系统中有一些状态可以改变,如果这些状态中只能选择一个,就可以用单选按

钮。如果可以选择多个,可用“核对”按钮。

(8)极大/ 极小:用鼠标点此按钮可以使该窗口占满屏幕或缩小为图标。窗口最大化:将鼠

标指针对准窗口右上角小方框,按鼠标左键;窗口最小化:将鼠标指针对准窗口右上角小原点,

按鼠标左键。

(9)菜单条:用来列出该应用程序可用的菜单。菜单包括命令列表或操作列表。这些命令

或操作可以执行。大多数应用程序都有文件、编辑、帮助菜单及应用程序特有的菜单项。

(10)菜单:一个系统可以完成不同的功能。为了明确地告诉用户该系统可以做哪些事情,

不可以做哪些事情,CD E 窗口系统一般是将应用程序系统中一些相似的功能分别集合为一个

组,并给它取一个名称,将其列在该应用程序窗口的菜单条中。这些功能组名称表即菜单。用

户选择这些菜单就可以要求系统完成某一类的任务。选择一个菜单将打开这些功能列表(称

为打开下拉式菜单),用户可以选择其中的功能。

(11)菜单项:在菜单中,一个详细功能的名称就是一个菜单项。

(12)滚动条:允许当应用程序文档的内容无法一次调入窗口时进行部分滚动查看,或在列

表项太长而窗口宽度不足时滚动查看不可见部分。其中有滚动块、滚动箭头、滚动杠,分别可

用于不同的滚动方式。

(13)窗口边框:窗口的边界。同时可用于拉长或缩小窗口的长或宽。

(14)窗口边角:用于同时改变窗口的长和宽。

(15)插入点:表示输入字符或图形在窗口中的位置。录入字符或图形后它随之移动。

(16)鼠标指针:表示鼠标位置。当移动鼠标时,该指针将随之移动。

(17)用户区:应用程序提供给用户输入或输出数据内容的区域。

(18)图标:在 CD E 窗口系统中,还有另外一类元素这就是图标。它是和各类应用程序或

文档对应的一个小图形。系统中有三种类型的图标,它们分别是应用程序图标、文档图标和程

序项图标。

应用程序图标:它代表了一个正在运行的应用程序,但是它们的窗口没有被打开而被压缩

到工作台面底边框处的图标中。

93

可以把一个应用程序图标在工作台面上任意移动,但不能移进一个打开的窗口。这是因

为这样的图标代表一个打开的应用程序、代表一个在工作台面上执行的程序,并且这样的图标

不在应用程序窗口或文档窗口中。

大多数应用程序图标的外形不同,然而,对于许多非 C D E 窗口系统应用程序是相同的。

另外,对许多应用程序,能执行应用程序的多个副本。应用程序的多个副本的程序图标是相同

的。因此,一个窗口组中可包含几个仅由标题区分的图标。

文档图标:这种类型的图标代表了一个在前面已打开的,目前却被压缩的文档窗口。这些

图标一般都出现在其对应的应用程序窗口的底边框处,并且可以在其内任意移动。在系统中,

专门用于管理各种程序、文档的一个程序称为程序管理器。在程序管理器程序的窗口中,这种

图标被称为组图标。

程序项图标:它代表了一个没有被运行或打开的应用程序或文档,一般包含在一个文档窗

口中。通过操作一个程序项图标,可以启动它所对应的应用程序,或打开对应的文档。

(19)活动窗口(当前窗口):在 C D E 窗口系统的工作台上,大部分情况下可以同时打开多

个窗口(或运行多个任务),其中一个窗口覆盖了另外窗口的全部或部分。在最上面的窗口可

以接受用户的输入,并允许用户选取其中的对象,这个窗口就称为活动窗口。活动窗口的标题

条颜色比其他窗口的颜色稍深。

(20)非活动窗口:在 C D E 窗口系统中,除了活动窗口之外,其他窗口不能接受用户的信

息,窗口中的对象不能被用户选择,这样的窗口就是非活动窗口。注意,非活动窗口并不是它

对应的应用程序没有运行,而是在后面运行。

(21)对话框:系统用于给用户提供信息的窗口;或者系统要完成一项操作还需要一些信

息,通过这个窗口要求用户给系统提供这些信息。大部分的对话框都包括了选择项,在用户指

定了选择项后可以选择命令键执行该命令。另外,对话框还可用于显示警告、提示等信息。如

果对话框中有标题条,用户就可以把该对话框移动到工作台的其他位置处。

(22)插入位置指针:是位于窗口用户区内的一个闪动的竖杠。它表示了在该窗口中随后

录入的文字所处的位置。当录入文字后,该指针随即后移。

30 如何安装 CD E

30.1 如何从本地 C D - R O M 安装 CD E

只有超级用户才能安装 C D E。具体步骤如下:

(1)装入 CD E 介质,并插入光驱。

(2)变为超级用户。

(3)进入 CD E 所在的目录,即:

# cd/ cdro m/ volu me - id/ CD E/ system_type

如果机器为 SPA R C 类型,上述命令可写为:

# cd/ cdro m/ volu me - id/ CD E/ sparc

(4)执行安装命令,即:

# insatll- cde

在该命令执行过后,屏幕上将会显示如下信息:

04

Solaris Com mon desktop Environment Installation Script

M ain M enu

1.Begin Installation(with Default Configuation Settings)

2. M odify Configuration Settings

3.CancelInstallation

Default Configuration Settings

Installation Location: [/ usr/ dt]

End User C D E Packages(28 M ): [yes]

Developer C D E Packages(19 M ): [N O]

Answerbook C DE Package(120 M ): [ N O]

Interactive Installation: [ N O]

Desptop Login at system boot: [yes]

Select a nu mber [1]

(5)根据需要改变 CD E 缺省配置,即:根据上述显示信息,选择 2,就可对以上配置进行修

改。

(6)启动安装。

30.2 如何从远程 C D - R O M 安装 CD E

从远程 C D - R O M 安装 CD E 的步聚如下:

(1)从本地工作站远程登录到带有 CD - R O M 驱动器的机器。

(2)变为超级用户。

(3)出口 CD - R O M 目录,即:

# echo“share - F nfs - o ro/ cdro m”\ > >/ etc/ dfs/ dfstab

(4)检查 R PC 安装服务程序是否在运行,即:

# ps - ef|grep mountd

(5)启动 N FS 服务进程,即:

# / usr/ lib/ nfs/ nfsd - a 8

# / usr/ lib/ nfs/ mountd

(6)注销远程机器。

(7)不使能本地主机 Openwindows安全,即:

# xhost +

(8)变为本地机的超级用户。

(9)创建一个 CD - R O M 临时安装目录,如:

# m kdir/ cdrom

(10)安装远程 C D - R O M 目录,如:

# m ount - r remote_system_na me:/ cdrom/ volu me_id/ cdrom

(11)按照本地安装方法进行安装。

14

31 如何使用 CD E 前面板

前面板(Front Panel)是一个特殊的桌面窗口,它包括一套用于公共任务的控制。前面板

由主面板和子面板组成。主面板是一个水平窗口位于屏幕底部,子面板位于主面板上,用一个

小箭头表示。

在主面板上,有一系列图标和工作区开关按钮( One、T wo、Three 和 Four)。一个图标代表

一个实用工具,如文件管理器、文本编辑器和风格管理器(参看图 3 - 2)等,而工作区按钮表示

用户可以组织 4 种不同的工作屏幕。在风格管理器中,用户可以任意调整工作台颜色、窗口风

格、字体大小等。

按击鼠标,可以启动主面板上指定图标所代表的实用工具;而用鼠标点击主面板上的箭头

可以打开子面板菜单,进而选用指定实用程序。

31.1 前面板

在前面板的每个控制区图标上,按鼠标器右键可以弹击每个图标对应的弹出菜单。使用

弹出菜单的不同选项可以增删子面板,也可以获得帮助。例如,在工作区开关按钮上,按击鼠

标右键,可以弹出一个工作区弹出菜单,该菜单包括 Add W orkspace、Delete W orkspace、Re-

name W orkspace 和 Help 等 4 个选项,如果用户选用 Delete 选项,就可以删除工作区开关按钮;

如果用户选用 Add 选项,就可以增加一个新的工作区开关按钮。

31.2 定制前面板

前面板的定制有两种类型:基本定制和高级定制。

基本定制包括如下内容:

(1)给子面板增加一个控制(方法:在文件管理器或应用程序管理器中,找到目标文件图

标,然后显示目标子面板,最后把目标文件图标拖到目标子面板的installicon 选项上);

(2)改变主面板和子面板上的控制;

(3)增加子面板;

(4)增加、删除工作区;

(5)工作区更名。

高级定制是指用户通过创建和编辑前面板配置文件来定制前面板。

用户定制前面板的任何内容,均可由用户删除,具体删除方法为:

(1)打开应用程序管理器( Application M anager),双击 Desktop - Tools图标。

(2)双击“ Restore Front Panel”选项。

31.3 在终端窗口内启动实用工具

用户除了可以在前面版上启动实用工具程序外,还可以在终端窗口内启动实用程序。具

体方法是:在命令行键入相应命令串。不同的工具对应的命令如下:

AnswerBook �answerbook &

Audio Tool audiotool &

Binder binder &

Calculator calctool &

Calendar cm &

24

Clock clock &

File M anager filem gr &

Icon Editor iconedit &

Co m mand Tool cmdtool &

Console cmdtool- C &

Image Tool imagetool &

M ail Tool mailtool &

Performance M eter perfmeter &

Print Tool printtool &

Shell Tool shelltool &

Snapshot snapshot &

Tape Tool Tapetool &

Text Editor textedit &

32 C D E 目录结构如何

C D E 环境文件分布在如下 4 个子目录内:

(1)/ usr/ dt:这个目录是 C D E 安装位置。它包括以下子目录:

�/ bin �SCD E 应用和实用程序

/ lib SCD E 实时共享库

/ config 缺省系统配置文件

/ m an 联机命令手册

/ app - defaults 缺省应用资源

/ appconfig 缺省应用图标、类型和活动

/ examples CD E 代码和程序实例

/ include 开发者 include 文件

/ palettes 彩色图

/ share CD E A N S W E R B O O K S 资料和缺省背景幕布

(2)/ ect/ dt:这个目录包含定制工作站环境特定的配置文件。包含的子目录有:

/ etc/ dt/ appconfig/ app manager

/ etc/ dt/ appconfig/ icons

/ etc/ dt/ appconfig/ types

(3)/ var/ dt:这个目录用于存放 C DE 应用的临时文件。如,注册管理器和应用管理器。

(4)用户注册目录:这个目录包括与用户桌面设置有关的特定文件。如,应用程序、调色板

和错误记录等。

33 如何启动 CD E 注册服务器

C D E 注册服务器是指用户通过 CD E 注册的第一个界面,它负责管理用户注册事务。一

34

般情况下,系统启动期间会自动执行 C D E 注册服务器。如果系统引导时并不启动 C D E 注册

服务器,系统管理员可以在超级用户环境下执行如下命令:

# / usr/ dt/ bin/ dtconfig - e

该命令执行后,文件 S99dtlogin 将被增加到/ etc/ rc2.d 目录。系统在下一次引导时,C D E

注册服务器将会被自动启动。

同时,系统管理员也可在命令行执行 CD E 注册服务器,该命令为:

# / usr/ dt/ bin/ dtlogin - daem on

C D E 注册服务器也是可以删除的,删除的方法如下:

#/ usr/ dt/ bin/ dtconfig - kill

34 如何编辑文本文件

在 C D E 环境下编辑文本文件有多种方法:全屏幕编辑器 vi、行编辑器 ed 和文本编辑工具

textedit。textedit 是一种交互式窗口型文本编辑器。textedit 编辑器的使用方法与微软的

Windows 下的书写器和记事薄的使用方法类似。而 vi和 ed 一般用于在单用户方式下编辑文

本文件。下面大致介绍一下 textedit编辑器。

(1)启动 textedit 文本编辑器。有以下几种方法可以启动 textedit:

在桌面背景按鼠标右键,选择 program 中的 textedit选项。

在命令窗口执行“/ usr/ open win/ bin/ textedit & ”命令。

(2)如果想创建新文件转 4)。

(3)打开已存在的文件。选择 file 菜单中的 open 选项。

(4)输入或修改文本内容。

(5)保存并退出。

35 如何使你的桌面环境支持多屏幕

在 C D E 启动时,标准配置是单屏幕,如果系统管理员想启动多屏幕,可按如下方法处理:

(1)在硬件方面,准备好两个显示卡和两个屏幕,并安装连接好。

(2)启动机器。

(3)以超级用户注册。

(4)创建 Xserver文件的一个拷贝。方法:

# cp/ usr/ dt/ config/ Xservers/ etc/ dt/ config/ Xservers

在 C DE 启动时,它需要读取配置文件, CD E 配置文件一般放在/ etc/ dt/ config 目录内,系

统如果在该目录找不到配置文件,它将到缺省目录/ usr/ dt/ config 去查找。

(5)编辑/ etc/ dt/ config/ Xservers 文件,设置两个祯缓冲(屏幕)。该文件主要说明了如何

配置多屏幕。该文件最后一行的内容为:

:0 Locallocal uid @ console root/ usr/ open win/ bin/ Xsun:0 - nobanner

在该文件的最后一行的结尾增加两个 - dev 选项。例如,可把最后一行该为:

:0 Locallocal uid @ console root/ usr/ open win/ bin/ Xsun:0 - dev/ dev/ fb0 - dev/ dev/ fbl

44

(6)重新启动机器。

36 用户如何从 Open Windows 环境转换至 C D E 环境

(1)从哪里可找到 Open Windows应用程序 ?

在 C D E 前面板上,用鼠标器启动应用程序管理器,然后双击 Open Windows 文件夹中您想

要的应用程序。若您过去从命令行运行 Open Windows 应用程序,则您可按相同方法从 C D E

中的终端仿真器(命令窗口)运行这些应用程序。

(2)在 CD E 中如何关闭和退出应用程序 ?

您可从窗口菜单中作下列选择:

“最小化”( Minimize)将窗口变至其最小尺寸(通常为一个图标),“最小化”( M aximize)将

窗口变至其最大可能尺寸(通常为整个屏幕);“关闭”(close)将会关闭窗口并将其从工作区中

移走;“退出”(quit)将结束或退出当前应用程序。

(3)在 Open Windows环境中可互换使用单词“特性”和“设置”,在 C D E 中的对应术语是什

么 ? 它们表示什么 ?

在 Open Windows 环境中,应用全局设置是通过“特性”对话框来完成设置的,存取则通过

“编辑”(edit)菜单进行。而在 C DE 中,“设置”通过选项区进行,选项选择一般位于应用程序的

“文件”(file)菜单或是称为选项(option)的单独菜单项。

在 C D E 中,“特性”(若它们存在于应用程序中)处于应用程序的“编辑”菜单中,可用于设

置对象的特性,如对象的日期或姓名,或显示对象的识别特性,如字形等。在 C D E 中,格式设

定通常位于“格式”菜单中,可用于对一段文字、文件或信息设置边缘和段对齐。

(4)什么叫全局选项 ? 如何设置全局选项 ?

全局选项就像在 Open Windows 环境的“工作区”菜单中所设置的特性。在 C D E 中可通过

层次管理程序(Style)设置这些特性。

(5)能否把用户经常使用的应用程序定制到前面板 ?

用户能用拖放功能将经常使用的应用程序复制至前面板中的个人应用程序子面板中。给

子面板增加一个应用程序图标的方法为:在文件管理器或应用程序管理器中,找到目标文件图

标,同时显示目标子面板,然后把目标文件图标拖到目标子面板的installicon 选项(安装图标)

上。

(6)如何在 CD E 中改变颜色及设置字体大小 ?

用户在前面板上,用鼠标器启动层次管理程序中的“颜色”对话框可让您设置颜色,该程序

中的“字体”对话框则可让您设置字体大小。

(7)在 CD E 中如何改变键盘 ?

若您不改变 Open Windows 环境中的缺省键盘,则它们在 CD E 中会保持不变,若您想改变

缺省键省,则可使用层次管理程序的键盘对话框。

(8)在 CD E 中如何改变鼠标的用法 ?

在 C D E 中鼠标的缺省用法仍然不变,但若想改变缺省用法,则要使用层次管理程序的鼠

标对话框。在 C D E 中,某些功能的名称已被改变,双击、加速和阀值仍存在,但鼠标按钮次序

现称为“handedness”。

54

(9)在 Open Windows环境中,通过对“菜单”按钮单击鼠标键便可执行菜单项的缺省动作,

在 C D E 中是不是也是这样做 ?

您要用两次单击而不是一次,第一次显示菜单,然后您选择一项并再次击键。

(10)如何从 C D E 桌面上永久性地删除文件 ?

在 C D E 桌面上永久性地删除文件的方法有两种:在 C D E 前面板上,启动废物筒图标,从

废物筒文件菜单中选择“选择全部”选项,然后再在文本菜单中选择“碎片”选项;当您退出

C D E 桌面时,废物筒中的项会被自动删除。

(11)如何选择多个项(目标) ?

不管您是选择几个邻近的元素(连续选择),还是从整个集合中选择几个元素(不连续选

择),都可使用 Control+ 1 号鼠标按钮去选择元素。

(12)如何调整 M otif应用程序的配色方案 ?

某些应用程序会拥有色彩图要求以防止它们使用缺省的色彩图,若是这样,这些应用程序

的颜色会不正确,而桌面的其他部分仍然正常。典型地讲,给这样的应用程序一个键盘焦点范

围会使它在屏幕上呈现正确颜色但却会引起桌面的其他部分不正确地呈现(此现象通常称为

色彩闪烁)。

有时即使您给了它键盘焦点范围,应用程序的颜色仍不正确,若应用程序已指定了一组要

安装的色彩图便会发生这种情况。在此组色彩图中仅有第一个会被安装,任何使用其他色彩

图的显示,颜色都会不正确。对于这些应用程序,您必须使用键盘上的专用键在色彩图间循

环。

不幸的是,没有简单的方法判别您的应用程序是否已指定一组色彩图。唯一的征兆是窗

口显示的颜色不正确,若这样,您可将键盘焦点范围移到那个窗口(若它已不在那里),并试验

使用以下键组合,看看它们是否影响色彩图。这样做也许最终会安装上正确的颜色,而对桌面

上的其他窗口不会有任何影响。

64

第四章 文件和文件系统的管理

37 什么是文件系统

文件是每个操作系统必备的要素, 它是一组被命名的、带有标识的信息的集合。通常,文

件由若干个有序的记录或字节流( U NIX)组成, 文件存储在计算机的软盘、硬盘或磁带上。文

件系统是一组文件的组成结构, 它负责存取和管理文件, 一般按磁盘分区来划分。

对于任何一个计算机系统,文件系统的建立是必不可缺少的。所谓文件系统,就是指与文

件管理有关的那部分软件和被管理的文件(包括目录和子目录等)的总体。从系统角度来看,

文件系统对文件存储空间进行组织、分配,并对文件的存储进行保护和检查。具体地说,就是

为用户建立文件;对文件的读写删除操作提供存取权限和控制。文件系统具有下列功能和特

性:

(1)决定文件的存放位置、存放形式和存取权限;

(2)有效地分配文件存储空间;

(3)实现文件从名字空间到地址空间的映射;

(4)管理外存空间和部分内存空间;

(5)建立和管理文件之间的联系;

(6)按名存取文件, 方便灵活;

(7)文件的结构灵活和多样;

(8)对用户具有透明性;

(9)文件系统具有安全性;

(10)文件系统具有共享性。

Solaris文件系统是以根目录(root)为主的倒树型层次结构。用户只需用目录或子目录形

成的路径名便可对文件进行操作。

对于 Solaris系统,要完成对文件系统的管理,用户和系统管理人员应从下面几个方面进

行考虑:

(1)了解一个磁盘的物理结构;

(2)磁盘分区的目的及方法;

(3)检查及改变磁盘分区的大小;

(4)文件的类型;

(5)系统文件的组成;

(6)使用 newfs建立一个新文件系统;

(7)使用 fsck 检查一个文件系统;

(8)加载和卸掉一个文件系统;

(9)增删磁盘交换区。

74

Solaris 系统软件使用的是虚拟文件系统( V FS)体系结构, 为不同的文件系统类型提供了

标准的接口。

V FS 体系使核(kernel)能做些基本的读、写、列表等操作处理。用户或程序员无需知道文

件系统类型就可操作文件, 也就是说, 文件系统的管理和组织对用户是透明的。

Solaris操作系统支持多种类型的文件系统,包括: U NIX 文件系统( U FS)、网络文件系统

( N FS - Network File System)、SystemⅤ文件系统(s5fs)和交换区文件系统(swap)等。

37.1 磁盘文件系统

磁盘文件系统所用的物理存储介质为硬盘、C D - R O M 和软磁盘, 且有几种不同的格式。

U FS: U NIX 文件系统。在 SunO S 系统软件中, U FS 为缺省磁盘文件系统。

H SFS: High Sierra 和 ISO 9660 文件系统, High Sierra 是只读 C D - R O M 文件系统;ISO

9660 是标准的 High Sierra 办公系统版本。

PCFS:PC 文件系统, 可读写访问 D OS 格式的磁盘数据和程序。

37.2 网络文件系统( N FS)

网络文件系统是通过网络访问的文件系统, 一般驻留在一个系统上,并且可由网络上的

其他系统访问, N FS 是 Solaris 缺省的网络文件系统。

N FS 是基于 T CP/ IP 的网络文件系统( Network file System ), 它是目前工作站环境下分

布式文件系统的事实标准。它首先由美国 S U N 微系统公司开发, 得到 IB M 和 D E C 等世界

上大的计算机厂商的认可。N FS 允许网上不同机器共享同一文件系统资源;同样一台机器,既

可以作为文件系统的输出者,也可作为文件系统的引入者。它提供对异种机、异种网络上文件

透明访问。远程异种机型的文件系统可同本地的文件系统安装于一体, 构成一个完整的文件

系统。用户使用远程文件系统与使用本地磁盘一样。

37.3 虚拟文件系统

虚拟文件系统是基于内存、且提供访问核信息和设备的文件系统。大多数虚拟文件系统

并不占用磁盘空间。

37.4 Cache 文件系统

Cache文件系统(CacheFS)用于改善远程文件系统和低速设备(如 C D - R O M )的性能,

Cache 文件系统从远程文件系统或是本地系统上的 C D - R O M 读数据。

37.5 临时文件系统(T M PFS)

临时文件系统(T M PFS)使用本地内存为文件系统读和写。 T M PFS 文件的存取比 U FS

快, 临时文件系统中的文件不是永久的, 当文件系统卸掉、关闭、或是系统重引导文件将被删

除。T M PFS 在 Sloaris 系统中以/ tm p 目录为缺省的文件系统类型, 可任意拷贝文件进出/

tmp 目录。

37.6 loopback 文件系统

loopback 文件系统(L O FS)允许建立一个新的虚拟文件系统, 可使用替代路径名存取文

件。

37.7 进程文件系统

进程文件系统(PR O CFS)属于内存它包括活动进程的列表和进程号。存于/ proc 目录。

/ proc目录的信息由进程命令使用。ps 命令、Debugger 和其它扩展工具能访问进程的地

址。

84

文件系统与磁盘分区是一一对应关系。例如,系统盘上分区 a 存放包含有所有系统文件

和目录的根文件系统。一个文件系统不能跨越一个分区界限。使用 mount 命令加载文件系

统才能给用户使用。

要使用户能使用文件系统下的文件,必须把文件系统安装到目录的层次结构中。使用

m ount命令来完成。

m ount命令格式:

m ount [options] [device] [ m ountpoint]

options 选项包括:

- a �安装/ etc/ fstab 所列的所有文件系统

- t 指定文件系统的类型,缺省 U FS,例如:

# mount - a - t ufs

- r �指定安装的文件系统只能读

- o 指定文件系统专用选择项

其中 device 为专用设备名; m ountpoint 为指定在已存在目录下安装文件系统; mount命令

不带任何参数,显示当前已安装的文件系统。

在 SunoS 系统中, 用户要卸掉文件系统可以使用 u mount 命令。u mount 命令格式:

u mount [options] [ mountpoint]

options 选项包括:

- A �准备卸掉当前安装的所有文件系统

- a 卸掉/ etc/ fstab 所列的所有文件系统

- t 指定文件系统的类型

- h 指定 host名下间接安装的所有文件系统被卸掉

其中, mountpoint 为安装文件系统的目录。

不能使用 u mount 命令卸掉根(root)文件系统。

38 如何建立文件系统

在 Solaris 系统中,当用户对盘进行新的分区时, 用户必须建立一个文件系统以便存贮文

件。用户建立文件系统,可使用 newfs 命令。newfs 命令格式为:

newfS [ - T ufs | s5fs] [ - N] [options] device type

- T 为指定文件系统类型,ufs为 U FS 文件系统;s5fs 为system V 文件系统,缺省为 ufs 文

件系统。

- N 只显示文件系统参数,不建立文件系统。options 选项依赖于文件系统的类型;例如,

对 U FS 文件系统用户可以指定 sector 尺寸或者每个 inode 的字节数。 Device 未安装的设备

名。例如:/ dev/ rrza。Type 为磁盘类型

使用 newfs命令建立文件系统时,必须在根目录下进行,newfs 命令将破坏磁盘上存在的

文件系统的所有数据。因此,用户使用该命令前要对系统进行备份。

94

39 如何修改文件的权限

文件系统的文件能否被访问,允许何种访问方式,是否允许其它用户访问,是由文件权限

确定的。Solaris 系统为文件建立了一套完整的保护机制防止文件的丢失和被破坏。这种机制

称为文件的权限。文件权限有两部分组成, 即所有权和访问权。

文件(包括目录)的所有权被分为三类:

(1)O w ner(所有者):用 u 表示;

(2)Group(同组):用 g 表示;

(3)Other(其它):用 o 表示。

对应于每个文件(目录)有三种访问权限:

(1)read(读):用 r表示;

(2) write(写):用 w 表示;

(3)executable(执行):用 x 表示。

其格式为:

- rwxrwxrw x

其中,第一个字符为“d”表示目录,“ -”表示普通文件。

从第二个字符开始分三组:第一组 rwx 为用户所有者访问权限;第二组 rwx 为同组用户

访问权限;第三组 rwx 为其它不同组用户的访问权限。

每个 rwx 表示用户对该文件可读、可写、可执行。若用户不具有某种权限,用“ - ”表示。

例如:

drw x - - r - - r

表示某目录的存取权限。只有拥有该目录的用户可进行读、写和执行操作,同组或其它用户只

能进行读操作。

- rwx - x - - - -

表示一个文件的存取权限。只有该文件的所有者才能进行 r, w,x 操作。同组用户可执行,其

它用户不能访问该文件。

权限可以用 8 进制数表示, 其中“r”为最高位, w 为中间位,“x”为最低位。如某人对某一

文件具有读写和执行权限, 那么它的三位均为 1, 即 111(7); 如没有写权限,应为 101(5);如

只有读 权限, 应 为 001 (1)。如 果所 有人 对某 一文 件均 具有 读写 权, 那么 将表 示 为

“110110110”, 即为 666。

使用 ch mod、chown 和 chgrp 命令和“ +”、“ -”、和“ =”等三种符号可分别给文件增加、减

少和赋予权限。其中 ch mod 可以用于改变权限,chow n 可以改变文件所有者, 而 chgrp 命令

可以改变组别。它们的格式分别为:

ch mod < 权限 > �文件...

chown 新所有者 文件...

chgrp 新同组成员 文件...

其中, 权限参数可以为数字, 也可以为权限字符串, 文件参数可以使用通配符。例如,

如把 tmp 目录修改为任何人可读、可写、可执行,即执行:

05

ch mod 777 tm p

而命令“ ch mod 755 m nt* ”表示以“ m nt”打头的所有文件, 只有本人具有可读、可写和

可执行权限, 而其它人只具有可读、可写权, 无权执行。

“ch mod o + x file”命令表示给文件 file 的其它用户增加执行权限;“ch mod a - x file”命令

表示减去文件 file 的所有用户的执行权。

40 如何创建空文件

用户可以使用 touch 命令创建空文件。命令格式为:

touch filename

例如:

# touch mailbox research

# m ore mailbox

# m ore research

#

上述命令将创建 mailbox 和 research 两个空文件。

同时, 用户也可以使用 cat命令创建空文件。命令格式为:

# cat> m bn

^d

#

# m ore mbn

#

上述命令将创建 m bn 空文件并检查该文件的内容。

41 如何从文件中查找指定内容

grep 命令可用于查找某一具体的目标,也可用于查找符合一定条件的松散目标。

grep 的格式为:

grep [任选项] 模式 文件

下面具体叙述 grep 的三类参数。

41.1 任选项

grep 的任选项共有 5 个,即 - c、- i、- t、- n 和 - v,它们的意义分别为:

- c l只显示匹配模式所在的文件的文件名及匹配的行号。

- i 匹配模式时,字母不分大小写。

- t 只显示匹配模式所在文件的文件名。

- n 显示匹配模式所在文件的文件名、匹配行及匹配行的行号。

- v 显示匹配模式以外的所有行。即删除匹配行。

对于 - v 选项,举例如下:

grep - v ’* nfsd * ’rc3

15

该命令用于删除 rc3 文件中包含 nfsd 的所有行。

41.2 模式

在 grep 中,模式可以是一个字符串,也可以是一个正则表达式。字符串通常是一个字符

的序列,如字符串中有空格,应把该字符串用引号引起。而正则表达式的定义如下:

�匹配任何非换行字符 c。

^ $ 匹配一个空行。

c 匹配该字符本身,但 c不能是元字符。

[⋯] 匹配该括号的任何一个字符。ASCII 字符可以省写为 a - z 及 0 - 9。

e * e 是一个正则表达式,e * 匹配正则表达式 e重复 0 次或多次而产生的序列。

e + 匹配由正则表达式 e重复一次或多次而产生的序列。

e ? 匹配由正则表达式 e重复 0 次或 1 次而产生的序列。

e1|e2 匹配 e1 或 e2 所匹配的字符串。

^e 匹配 e开头的任何字符串。

e$ 匹配以 e结尾的任何字符串。

41.3 文件

在 grep 命令中,可以给一个或多个文件供 grep 查询。如果给出几个文件的话,grep 将把

所找出的每一行的前面加上这些行所在的文件。例如,打入下面命令:

grep denti* file1 file2 file3

屏幕显示可能为:

@file1: withowt which the dentistry

file1: unless,ofcours,you are speaking of dentistry

file2: in dentistries,A sidefrom that

file3: This is a dentiy

有关 grep 的具体使用,举例如下:

(1)查找含 * 的行,命令应为:

grep \ * filename

而不能直接写为:

grep * filename

这里 * 是一个元字符,同样,查找“ *”和“.”等元字符时,都必须加反斜杠,因为元字符有

其特殊含义。“ *”表示任意字符,“.”表示单个字符。

(2)找出以 John 开头的行,命令应写为:

$ grep‘ John’filename

该命令将显示出在文件 filename 中,开头为 John 的行,而不显示虽有 John,但不在行首的

行。如 filename 中,有如下两行:

I’m John

John is 12

上述命令执行后,屏幕只会显示出:

John is 12

(3)在三个单位的人事库文件中,找出 1974 年到 1978 年出生的人员。命令应写为:

25

$ grep 197[4 - 8] data1 data2 data3

42 如何查找文件或命令的路径

find 命令在给定的目录中查出符合条件的文件来。一旦找出了某些符合条件的文件,就

在屏幕上显示其路径名,并可以执行给定的操作。

find 的格式为:

find 路径名 条件 操作

路径名指出查找的范围,而且还要递归地查找各级子目录。条件可以是文件的大小、名

字、建立时间等。操作是找到文件以后应采取什么行动。如:

find/ usr - name lib - print

其中,/ usr 为目录路径, - na me lib 为查找条件, - print 为操作。该命令在目录/ usr 下,查

找名为lib 的文件,并显示出来。

该命令的输出结果可能为:

/ usr/ lib

/ usr/ lib/ lib

/ usr/ lib/ lib/ lib

下面,来深入讨论一下 find 的具体用法:

42.1 条件(查找原则)

find 命令的条件有多种。其基本形式是连字符( - )开始的标志字后按一个空格和一个字

或一个数。下面是一些较为常用的条件。

(1)根据名字查找文件:使用标志 - name 后接要查找的名字。名字可以是一个具有元字

符的文件名。如:

- name nul �找 nul文件

- name ’* .c’ 找以.c 结尾的所有文件

- name ’* . ?’ 找出倒数第 2 个字符为.的所有文件

(2)根据上次访问的时间查找文件:使用标志 - atime 后接上次访问该文件迄今所经历的

天数。例如:

- atime 7 查 7 天之内未访问的文件

- atime - 14 查 14 天之内访问过的文件

(3)根据上次修改时间找文件:使用标志 - mtime 后接上次修改文件至今的天数。例如:

- mtime 20 查 20 天内未修改过的文件

- mtime + 45 查 45 天前以远修改的文件

(4)找比一个文件较近修改的文件:使用标志 - newer后接一个文件的名字。例如:

- newer ware

查找比文件 ware 的修改时间晚修改的文件。

42.2 操作(动作)

find 命令有三种操作供选择: - print、- exec 和 - ok。

- print �显示符合条件的文件的路径名

35

- exec �对所查到的文件,施加一命令,命令接在此任选项之后,并用下列三个字符结尾:

空格、反斜杠及分号。在命令中,查找到的文件,用{}表示。

- ok �对所查到的文件,交互式地执行 find 操作,回答“y”就执行,否则不执行。

请看下例:

$ find . - atime + 100 - exec rm { } \ ;

该命令查找并删除当前目录及其子目录中,100 天以来未访问过的文件。

$ find . - atime + 100 - ok rm{ }

find 找到满足条件的文件,系统就问你,是否要删除,即:

< rm ⋯ ./ filename > ?

回答 y,就删除该文件。

42.3 几个条件组合到一起查找

同时列出多个原则,使 find 查出同时满足这些条件的文件。例如:

- name calender - size + 2 z查大小大于 2 块的名字叫 calender 的文件

- size + 2 - size - 6 查大于 2 小于 6 块的文件

- name ’* .P’- newer fop 查以.P 结尾且比 fop 修改晚的文件

- name tur - o - name tun 查名叫 tur或 tun 的文件

- atime + 7 - mtime + 14 查 7 天内未被访问或 14 天内修改过的文件

43 缺省的 Solaris文件系统如何

Solaris 文件系统是层次型的, 起始为根(/ ), 以下分支出许多子目录。系统目录按缺

省安装, 并按惯例将类似的文件组成一组, 表 4 - 1 说明每一个系统的类型和对应的确省分

区。

表 4 - 1 Solaris 缺省的文件系统分区

文件系统

属 性 文件系统类 型

硬盘分区

说 明

root(/ ) U FS 0 �根目录。它包括系统处理的关键性目录和文件。如核设备驱动文件以及系统引导文件,它也包括一些安装点目录。

/ usr U FS 6 �能够出口给其它用户的系统文件和目录。

/ export/ ho m e N FS, U FS 4 �用户家目录的安装点,对独立地/ export/ ho me 系统,/ ho m e 可以是 本地磁盘的 U FS 文件系统。

/ var U FS 3 �存放系统文件和目录。

/ opt N FS, U FS 5 �第三方软件存放目录(如语言等)。

/ t m p T M P FS 1 �存放临时文件。

/ proc P R O C FS 用数字形式存放活动进程。

根(/ )和/ usr 文件系统是系统运行不可缺少的, 系统进入单用户时,不挂接/ usr, 只挂接

根(/ ), 因此在根下也有/ usr 文件系统的一些最基本命令。

45

44 如何自动安装文件系统

文件系统挂接到系统目录树的某个目录,这个过程称之为安装( mounting), 该目录称为

安装点( mount point), 安装点目录通常是空目录。

安装分手动和自动, 手动是在命令行输入安装命令临时安装, 一旦系统重新引导,安装

便自动删除。

自动安装, 是将需挂接的文件系统存放在/ etc/ vfstab 中, 系统引导时则自动安装。

无论是安装还是卸掉文件系统, / etc/ m nttab 文件都被修改成当前文件系统安装状态。

可用 cat 或 more 命令显示/ etc/ m nttab 内容, 该文件不能编辑。

卸掉文件系统就是将其从安装点删去。并自动从/ etc/ m nttab 文件中删除该记录。例如:

# m ore/ etc/ m nttab

/ dev/ dsk/ c0t3d0s0 / ufs rw,suid,dev = 800018 852507933

/ dev/ dsk/ c0t3d0s6 / usr ufs rw,suid,dev = 80001e 852507933

/ proc / proc proc rw,suid,dev = 2740000 852507933

fd/ dev/ fd fd rw,suid,dev = 27c0000 852507933

/ dev/ dsk/ c0t3d0s3 / var ufs rw,suid,dev = 80001b 852507933

/ dev/ dsk/ c0t3d0s7 / export/ home ufs suid,rw,dev = 80001f 852507935

/ dev/ dsk/ c0t3d0s5 / opt ufs suid,rw,dev = 80001d 852507934

/ dev/ dsk/ c0t1d0s5 / home1 ufs suid,rw,dev = 80000d 852507934

/ dev/ dsk/ c0t1d0s6 / learn ufs suid,rw,dev = 80000e 852507935

/ dev/ dsk/ c0t1d0s7 / cmg ufs suid,rw,dev = 80000f 852507935

swap / tmp tmpfs dev = 0 852507935

- hosts / net autofsignore,indirect,nosuid,dev = 2900001 852507960

auto home/ ho me autofs ignore,indirect,dev = 2900002 852507960

- xfn / xfn autofs ignore,indirect,dev = 2900003 852507960

cat:vold(pid235)/ vol nfs ignore,noquota,dev = 28c0001 852507974

缺省文件系统配置表(/ etc/ vfstab)取决于安装系统软件的选择,该文件可以编辑修改。

例:

# m ore/ etc/ vfstab

# device device mount FS fsck mount mount

# to m ount to fsck point type pass at boot options

#

#/ dev/ dsk/ c1d0s2/ dev/ rdsk/ c1d0s2/ usr ufs 1 yes -

fd - / dev/ fd fd - no -

/ proc - / proc proc - no -

/ dev/ dsk/ c0t3d0s1 - - swap - no -

/ dev/ dsk/ c0t3d0s0 �/ dev/ rdsk/ c0t3d0s0 / ufs 1 no -

/ dev/ dsk/ c0t3d0s6 / dev/ rdsk/ c0t3d0s6 / usr ufs 1 no -

55

/ dev/ dsk/ c0t3d0s3 / dev/ rdsk/ c0t3d0s3 / uar ufs 1 no -

/ dev/ dsk/ c0t3d0s7 / dev/ rdsk/ c0t3d0s7 / export/ home ufs 2 yes -

/ dev/ dsk/ c0t3d0s5 / dev/ rdsk/ c0t3d0s5 / opt ufs 2 yes -

/ dev/ dsk/ c0t1d0s5 / dev/ rdsk/ c0t1d0s5 / home1 ufs 2 yes -

/ dev/ dsk/ c0t1d0s6 / dev/ rdsk/ c0t1d0s6 / learn ufs 2 yes -

/ dev/ dsk/ c0t1d0s7 / dev/ rdsk/ c0t1d0s7 / cmg ufs 2 yes -

swap - / tmp tmpfs - yes -

注:/ 和/ usr的 mount at boot字段的值是 no,这是由于在运行 mountall命令之前系统已

部分地安装上,如果该字段是 Yes 话, mountall命令还要做不必要地重复安装。

/ etc/ vfstab 文件有 7 个字段, 现分别描述如下:

44.1 device to mount 字段

能够安装的设备是:

(1)本地的 U FS 文件系统块设备(如:/ dev/ rdsk/ c0t0d0s0);

(2)远程系统资源名(如: cat:/ export/ home);

(3)安装到 swap 区的磁盘片名(如:/ dev/ rdsk/ c0t3d0s1);

(4)/ proc 目录和/ proc 文件系统类型。

44.2 device to fsck

由 device to mount字段指定的与文件系统相对应的原始设备名。

44.3 m ount point

缺省的安装点目录(如/ usr 安装在/ dev/ dsk c0t3d0s6)。

44.4 FS 类型

由 device to mount 字段指定的文件系统类型。

44.5 fsck pass

pass 号说明是否用“fsck”检查文件系统, 当该字段是“ -”时, 就不检测文件系统, 当该字

段是一个大于零的值, 就要检测文件系统。对于非 U FS 文件系统, 该字段是“0”也要对文件

系统进行检测, 而 U FS 文件系统,该字段是“0”则不对文件系统进行检测。该字段是“1”表

示对文件系统按顺序检测。

44.6 m ount at boot

Yes 或 no 在系统引导时是否自动安装文件系统。

44.7 m ount option

用“,”作为安装文件系统选项分隔符, 用“ -”表示无选项

使用 mount命令可显示已安装的文件系统。

# m ount

显示内容大致为:

/ on/ dev/ dsk/ c0t3d0s0 read/ write/ setuid on 6 07:45:33 1997

/ usr on/ dev/ dsk/ c0t3d0s6 read/ write/ setuid on 6 07:45:33 1997

/ proc on/ proc read/ write/ setuid on M on Jan 6 07:45:33 1997

/ dev/ fd on fd read/ write/ setuid on M on Jan 6 07:45:33 1997

/ var on/ dev/ dsk/ c0t3d0s3 read/ write/ setuid on 6 07:45:33 1997

65

/ opt on/ dev/ dsk/ c0t3d0s5 setuid/ read/ write on 6 07:45:34 1997

/ tm p on swap read/ write on M on Jan 6 07:45:35 1997

45 Solaris 系统管理数据库有哪些文件

系统配置的大部分内容均可通过修改文本文件来改变。同时,系统管理员可以通过编辑

指定文本文件使网络访问畅通无阻。

用户数据库文件有:

/ etc/ passwd �用户帐号信息

/ etc/ group 组及其成员

/ etc/ shadow 帐号口令及失效时间

/ etc/ skel/ * 用户初始环境文件

/ etc/ hosts 网上节点机名字和地址

/ etc/ mail/ username 用户邮件

如果/ etc/ passwd、/ etc/ group 或/ etc/ shadow 文件失效,系统将不允许任何用户登录。

skel目录下的文件(short for skeletion)是为新创建的用户做准备的。如果你想修改用户

环境,可以编辑这些文件。

每个用户有一个名为/ var/ mail的目录,该目录用于存放用户邮件信息。

/ etc/ hosts 文件是用于管理网络节点机的。该文件是一个超级用户只读文件,如果要修改

此文件,可通过系统管理工具 ad mintool实现。

下面是以上几个文件的例子:

(1) �/ etc/ hosts:

$ more/ etc/ hosts

# Internet host table

#

127.0.0.1 localhost

192.9.200.5 cat }CA T

192.9.200.104 sun465

192.9.200.101 axp461

192.9.200.103 axp1 A X P1

192.9.200.102 axp2

192.9.200.3 sun4

192.9.200.202 compaq25

10.81.62.52 iris

在上述文件中,每一行前面的一个域表示机器的 IP 地址,第二个域表示机器名,第三个域

表示机器别名。例如:cat 机的地址为 192.9.200.5,机器名为 cat,别名为 C A T。

(2)/ etc/ group:

$ m ore/ etc/ group

root::0:root

75

other::1:

bin::2:root,bin,daemon

sys::3:root,bin,sys,adm

adm::4:root,ad m,daemon

uucp::5:root,uucp

m ail::6:root

tty::7:root,tty,ad m

lp::8:root,lp,adm

nuucp::9:root,nuucp

daemon::12:root,daemon

sysad min::14:

nobody::60001:

noaccess::60002:

nogroup::65534:

x::101:

在此文件中,每一行表示一个组。其中,第一域表示组名,第二个域表示组帐号,第三个域

表示本组成员。

(3)/ etc/ shadow:

$ m ore/ etc/ shadow

root:11d4Zw Xtod0bE:9825::::::

daemon: N P:6445::::::

bin: N P:6445::::::

sys: N P:6445::::::

adm: N P:6445::::::

lp: N P:6445::::::

smtp: N P:6445::::::

uucp: N P:6445::::::

nuucp: N P:6445::::::

listen: * L K * :::::::

nobody: N P:6445::::::

noaccess: N P:6445::::::

nobody4: N P:6445::::::

lzj:9h3vo3 W 67lU kQ:9726::::::

zqs:jG G8 V54P1w N u.:::::::

lzf:JV Aim7 Nz.1P R2:::::::

gxt::9827:0:0::::

user1::9766::::::

cde::::::::

ljm:ty w2 M dlm LpqiA:9848::::::

85

pjx:gdsO OP Y Zbobng:9835::::::

在此文件中,每一行表示一个用户。其中,第一域表示用户名,第二个域表示用户口令,第

三个域表示本组成员。

(4)/ etc/ passwd:

$ m ore/ etc/ passwd

root:x:0:1:Super - User:/ :/ sbin/ sh

daemon:x:1:1::/ :

bin:x:2:2::/ usr/ bin:

sys:x:3:3::/ :

adm:x:4:4:Ad min:/ var/ adm:

lp:x:71:8:Line Printer Admin:/ usr/ spool/ lp:

smtp:x:0:0: M ail Daemon User:/ :

uucp:x:5:5:uucp Admin:/ usr/ lib/ uucp:

nuucp:x:9:9:uucp Admin:/ var/ spool/ uucppublic:/ usr/ lib/ uucp/ uucico

listen:x:37:4: Network Ad min:/ usr/ net/ nls:

nobody:x:60001:60001: Nobody:/ :

noaccess:x:60002:60002: No Access User:/ :

nobody4:x:65534:65534:SunO S 4.x Nobody:/ :

lzj:x:100:10::/ home1/ lzj:/ bin/ csh

zqs:x:150:10::/ cm g/ zqs:/ bin/ csh

lzf:x:105:10::/ home1/ lzf:/ bin/ csh

gxt:x:170:10::/ cm g/ gxt:/ bin/ csh

user1::117:10::/ cm g/ user1:/ bin/ csh

cde:x:1001:10::/ cm g/ cde:/ bin/ csh

ljm:x:1002:10::/ cmg/ ljm:/ bin/ csh

pjx::1003:10::/ usr/ pjx:/ bin/ csh

在此文件中,每一行表示一个用户,其一般形式为:

Login ID:x: UID: GID:user- info:ho me - diectory;shell

其中,第一域(Login ID)表示用户名,第二个域表示有无口令(x 表示有口令,空表示无

口令),第三个域表示用户帐号, 第四个域表示用户组, 第五个域(user - info)表示用户信息,

第六个域表示用户主目录,第七个域表示用户 shell种类。

(5)/ etc/ skel/ local.cshrc:

$ m ore/ etc/ skel/ local.cshrc

# @ ( # )cshrc 1.11 89/ 11/ 29 S MI

u mask 022

set path = (/ bin/ usr/ bin/ usr/ ucb/ etc .)

if ( $ ? pro mpt ) then

set history = 32

endif

95

(6)/ etc/ local.login:

# @ ( # )local.login 1.3 93/ 09/ 15 S M I

stty - istrip

# setenv T E R M tset - Q -`

# if possible, start the windows system.

#

if ( tty = = ″/ dev/ console″) then

if ( $T E R M = = ″sun″||$T E R M = = ″A T386″) then

if ( $ ? O PE N W IN H O M E = = 0 ) then

setenv O PE N W IN H O M E/ usr/ openwin

endif

echo ″″

echo - n ″Starting Open Windowsin 5 seconds(type Control- C to interrupt)″

sleep 5

echo ″″

$O PE N W IN H O M E/ bin/ openwin

clear # get rid of annoying cursor rectangle

logout # logout after leaving windows system

endif

endif

(7)/ etc/ skel/ local.profile:

#

# @ ( # )local.profile 1.4 93/ 09/ 15 S M I

stty istrip

P A T H =/ usr/ bin:/ usr/ ucb:/ etc:.

export P A T H

# If possible,start the windows system

if [ tty = ″/ dev/ console″]; then

if [ ″$T E R M″= ″sun″- o″$T E R M″= ″A T386″];then

if[ $O PE N W IN H O M E: -″″= ″″];then

O PE N W IN H O M E =/ usr/ openwin

export O PE N W IN H O M E

fi

echo ″″

echo ″Starting Open Windows in 5 seconds (type Control- C to interrupt)″

sleep 5

echo ″″

$O PE N W IN H O M E/ bin/ openwin

06

clear �# get rid of annoying cursor rectangle

exit # logout afterleaving windows system

fi

fi

46 如何通过查询资料以获得帮助

由于 Solaris系统非常庞大,没有人能够知道所有的内容;即使有人学习了 Solaris 的全部

内容,他也无法全部记住。因此,Solaris 提供多种方法让用户查询有关资料。查询资料可有两

类方法,一是联机查询,二是查看印刷品资料。

联机查询有 man pages和 AnswerBook 两种方法。

在 Solaris 2.x 软件包中,有一些简单的资料:

(1)Solaris Roadmap (Start here)

(2)SPA R C:Installing Solaris Software

(3)Binary Code Liense

(4)Solaris 2.x Introduction

(5)Software and AnswerBook packages Administration Guide

(6)Solaris Quick Start Guide

(7)Solaris 2.x Open Issues and Late - Breaking news

(8)Solaris 2.x Patch Integration list

(9)Solaris 2.x SPA RC Hardware Platform G uide

Solaris 操作系统的命令较为丰富,一般初学者无法全部掌握,也无必要全部掌握。如果用

户对某个命令想了解详细的信息,可用联机求助命令 man,快速查找该命令的详细资料。

Solaris 2.x 在线帮助比 Solaris 1.x 有较大增强:

(1) Solaris 2.x 提供一个 PostScript 过滤器, 它比 Solaris 1.x 的 TranScript 过滤器有所增

强;Solaris 2.x 不再提供 T E X 和 pscat 过滤器;

(2) Solaris 2.x 系统对“ man”命令进行了调整:

m an1B �Sun OS/ BSD 兼容命令

m an1C 通讯命令

m an1F F M LI 命令

m an1S Sun OS 命令

m an1 M 系统管理命令

m an2 系统调用

m an3B Sun OS/ BSD 兼容库

m an3C C 库函数

m an3E ELF 库函数

m an3G C 库函数

m an3I 宏字符函数

m an3 K 核 V M 库函数

16

m an3 M 数学库

m an3 N 网络函数

m an3R R PC 服务库

m an3S 标准 I/ O 函数

m an3T 流库函数

m an3X Miscillaneous 库函数

m an4B Sun OS/ BSD 兼容文件格式

m an5 头文件,表和宏

m an7 特殊文件

m an9 D DI/ D KI

m an9E D DI/ D KI 入口点

m an9F D DI/ D KI 核函数

m an9S D DI/ D KI 数据结构

m an 命令用于联机求助,其格式非常简单,即:

m an 命令名

或:

m an [ - M path] - k keyword ...

m an [ - M path] - f file ...

m an [ - ] [ - adflrt] [ - M path] [ - T macro - package] name ...

如要查看 apropos命令,可打入:

m an apropos

该命令的显示结果大致如下:

apropos(1) User Co m mands apropos(1)

N A M E

apropos - locate com mands by key word lookup

SY N O PSIS

apropos keyword...

A V AIL A BILIT Y

S U N W doc

D ESC RIP TIO N

apropos displays the man page name, section num ber, and a short description for each man

page w hose N A M E line contains keyword. Thisinformation is contained in the/ usr/ share/ man/

windex database created by catman(1 M ). If catman(1 M ) was not run, or was run with the - n

option, apropos fails. Each word is considered separately and the case oflettersisignored. W ords

w hich are part of other words are considered; for exam ple, w hen looking for‘com pile’, apropos

finds allinstances of‘co mpiler’also.

apropos is actually just the - k option to the man(1) com mand.

Try

26

example % apropos password

and

example % apropos editor

FIL ES

/ usr/ share/ man/ windex table of contents and keyword database

SE E A LSO

m an(1), whatis(1), catman(1 M )

DIA G N OS TICS

/ usr/ share/ man/ windex: No such file or directory

SunO S 5.5.1 Last change: 14 Sep 1992 1

Solaris 2.x AnswerBook 中的用户指南部分可随 Solaris 2.x 系统一起安装到硬盘上, 而其

它部分则在 Solaris 2.x A nswerBook 光盘片上。

Solaris 2.x AnswerBook 的启动有三种方法:

(1)在命令行执行如下命令:

answerbook [ - llanguage]

(2)在系统前面板上,用鼠标器选 AnswerBook 图标

(3)在系统工作台上,用鼠标器弹出系统菜单,然后选 program 中的 A nswerBook 项。

AnswerBook 软件的安装有两种方法:

(1)使用 ad mintool工具

(2)使用 pkgadd 工具

在同一网络上, 只要有一台机器装有 AnswerBook, 其它机器就可以共享 AnswerBook。

具体方法如下所示。

46.1 在服务器上设置 AnswerBook

(1)选择装有 AnswerBook 的机器作服务器。

(2)在服务器上以超级用户注册。

(3)创建有关 AnswerBook 的 ab cardcatalog 文件, 即:

/ usr/ open win/ bin/ ab admin - file A B - net - path - merge A B - install - dir/ ab

cardcatalog

在此命令中,A B - net - path 是指 ab cardcatalog 文件的路径。

例如:/ export/ share/ ab cardcatalog

A B - install- dir 是指安装 A nswerbook 的路径

例如:

/ opt/ S U N W aadm

(1)编辑 ab cardcatalog 文件, 使 tocpath、pspath 和 indexpath 可以使用。

(2) �编辑/ etc/ dfs/ dfstab 文件, 增加如下行:

share - F nfs - o ro A B - net - path

share - F nfs - o ro A B - install- dir

36

(3)执行共享命令, 出口 AnswerBook 文件。

46.2 在客机使能 AnswerBook

(1)确信已设置 site initialization 文件

(2)修改 shell环境文件, 即:在 cshell:

setenv A B C A R D CA T A L O G A B - net - path

在其它 shell:

A B C A R D CA T A L O G = A B - net - path:$A B CA R D C A T A L O G

export A B C A R D CA T A L O G

47 Swap 与 tm pfs 有何区别和联系

Solaris 系统软件使用一部分磁盘空间作为临时存储区,这些磁盘区称为 S wap 区。在系

统处理当前进程没有足够的物理空间内存时,S wap 区作为一个虚拟存储区使用。

在 Solaris环境由/ etc/ vfstab 文件中的一个记录自动的启动 tmpfs 文件系统。tmpfs 文件

系统保存内存里的(在/ tmp 目录)文件以及相关信息并加速访问这些文件。见图 4 - 1。

图 4 - 1 S wap 与 tm pfs有何区别和联系

tm pfs 文件系统为系统的 swap 资源在/ tmp 目录中分配空间。对/ tmp 的使用,就是对

swap 区使用。要使用 tmpfs , 但 swap 资源又有所限制时, 可以按如下方法处理:

(1)用文件系统大小选项( - o size)控制有多少 swap 资源能用。

(2)如果没有 swap 空间要退出和运行的话, 可以使用编译器的 T M PDIR 环境变量指向

一个较大的临时目录。

使用编译器的 T M P DIR 变量只控制编译器是否使用/ tmp 目录,但对其它程序使用/ tm p

没有影响。

48 如何增加 Swap 区的大小

有些应用软件在运行时,需要的物理内存大于实际内存和虚拟内存之和,致使软件无法运

行。这就需增加更大的 swap。增加 swap 过程如下所示。

48.1 显示目前交换区的情况

# swap - l

46

显示内容大致为:

swapfile �dev �swaplo �blocks Yfree

/ dev/ dsk/ c0t2d0s1 32.17 8 205624 192704

/ file/ swapfile - 8 40952 40952

48.2 使用 m kfile 命令创建交换区文件

# m kfile 20 m / data/ swap

建立一个 20 M B 大小的空文件, 但是创建该空文件时,并不立即分配磁盘块,除非有数据

要写入。

m kfile 命令的格式为: m kfile nnn[k|b| m] filename

其中:

nnn ,swap 文件的大小,单位可以是 b、kb 和 m b。

filename 建立的 swap 文件名。

48.3 激活 swap 文件

# swap - a/ data/ swap

至此,系统增加交换区 20 M B 已经可以使用。如果希望新增的交换区在系统每次启动时

自动安装,可以增加下面记录到/ etc/ vfstab 文件:

/ files/ swapfile - - swap - no -

使用“swap - d”命令可以删除 swap 文件。格式为:

#/ usr/ sbin/ swap - d/ path/ filename

swap 文件名被删除, 但文件本身并没有删除。

49 什么是 Patch

在软件开发商发行商品化软件时,经常会出现软件刚包装好或才卖出几份,就发现有错

误,但错误不是致命的。基于此,软件开发商发行商品化软件后或同时对原软件进行修补,并

作成一个程序,这个程序就叫 Patch(补丁)。Patch 程序的发行大致有两种渠道:通过国际因

特网(Internet)发布和通过光盘或磁盘发布。

用户可以从国际因特网(Internet)上下载自己需要的 Patch(补丁),也可以通过光盘或磁

盘获得自己需要的 Patch(补丁)。但是往往从国际因特网(Internet)上下载 Patch(补丁)比较

新、比较全。

用户可以使用“showrev - p”命令来查看当前系统安装 Patch(补丁)的情况。该命令的执

行情况如下:

# showrev - p

Patch: 104361 - 01 Obsoletes: , Requires:, Incom patibles:, iss sparc - 01 Packages:

S U N W csu, S U N W arc

Patch: 103612 - 07 Obsoletes:103615 - 04, 103654 - 01, Requires:, Incom patibles:

Packages: S U N W csu, S U N W arc, SU N W nisu

Patch: 103630 - 03 Obsoletes: , Requires:, Inco mpatibles: Packages: S U N W csu,

56

S U N W csr

Patch: 103582 - 02 Obsoletes: , Requires:, Incompatibles: Packages: S U N W csr

Patch: 103640 - 03 Obsoletes: 103658 - 02, Requires:, Inco mpatibles: Packages:

S U N W csr, SU N W car

Patch: 103566 - 07 Obsoletes: , Requires:, Inco mpatibles: Packages: S U N W xwplt,

S U N W xwslb

Patch: 104093 - 02 Obsoletes: , Requires:, Incompatibles: Packages: S U N W oldst

Patch: 103558 - 05 Obsoletes: , Requires:, Incom patibles: Packages: SU N W admap,

S U N W ad mc, S U N W sadml

用户通过不同的方式取得 Patch 程序后,可以使用 unco mpress 命令解压缩文件,使用 tar

命令弹出,最后通过 installpatch 命令安装 Patch。具体过程为(以 102971 补丁为例):

# unco mpress 102971 - 01.tar.z

# tar - xf 102971 - 01.tar

# ./ installpatch

# reboot

使用 backoutpatch 命令可以删除指定补丁。具体命令为:

# cd/ var/ sad m/ patch

# cd 102971 - 01

# ./ backoutpatch

50 用于文件系统管理的命令有哪些

文件系统管理命令见表 4 - 2。

66

表 4 - 2 文件系统管理命令

命 令 说 明

clri 清除节点

df 显示磁盘使用情况

ff 显示文件名及其状态

fsck 检查文件系统的完整性,并修复发现的故障

fsdb 发现并排除文件系统的故障

fstyb 确定文件系统类型

labelit 当使用卷拷贝命令(volcopy)时提供列表显示

m kfs 创建一新的文件系统

m ount 安装文件系统和远程资源

m ountall 从指定的文件系统安装所有的文件系统

ncheck 产生 i节点号的路径名

u m ount 卸掉文件系统和远程资源

u m ountall 从指定的文件表中卸掉所有文件系统

vokcopy 建立一卷拷贝文件系统的索引

命令格式:

Co m mand E[ - F type] [ - v][generic - option][ - o specific - option]

[special| mount- point][operands]

其中:

- F type ~文件的系统类型。若不选此项, 系统将检查对比 ~

/ etc/ vfstab 文件的 special 或 mount 字段内容,否则缺省值取本地

系统的/ etc/ default/ fs 文件的内容,远程系统则取/ etc/ dfs/ fstypes

的内容。

- V 确认是否执行命令。

generic - option 不同文件系统的公用选项

- o specific - option 指定的文件类型的列表

special| mount - point �文件系统安装点。其内容可以是安装点目录,也可以是存放文件

系统的磁盘设备,有些命令,special 必须是原始设备,而有些命令

则必须是块设备名。

operands 规定文件系统类型参数。

51 检查文件系统的完整性

U FS 文件系统依赖于保存节点记录和超级块的内部表的设置,当这些内部表与磁盘数据

做了不恰当的同步,将会导致文件系统的不协调。如果在关机前未对磁盘作相应的文件系统

同步,将有可能导致文件系统的有效性和一致性出现问题,进而可能使系统无法启动。

文件系统遭破坏, 常常是由于以下几个方面原因:

76

(1)电源失败;

(2)关闭系统时未用关机命令(如 shutdow n 等);

(3)核软件错误;

(4)系统的插头意外脱落。

SunO S 的文件系统是利用超级块来管理磁盘块的分配的。当系统停止运行时,超级块中

的信息必须写回磁盘。参见图 4 - 2。

图 4 - 2 超级块在硬盘和内存的位置

系统启动时首先对文件系统进行有效性和一致性进行检查,当检查到下面三方面某一点

有问题时,便对文件系统进行修复,如经多次修复仍无法全部满足如下三个条件,系统将会自

动停止启动。

(1)检查文件系统超级块信息的一致性,包括文件系统大小、i节点个数、自由块个数和自

由 i节点个数。

(2)检查柱面块映象的一致性,包括文件占用块和自由块,确信“自由块 + 占用块”等于全

部数据块。

(3)检查 i节点的一致性,包括已使用的 i节点和还未使用的 i节点,i 节点连接个数的正

确性和未涉及的i节点。

系统引导时将自动完成(用 fsck 程序)文件系统的检测,并修复所有的问题。fsck 程序配

置除lost + found 目录内的所有文件和目录,每个文件的节点号按名字分配,如果,lost + fund

目录不存在,fsck 则建立它,如果该目录不够大的话,fsck 则增加它的大小。

用户在用手工方式安装文件系统或系统 Backup 之前,应对文件系统进行检查。保证文件

系统的完整性、正确性。

使用 fsck 命令可以检查一个文件系统。fsck 查找和校正文件系统中不一致的部分。例

如:不可调用的 inode、inode 链接计数值太大、自由列表丢失的块和在超级中不正确的计数等。

fsck 命令格式:

fsck [options] [filesystem]

options 对 U FS 文件系统一些选项:

�- p 检查和校正不相容。没有 - p 选项,fsck 交互方式运行。

- b 指定块作为超级块使用

- y 假设对所有的提示回答 Yes

- n 假设对所有的提示回答 No

filesystem 用户准备检查文件系统所在的设备名。若用户不指定,/ etc/ vfstab 目录下指

86

定的所有文件系统被检查。

文件系统的检查,必须在根目录下进行,即 fsck 命令必须在根目录下使用;对于独立的文

件可以放在lost + found 目录下,若该目录不存在,使用“ m kdir lost + found”命令建立。由于根

文件系统不能卸掉,检查工作在单用户方式下进行。同时,还能防止 fsck 对正常的系统操作

下的不一致性进行报告和修复。

因此,fsck 命令是维护文件系统的实用工具,对文件系统的完整性,一致性进行日常的维

护,且使用方便灵活。下面举个 fsck 的例子,说明 fsck 命令的使用:

# fsck

显示内容大致为:

* * / dev/ rdsk/ c0t3d0s0

* * Currently M ounted on/

* * Phase 1 - Check Blocks and Sizes

* * Phase 2 - Check Pathnames

* * Phase 3 - Check Connectivity

* * Phase 4 - Check Reference Counts

* * Phase 5 - Check Cyl groups

FIL E SY ST E M ST A T E IN S U PE R BL O C K IS W R O N G; FIX ?

或:

* * / dev/ rdsk/ c0t3d0s0

* * Currently M ounted on/

* * Phase 1 - Check Blocks and Sizes

* * Phase 2 - Check Pathnames

* * Phase 3 - Check Connectivity

* * Phase 4 - Check Reference Counts

* * Phase 5 - Check Cyl groups

2522 files, 26625 used, 11758 free (470 frags, 1411 blocks,

1.2 % fragmentation)

* * / dev/ rdsk/ c0t3d0s6

* * Currently M ounted on/ usr

* * Phase 1 - Check Blocks and Sizes

* * Phase 2 - Check Pathnames

* * Phase 3 - Check Connectivity

* * Phase 4 - Check Reference Counts

* * Phase 5 - Check Cyl groups

FIL E SY ST E M ST A T E IN S U PE R BL O C K IS W R O N G; FIX ?

以上信息说明文件系统超级块有错误, 回答“y”, 系统将自动修复。

96

52 如何用 vi编辑文件行块和定义行号

在 vi编辑器中,利用如下命令可以复制、粘贴和移动行块,参看表 4 - 3。

表 4 - 3 行块的操作

子 命 令 功 能

Y y 粘贴或复制行

P 把剪贴板上的内容复制到当前行下面

P 把剪贴板上的内容复制到当前行上面

: n1 �, n2 co n3 把第 n1 8行至第 n2 行的内容复制到第 n3 行之后

:n1 �,n2 m n3 把第 n1 �行至第 n2 行的内容移动到第 n3 行

用 vi编辑文件时设置行号有两种方法:

(1)编辑 vi配置文件.exrc, 增加“set nu mber”行, 删除“set nonum ber”行。

(2)在 vi的子命令状态,键入:“:set nu mber”命令串。

53 超长文件无法用 vi编辑怎么办

由于受机器内存的限制,太大的文件用 vi编辑时,可能调不出文件的全部内容,遇到此类

问题可采取如下两种方法处理:

(1)使用 head 命令取文件前面的若干行, 进行编辑, 命令为:

# head - n file > file1

使用 tail命令取文件尾部若干行, 进行编辑; 同时使用 head 和 tail 命令, 取文件中间某

部分进行编辑,例如:

# tail - n file > file2

# head - n file| tail - m > file3

最后,用 cat 命令合并己编辑好的文件。

(2)用 csplit 命令分裂文件, 编辑后用 cat命令合并 。例如:

# csplit filename n

# vi xx01

# vi xx02

# cat xx01 xx02 > filename.new

其中,参数“n”表示文件 filename 的前 n 行放入文件 xx01, 其余部分放入文件 xx02。

54 如何处理音频文件

07

图 4 - 3 A udio Tool的图标

Solaris 系统为用户提供了一个音频文件处理工具

Audio Tool。用 Audio Tool 工具可以录音、放音和编辑

音频文件。同时 Audio Tool 可以与 M ultimedia M ail

Tool(多媒体邮件工具)一起工作, 提供合成、发送和接

收多媒体邮件音频处理能力。Audio Tool的具体图标和

窗口参见图 4 - 3 和图 4 - 4。

启动音频文件处理工具 Audio Tool 有下面几种方法:

(1)从桌面菜单上选择 Programs Audio ;

(2)在 M ail Tool 的 Compose 窗口选择 Attach

Voice;

(3)从文件管理器中双击 Audio Tool图标;

(4)在命令窗口或 shell窗口执行命令:

$/ usr/ openwin/ bin/ audiotool

(5)双击音频文件图标

图 4 - 4 音频文件处理工具 Audion T ool示意图

17

55 如何编辑图像文件

用户可以使用 Image Tool工具编辑和打印图像文件。启动 Image Tool工具有多种方法:

(1)从桌面菜单上选择 Programs Image Tool;

(2)在 M ail Tool中打开图像文件或多页文档;

(3)从文件管理器中双击 Image Tool图标;

(4)在命令窗口或 shell窗口执行命令:

$/ usr/ openwin/ bin/ imagetool

(5)双击图像文件图标;

(6)在 Snapshot 中,选择 View 按钮。

Tool的具体窗口参见图 4 - 5、图 4 - 6 和图 4 - 7。

图 4 - 5 I mage Tool工具窗口

Image Tool工具可以读入以下格式的图像文件:

(1)postscript 格式,文件扩展名为:.ps、.px、.cps、.epsf。

(2)G E M 格式,文件扩展名为:.img 。

(3)GIF 格式,文件扩展名为:. GIF/ .gif。

(4) H P Paintjet格式,文件扩展名为:.pj M G R 格式,文件扩展名为:. mgr。

(5)PICT 格式,文件扩展名为:.pict。

(6)PP M 格式,文件扩展名为:.ppm。

(7)Sun Raster格式,文件扩展名为:.rs/ .imn。

27

图 4 - 6 Im age T ool工具打开文件窗口

图 4 - 7 图像显示参数

37

(8)X bitmap 格式,文件扩展名为:.xb m。

(9)PG M 格式,文件扩展名为:.pg m。

(10)JIFF(JP E G) 格式,文件扩展名为:.jpg/ .jpeg/ .JP T/ .JPE G。

(11) Auto C A D Slide 格式,文件扩展名为:.sld。

(12)Sun Icon 格式,文件扩展名为:.icon。

Image Tool工具可以用以下格式保存图像文件:

PostScript

GIF

JFIF(JP E G)

56 如何抓取屏幕图像

Open Windows 桌面环境为用户提供一个类似照相机快照功能的应用程序 snapshot。这

个工具也可在 C D E 环境下执行。snapshot(快照)可以以黑白或彩色方式抓取一个区域或一个

窗口或整个屏幕上的图像, 同时存成光栅文件。

Snapshot所产生的光栅文件, 可用 Image Tool处理, Image Tool 可以把 Sun 光栅文件转

换为 JPE G 或 PostScript或 TIFF 或 GIF 格式文件。

在黑白监视器上运行 Snapshot工具形成的文件只能是黑白的,在彩色监视器运行 Snapshot

工具形成的文件可以是彩色的, 也可以是黑白的, 这要由运行 Open Windows的颜色所决定。

当以黑白方式运行 Open Windows 时, 形成的快照文件是黑白的, 反之,则是彩色的。

用户可使用三种方式运行 Snapshot程序(参看图 4 - 8):

图 4 - 8 Snapshot 基本窗口

47

(1)在 Open Windows或 CD E 环境下, 以命令行方式运行 Snapshot, 即:

# / usr/ openwin/ bin/ snapshot &

(2)在 Open Windows环境下, 弹出工作台菜单, 从 Program 中选择 Snapshot 项, 以执行

Snapshot。

(3)在 Open Windows 或 C D E 环境下, 启动文件管理器。在文件管理器中连击 Snapshot

图标。

Snapshot 工具可以对屏幕照相, 也可以浏览和打印快照文件。

56.1 对一个窗口照像

Snapshot可以对一个窗口( Window), 一个区域( Region)或整个屏幕(Screen)进行照相。

一个 Window 可以是一个图标、一个菜单、一个弹出窗口或一个打开的应用程序窗口。

给一个 Window 照像的方法为:

(1)启动 Snapshot;

(2)把鼠标指针对准 snap 按钮, 按鼠标左键;

(3)移动鼠标指针到目标窗口( window);

(4)在目标窗口顶部按鼠标左键。

等一会之后,Snapshot底部会显示出快照成功的信息(Snap succeeded)。

56.2 浏览快照

当照像结束后, 可以把鼠标指针对准 View 按钮按左键观看照片。

56.3 给一个区域照像

(1)启动 Snapshot;

(2)选择 Region 按钮;

(3)选择 Snap 按钮;

(4)选择 Discard Snapshot将不保存快照文件;

(5)在目标区域顶部按击鼠标左键, 并拖动到目标区域底部;

(6)按鼠标中键进行照像;

(7)选择 View 按钮, 观看照片。

56.4 存一个快照

(1)选择 Save 按钮。

(2)选择目录。

(3)录入一个文件名。

(4)确认。

56.5 打印快照

(1)选择 print 按钮。

(2)交互式回答问题。

(3)选择 print 按钮。

56.6 装入快照

(1)选择 load 按钮。

(2)选择目录和文件。

(3)选择 Open 按钮。

57

延时照像是快照的一大特点。在照像时, 如果不想把快照程序所产生的窗口照入, 可以

采用延时照像, 即选择 Snap Delay 为 2 秒、4 秒、8 秒或 16 秒的延时。延时照像的方法为:

(1) 选择 Snap Type。

(2) 选择 Snap Delay。

(3) 选择 Hide Window During Capture。

(4) 选择 Beep During Countdown。

(5)按 snap 按纽。

当照像结束后, 可以把鼠标指针对准 View 按钮按左键观看照片。

57 如何使用文件管理器

在 Solaris 系统和 C D E 系统中,均有一个叫做“file manager”(文件管理器)的工具。该工具

与微软的 Windows 95 中的资源管理器功能和使用方法非常类似。下面将大致介绍一下 So-

laris系统和 CD E 系统提供的文件管理器的功能和使用方法。参见图 4 - 9。

图 4 - 9 文件管理器

57.1 启动文件管理器

有多种方法可以启动文件管理器:

(1)在 CD E 前面板上用鼠标点击文件管理器图标,参见图 4 - 10。

67

(2)在 C D E 或 Open Window 桌面按鼠标右键。然后,从桌面菜单上选择 Programs

图 4 - 10

文件管理器图标

Im-

age Tool。

(3)从文件管理器中双击 file manager 图标。

(4)在命令窗口或 shell窗口执行命令:

$/ usr/ openwin/ bin/ filem gr

57.2 复制文件

在文件管理器中,选中要复制的文件,然后从 selected 选项选中 copy 项。在目标文件夹,

从 selected 选项选中 paste 项即可。

57.3 移动文件

在文件管理器中,选中要移动的文件,然后从 selected 选项选中 m ove 项。在目标文件夹,

从 selected 选项选中 paste 项即可。或直接拖拉指定文件到目标文件夹。

57.4 删除文件

直接拖拉指定文件到垃圾箱。

57.5 打开和执行文件

在文件管理器中,双击目标文件。

57.6 改变文件的读写权限

在文件管理器中,先选中目标文件,然后点击鼠标右键,最后根据对话框中的提示,改变文

件的读写权限。参见图 4 - 11。

图 4 - 11 改变文件的权限

77

第五章 用户环境(SH E L L)

58 什么是 SH E L L

SH EL L 是一种命令解释语言(程序),它是操作系统与用户的接口。S H E LL 负责解释用

户输入的命令。SH EL L 除了交互式地解释执行用户打入的命令之外,还可执行命令文件。因

此,用户可以把经常或多次执行的命令串放在一个文件中,可由 S H E LL 来执行这个文件,免

除每次打命令的麻烦。命令文件叫 S H E LL 过程,当执行 S H E LL 过程时就开始一个新的

SH EL L,该 SH EL L 读入命令文件并执行。

当用户登录到系统中时,系统需要知道用户使用什么样的命令解释程序(S H E LL),命令

的存放路径和终端特性等等。这些便组成了用户的运行环境。Solaris 提供三种 S H E LL( C

SH EL L、B S H E LL 和 K S H E LL)供用户选择。SH EL L 一旦选好,运行环境便有了基调。三种

SH EL L 和环境配置文件如表 5 - 1。

表 5 - 1 SH E L L 和环境配置文件

S H E L L

描 述 路 径 用户环境配置文件

Bourne / usr/ bin/ sh .profile

korn / usr/ bin/ ksh .profile

C / usr/ bin/ csh .cshrc .login

当用户登录到系统中时,操作系统为用户开始一个 SH EL L,叫 login S H E LL,它交互式地

工作。当用户退出系统时,便结束 login SH EL L。

C SHELL、B(Bourne) SH ELL 和 K(korn) SHELL 各有自己的特点,具体情况请看表 5 - 2。

表 5 - 2 三种 SH E L L 性能对比

特 性

类 别 说明 C B K

程序设计能力 包括循环、条件语句和变量的程序设计语言 有 有 有

中断信号 通过 Solaris 操作系统传送中断信号 是 是 是

秘密性 控制 S H E L L 环境的手段 无 有 无

命令别名 允许给命令串改名 是 否 是

命令历史 存贮命令并允许命令行编辑 是 否 是

文件名模糊性 给出文件名或部分字符,系统自动找有关的文件 是 否 是

命令行编辑 允许编辑当前和以前的命令行 否 否 是

数组 定义数组变量 否 否 是

作业控制 监视、存取后台进程 是 否 否

87

Solaris 2.x 操作系统缺省的 S H E LL 为 B S H E LL, 如用户想使用 C S H E LL 和 K S H E LL,

可分别执行 csh 和 ksh 命令。Solaris 1.x 操作系统缺省的 S H E LL 为 C S H E LL。

在创建用户时,可以指定 SH EL L 的类型。也可通过修改/ etc/ passwd 文件实现。/ etc/

passwd 的内容大致为:

root:x:0:1:Super - User:/ :/ sbin/ sh

bin:x:2:2::/ usr/ bin:

gxt:x:170:10::/ cm g/ gxt:/ bin/ csh

user1::117:10::/ cm g/ user1:/ bin/ csh

cde:x:1001:10::/ cm g/ cde:/ bin/ csh

ljm:x:1002:10::/ cmg/ ljm:/ bin/ csh

pjx::1003:10::/ usr/ pjx:/ bin/ csh

在此文件中,每一行表示一个用户,其一般形式:

Login ID:x: UID: GID:user- info:ho me - diectory;SH EL L

其中,第一域(Login ID)表示用户名,第二个域表示有无口令(x 表示有口令,空表示无

口令),第三个域表示用户帐号, 第四个域表示用户组, 第五个域(user - info)表示用户信息,

第六个域表示用户主目录,第七个域表示用户 S H E LL 种类。

59 SH E L L 使用的元字符有何特殊含义

SH EL L 中有一种特殊字符,称为元字符,它是一种通配符。Solaris S H E L L 所能识别的元

字符及其用途见表 5 - 3。

表 5 - 3 元字符及用途

元字符 用 途 使 用 举 例

* 匹配任何字符串,包括空串 ls a * (列出以 a打头的所有文件名)

? 匹配任意单一字符 ls a ?(列出以 a打头,后跟一字符的所有文件名)

[⋯]匹配方括中列出的任何一个字符,常与“ - ”连

用表明一种字符范围,匹配任何单独元字符。

ls [a - d] * (列出以 a、b、c、d 打头的所有文件

名) ls a/ * (列出以 a 打头,后跟 * 的文件即 a

* 文件)

转义字符是一种更特殊的字符,它用于元字符的转义, 即让元字符失去原来的意义,当作

一般字符看待。一般情况下,在文件名中最好不要使用元字符,如使用了元字符,在引用该文

件时,元字符前就应加上一个转义字符。例如引用文件 abc ? 时,就应写为 abc \ ? 即:

$ls abc \ ?

转义字符(还可以使 S H E LL 中的别名命令转义, 使别名命令恢复原来的含义。例如:

“rm”被定义为“rm - i”命令(交互式删除文件)的别名, 执行“rm”别名命令就相当于执行“rm

-i”命令, 删除文件时要确认一下。但如执行“ \ rm”命令就可直接删除文件, 而不在确认,

即恢复“rm”命令原来的意义。

97

60 如何设置 PA T H 参数

P A T H 参数是用来在 Solaris 目录层次中定位命令的。通过设置 P A T H, 可以创建一组固

定的目录, 使无论何时输入一个命令名系统总是查找这些目录。它与 D O S 操作系统中的

P A T H 有类似的定义和功能。例如, 假定在没有设置 PA T H 变量的情况下想复制一个文件,

则需要给该命令输入完整的路径名/ usr/ bin/ cp。但是, 如果已设置了包含目录/ usr/ bin 的

P A T H 变量, 那么只需简单地键入 cp, 系统即可执行这个命令。这是因为系统会在每一个

P A T H 变量所命名的目录中查找 cp 命令, 找到之后即开始执行。使用 PA T H 变量可显著地

简化您的工作。

对于 Bourne 和 Korn S H E LL, 在.profile 文件中(在起始目录中)使用下列语法来指定

P A T H 变量:

$ PA T H = .:/ usr/ bin:/ home/ bin

此处 home代表起始目录的路径名。

对于 C S H E LL, 在.cshrc 文件中(在起始目录中)使用下列语法来指定 P A T H 变量:

$ set path = (./ usr/ bin/ home/ bin)

此处 home代表起始目录的路径名。

如果修改 PA T H 变量, 且正运行在 C S H E LL 下, 则可以使用 source 命令使这些变更在

当前窗口中生效, 而不必注销:

$ exam ple % source .cshrc

如果正在运行 Bourne 或 Korn C, 则键入下列命令使这些更改在当前窗口中生效, 而不

必注销:

$ . . profile

61 Solaris是如何使用命令组合和输入/ 输出转向的

命令是用户与 S H E LL 对话单位。它是以换行字符结束的一串字符,S H E LL 输入的一串

字符一般分两部分,第一部分为命令名,第二部分为命令参数,例如:

$ cat file1

08

该命令中的 cat 为命令名,file1 为参数。

SH EL L 可以执行三种命令:

(1)应用程序 用 C 语言或其它语言编写,经编译产生的执行代码。

(2)S H E LL 过程: 用 S H E LL 编制的命令文件。

(3)S H E LL 内部命令: S H E LL 自身命令,如 exit、break 等。

一般情况下,一条命令占用一行。但有时,几条命令也可写在一行中,命令之间用命令复

用符号隔开。

命令复用符共有四个,其作用分别为:

; �两条或两条以上命令顺序执行

& & 如果当前命令执行成功,继续执行下一个命令

‖ 如果当前命令执行失败,执行下一个命令

| 产生一个管道

下面是使用上述四种命令复用符的例子:

$ ls; who;date;pw d

显示: N

chang file3 newfile 当前目录内的文件

am y console Jun 414:41 注册用户信息

Tue Jun 4 14:42:51 CD T 1993 当前时间

/ user/ am y 当前所在的目录(路径)

$m ysort ‖rm mysort.tmp

如果 m ysort不能执行,就删除 m ysort.tm p。

$ls - al| more

按长格式列文件有关信息,同时分页显示。

每个进程都有 3 个打开的文件可供使用,这 3 个文件分别是标准输入、标准输出和标准出

错信息。一般程序(进程)都是从标准输入输入数据,输出结果送到标准输出文件,出错信息送

到标准出错文件。系统缺省的标准输入为键盘,标准输出为显示器。如果用户不想从标准输

入/ 输出设备上,输入/ 输出数据, 就可借助 S H E LL 的输入/ 输出重定向符号,根据自己的意愿

输入/ 输出数据文件。

SH EL L 的标准输入、输出和出错信息重定向符号分别为“ < ”、“ >”和“ > & ”。使用三种

符号的例子如下:

$ cat/ etc/ hosts

显示可能为:

129.9.200.30 M D L280

129.9.200.2 H U A N G

129.9.200.101 axp1

129.9.200.102 axp2

$ cat< / etc/ hosts > aa

$ cat aa

18

显示为:

129.9.200.30 M D L280

129.9.200.2 H U A N G

129.9.200.101 axp1

129.9.200.102 axp2

$ cc file.c > & file.error

编辑 file.c 程序产生的错误,输出到 file.error 文件中。

62 如何更改命令提示符

用来改变命令提示符的语法, 取决于正在使用的是 Bourne SH EL L、Korn S H E LL 还是

CS H E LL。

62.1 Bourne 和 Korn Shell

对于 Bourne 和 Korn Shell, 可使用 PS1 命令来重定义命令提示符。下面是 3 个示例:

$ PS1 =“:” (提示符为冒号:)

$ PS1 =“‘hostna me’:” (提示符为机器名,后跟一冒号)

$ PS1 =“‘hostname’{’id’}}:” (提示符为机器名,后跟注册名,两边加大括号,接一冒号)

如果把上述设置的任一种写入用户注册目录的.profile 文件中,在以后的每次注册或启动

时,均会出现指定提示符。

62.2 C Shell

对于 C Shell, 可使用 set pro mpt命令来重定义命令提示符。下面是 3 个示例:

set prom pt =“ !” (提示符为感叹号 !)

set prom pt =“‘hostname’:” (提示符为机器名,后跟一冒号)

set prom pt =“‘hostname’{’id’}}:” (提示符为机器名,后跟注册名,两边加大括号,接

一冒号)

如果把上述设置的任一种写入用户注册目录的.cshrc 文件中,在以后的每次注册或启动

时,均会出现指定提示符。参看问题 64 中的.cshrc 文件的实例。

63 别名与链接有何异同

别名是 c S H E LL 提供的一种机制。别名机制允许用户创建命令名的别名, 这对于简化

命令级操作尤其有用, 因为用户不但可以将烦琐的命令名用简洁的名字代替, 而且可以将多

个命令组合成一个名字。其实, 不但命令可以起别名, 其它可运行的应用程序均可起别名。

同时, 命令别名可以减少误操作, 例如, 用户用 rm 命令删除文件时, 系统立即删除;而如用

户把“rm - i”命令串定义别名为 rm, 用户再用 rm 删除文件时, 系统会一一提示用户是否删

除某个问题。参看表 5 - 4。

28

表 5 - 4 键接与别名的比较

项 目

类 别 链 接 别 名

命令类别 Solaris 命令 C S H E L L 命令

命令名和格式 ln 老文件名 新文件名 alias 原命令名 别名

命令参数类型的限制 所有文件均可充当原文件参数只有命令或可执行程序

才有必要充当原命令参数

命令参数的格式 原文件只能为已存在的合法文件名原命令名可为已存在的命令名,

也可为多个命令组成的命令串

原文件和原命令的使用 链接文件不影响原文件的使用别名将代替原命令名的使用,如想使用

原命令名可在别名前加一反斜杠( \ )

权 限 链接文件与原文件具有相同的权限 别名命令与原命令具有相同的权限

内 容 磁盘上文件的内容不论是别名还是链接,文件的内容在物理磁盘上只有一份

优 点 可提高文件访问速度节省磁盘空间 简化命令的输入防止误操作的发生

链接是 Solaris 的文件共享机制, 它允许一个文件内容可有多个名字, 实现多个名字共享

一个文件内容。文件链接的最大优点是可提高文件的访问速度, 同时又节省磁盘空间。假如

用户在/ var/ adm 目录要访问/ usr/ tmp 目录内的 file 文件, 如果不在/ var/ adm 下建立 file 文件

的链接, 那么访问 file 时, 系统会按缺省(预定义)的路径去查找 file; 当定义了 file 的链接时,

系统就会直接在当前目录查找 file。

创建命令别名可用 c SH EL L 内部命令 alias。alias 命令语法格式为:

alias 别名 原命令串

例如:

alias rm ″rm - i″

alias cd ’cd * ;eoho$cw d’

alias h ’history * |head 39| more’

alias dir ls

alias 可以在操作系统提示符状态下的任何时间执行, 也可以放在用户注册目录中的

.cshrc文件中。用户注册时, 系统会自动执行. cshrc 文件。请参考问题 64 中的.cshrc 文件实

例。

删除命令别名用 .unalias命令。

如果有时偶而用户要使用命令别名对应的原名, 可在别名前加一反斜杠“ \”。

建立文件链接可用 Solaris 的ln 命令。ln 命令的语法格式为:

ln [ - s] oldname newname

其中, oldname 为文件原有的名字, new name 为新建起的别名。

- s 选项表示为符号链接。文件链接有硬链接和符号链接两种, 硬链接是指同一文件系

统的文件链接; 而符号链接是指跨文件系统的链接。

不论是硬链接还是符号链接, 新文件获得的权限与原文件一样, 并且新文件的权限是不

允许修改的。

38

64 如何设置 C SH E L L 变量

组成 S H E LL 命令的字可以是 SH EL L 变量。SH EL L 用相应变量的值来替换这些变量。

SH EL L 通常有两种变量,用户定义的 S H E LL 变量、位置参数变量。

64.1 用户定义的 S H E LL 变量

用户定义的 S H E LL 变量的名字由以字母打头的字母数字串组成, 它可被赋予字符串之

类的值。三种 S H E LL 对用户自定义变量的赋值方式有所不同。

C S H E LL 赋值方式为:

setenv 变量名值 (定义环境变量专用)

set 变量名 = 值

如:set A =″this is″

Bourne SH EL L 和 Korn S H E LL 变量赋值方式为:

名字 = 值

例如: path = ho me1

一般情况下,用户可以任意选择用户定义的 S H E LL 变量的名,但 SH EL L 的几个特殊用

户定义变量的变量名不能随意指定。三种 S H E LL 的特殊变量较多。现举例如表 5 - 5。

表 5 - 5 特殊用户定义的变量(保留变量)

C S H E L L B O U R N E S H E L L K O R N S H E L L

H O M E H O M E H O M E

P A T H P A T H P A T H

M AIL C D P A T H S H E L L

S H E L L M AIL M AIL

L A N G M AIL C H E C K M AIL C H E C K

用户可以显示变量的值。显示变量值的方法有两种,一是使用 echo 命令显示单个变量的

值;二是使用 set 命令,显示所有变量的值。

例如:要查看 S H E LL 变量的值,可用如下命令:

$ echo $SH EL L

要查看所有变量的值,可用如下命令

$ set

用户可以用 unset 或 unsetenv 命令清除用户定义的 S H E LL 变量。对于 B S H E LL 和 K

SH EL L 使用如下命令清除 S H E LL 变量:

unset 变量名

对于 c SH EL L,使用如下命令清除 SH EL L 变量:

unset 变量名(清除一般 c S H E LL 变量)

unsetenv 变量名(清除 c S H E LL 环境变量)

64.2 位置参数变量

SH EL L 命令文件可以作为命令执行,因此可以指定命令参数。S H E LL 命令参数可以定

48

义为位置参数变量。变量名用$加数字组成,如$1、$2 等。下面是使用位置参数的一个例

子。

SH EL L 过程 cc1:

echo“This is a c co mpiler”

echo“Please W ait”

cc $1.c - o $2 - lgks - xlib

如果要用 cc1 编译 file1.c文件,目标文件为 file2,那么就可以按如下方式执行 cc1:

$ cc1 file1 file2

此命令执行时,file1 代替 cc1 中的$1,file2 代替 cc1 中的$2。

下面是一个 C SH EL L 环境文件的例子。

$ m ore .cshrc

# !/ bin/ csh

#

#

# + - - - - - - - - - - - - - - + Generic .cshrc file supplied with Geonet 4.0

#

#

# | Schlum berger | This script is an exa mple. It should work with most

#

# + - - - - - - - - - - - - - - + configurations. Have the ad ministrator modify this to

#

# GeoQuest meet your sites individual requirements.

#

#

#

# January 6, 1999

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

# * * * * The following lines M U ST be set for the needed platform * * * *

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

set G N dir sun5 = / master/ Geonet/ gn4c00 00/ solaris �# # Solaris 2.x

set G N dir sgi = / usr/ local/ Geonet/ gn4c00 00/ irix # # SGI IRIX

set G N dir ibm = / usr/ local/ Geonet/ gn4c00 00/ aix # # IB M AIX

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

58

# U ncom ment the following to use the G N U SE R DIR feature of Geonet (see

#

# ’Configuring Geonet’in ’Geonet User’s guide’for more information)

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

# setenv G N U SE R DIR $ H O M E/ geonet

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

# # #

# # #

# # # * * * * * * * * * Nothing below this line needs changing * * * * * * * * *

# # #

# # #

# # #

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

set OS = ′uname - s′ Y# Operating System name

set R EL E ASE = ′uname - r′ # Operating System release

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

#

# SGI IRIX 5.x #

#

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

if (″$OS″= = ″IRIX″|| ″$OS″= = ″IRIX64″) then

if �( !$ ? G N DIR ) then

setenv G N DIR $G N dir sgi

source $G N_DIR/ .gnrc.csh

setenv DISPL A Y ′uname - n′:0.0

set path = (./ usr/ bsd/ usr/ sbin/ usr/ bin/ usr/ etc/ usr/ bin/ X11 $G N_DIR/ bin)

if ( $ ? G N U SE R DIR ) then

set path = ($G N U SE R DIR/ bin $path)

endif

# com ment out or remove the following 6 lines and remove the file

# $ H O M E/ .desktop - machinename/ nodesktop to enable SGI desktop.

68

if ( - d $H O M E/ .desktop -′uname - n′) then

touch $H O M E/ .desktop -′uname - n′/ nodesktop

else

m kdir $H O M E/ .desktop -′uname - n′

touch $H O M E/ .desktop -′uname - n′/ nodesktop

endif

#

endif

limit core 0

endif

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

#

# Solaris 4.1.x and 5.x (Solaris 2.x)

#

#

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

if (″$OS″= = ″Solaris″) then

if ($ ? pro mpt) then

stty sane

stty echoe

stty erase ^H

endif

if (′echo $R E LE ASE |cut - f1 - d.′= = 5) then # Solaris 2.x

if ( !$ ? G N DIR ) then

setenv G N DIR $G N dir sun5

source $G N DIR/ .gnrc.csh

setenv DISPL A Y ′uname - n′:0.0

set path = (./ usr/ openwin/ bin/ usr/ bin/ usr/ ucb/ usr/ etc $ G N_DIR/ bin)

if ( $ ? G N U SE R DIR ) then

set path = ($G N U SE R DIR/ bin $path)

endif

setenv L D LIB R A R Y PA T H ″${ M O TIF LIB}:/ usr/ open win/ lib:/ usr/ lib″

endif

else # Solaris 4.1.x

if ( !$ ? G N DIR ) then

78

setenv G N DIR $G N dir sun4

source $G N DIR/ .gnrc.csh

setenv DISPL A Y ′uname - n′:0.0

set path = (. $X11 R5BIN / usr/ open win/ bin / usr/ bin / usr/ ucb / usr/ etc $ G N

DIR/ bin )

if ( $ ? G N U SE R DIR ) then

set path = ($G N U SE R DIR/ bin $path)

endif

setenv L D LIB R A R Y PA T H ″${X11R5LIB}:${ M O TIF LIB}:/ usr/ lib″

endif

endif

limit core 0

endif

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

#

# IB M AIX 4.1. X

#

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

if (″$OS″= = ″AIX″) then

if ( !$ ? G N DIR ) then

setenv G N DIR $G N dir ib m

source $G N DIR/ .gnrc.csh

setenv DISPL A Y ′uname - n′:0.0

setenv L D LIB R A R Y PA T H ″${X11R5LIB}:${ M O TIF LIB}:/ usr/ lib″

set path = (./ usr/ ucb/ usr/ sbin/ usr/ bin/ usr/ bin/ X11 $G N DIR/ bin)

if ( $ ? G N U SE R DIR ) then

set path = ($G N U SE R DIR/ bin $path)

endif

endif

limit core 0

endif

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

#

#

88

# H P - U X 10. X

#

#

#

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

if (″$OS″= = ″H P - U X″) then

if ( !$ ? G N DIR ) then

setenv G N DIR $G N dir hp

source $G N DIR/ .gnrc.csh

setenv DISPL A Y ′uname - n′:0.0

set path = (. $ G N DIR/ bin/ usr/ vue/ bin $ X11R5BIN / usr/ bin/ usr/ ccs/ bin/

usr/ contrib/ bin/ usr/ contrib/ bin/ X11/ opt/ upgrade/ bin/ opt/ perf/ bin)

if ( $ ? G N U SE R DIR ) then

set path = ($G N U SE R DIR/ bin $path)

endif

endif

endif

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

# #

# Architecture Independent Stuff #

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

set history = 40

set filec

setenv L PD EST ztek

alias cd ’chdir \ ! * ; pw d’

alias l ’ls - l \ ! * | more’

alias ll ’ls - al \ ! * | more’

alias dir ’ls - l \ ! * | more’

alias psg ’ps - augx | grep \ ! * | grep - v grep’

alias help ’man’

alias h ’history’

alias zw ’xterm - fn 10x20 - fg green - bg black & ’

set prom pt =″‘uname - n‘:‘id | cut - d \ ( - f2 | cut - d \ ) - f1’> ″

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # E N D

98

65 Solaris 1.x 与 2.x 常用命令名和文件名有何差别

Solaris 1.x 与 2.x 常用命令名和文件名的差别见表 5 - 6:

表 5 - 6 Solaris1.x 与 2.x 常用命令名和文件名的差别

项 目

名 称 S O L A RIS 1 g.x S O L A RIS 2 �.x

转储命令 Du m p U fsdu m p

恢复命令 Restore U fsrestore

口令文件 / etc/ passw d / etc/ passw d,/ etc/ shado w

缺省 S H E L L C S H E L L B S H E L L

打印命令 Lpr lp

Lpq lpstat

L prm cancel

运行级别 单多两种运行级别 有 8 �个运行级别

引导文件位置 / etc/ rc * / sbin/ rc * ,/ etc/ rc *

硬盘逻辑名 / dev/ sd * ,/ dev/ rsd * / dev/ [r]dsk/ cwtxdtsz

66 如何解决路径搜索问题

如果用户执行某一命令,系统显示信息“com mand not found”。这可能是由如下两种原因

引起的:系统中不存在该命令;命令的路径不在搜索路径中。

(1) 假如命令的路径不在搜索路径中,系统管理员可以采取如下步骤进行处理:

1)显示当前搜索路径。

2)检查搜索路径的正确性,确信指定命令在搜索路径中。如果路径不需要校正,转第 d

步;否则继续。

3)设置路径。对于不同的 S H E LL,具体命令格式为:

@Bourne and Korn: �path = .:/ usr/ bin:

C: set path

4)激活新的路径。对于不同的 S H E LL,具体启动方法为:

@Bourne and Korn: �. .profile

C: source .cshrc

source .login

(2)假如系统中不存在该命令,系统管理员可以采取如下方法进行处理:

1)从网络中其它工作站相应目录拷贝。可使用 rcp 命令,如:

# rcp host1:/ etc/ mount/ etc

2)如果系统不能启动,无法从网上其它机器拷贝,可从系统 C D 盘上拷贝。步骤为:

a.插入 C D 盘。

09

b.从 C D 盘引导系统到单用户。命令为:

ok boot cdrom - s

c.安装原系统到合适目录。如:

# m ount/ dev/ dsk/ c0t0d0s0/ m nt

d.拷贝相应文件到原系统。

e.重新引导系统。

19

第六章 存储设备的管理和维护

67 如何安装内置硬盘

安装 Sun 内置硬盘的步骤为(参看图 6 - 1 和图 6 - 2):

图 6 - 1 安装内置硬盘

29

图 6 - 2 安装内置硬盘(续)

39

(1)关闭电源,打开主机盖板。

(2)带好腕带。

(3)用螺丝刀撬开 E M I(电磁干扰)门。

(4)将硬盘驱动器从防静电的口袋中取出。根据说明书,设置跨接线或开关。注意:

在 Sun Ultra 工作站中,左侧的内部硬盘驱动器的 SCSI 地址已预设为 0,右侧的内部硬盘驱

动器的 SCSI 地 址 已预 设 为 1。系 统外 接 的 SCSI 设备 地 址 一 定要 使 用 和内 部 地 址

不相同的地址。打开驱动器把手,将驱动器完全推向机箱内。轻轻地推压驱动器使其与主机

连接。

(5)闭合驱动器把手。如果驱动器没有安装好,则无法将把手锁定。

(6)解除腕带,装上主机盖板。

68 如何安装软盘驱动器

安装 Sun 软盘驱动器的步骤为(参看图 6 - 3 和图 6 - 4):

(1)关闭电源,打开主机盖板。

(2)带好腕带。

(3)拆除光盘代用面板和软盘代用面板。

(4)使用十字螺丝刀将系统正面板的两颗螺丝拧下来。

(5)把驱动器托架轻轻地推入机箱,然后提起驱动器托架并移出箱外。

(6)将软盘驱动器从防静电的口袋中取出,阅读产品说明书。

(7)用所提供的 4 个螺丝把软盘驱动器固定到驱动器支架上。

(8)找出软盘驱动器数据电缆线,将 P1 的一端插入连接器 J1201,将 P2 的一端插入软盘

驱动器上。

(9)将直流电源线连接到软盘驱动器。

(10)放置驱动器。

(11)把数据电缆线卡在驱动器托架的夹子里。

(12)固定主机正面的两个螺丝。

(13)装好代用面板,解除腕带。

69 SCSI 设备的优先级如何

连接在 SCSI 控制器上的设备优先级是由其所使用 SCSI 地址决定的。安排如下:

(1)对于 50 线的 SCSI(窄边),优先级从大到小的顺序是:7 到 0。

(2)对于宽边 SCSI(68 线),优先级从大到小的顺序是:7 到 0,然后 15 到 8。这种安排主

要考虑兼容 50 线 SCSI。

(3)主适配器通常使用地址 7。

49

图 6 - 3 安装软盘驱动器

(4)在工作站上,一般安排 0—3 为硬盘驱动器,4—5 安排为磁带机驱动器,6 为 CD -

R O M 驱动器。

59

图 6 - 4 安装软盘驱动器(续)

70 硬盘的逻辑设备名是怎样规定的

在 Solaris 2.0 以上操作系统中,逻辑硬盘设备名约定为:

/ dev/ [r]dsk/ cwtxdysz

cw: 控制器号

tx: 目标号

dy: 硬盘号

sz: 分区号

(1)控制器号(controller num ber):表示连接硬盘的控制器号,如 C0 表示第一个硬盘控制

器,C1 表示第二个硬盘控制器。

(2)目标号( Target nu mber):控制器内的地址号。

69

(3)硬盘号( Disk num ber):连到控制器上的硬盘逻辑号,如 d0、d1 等。

(4)分区号(Partition num ber):标识硬盘的分区。

图 6 - 5 说明了硬盘的逻辑设备名。

图 6 - 5 硬盘的逻辑名

71 如何使用不同种类的 SCSI 硬盘

在 U NIX 工作站上,通常使用 Seagate 的 SCSI 硬盘。Seagate 的 SCSI 硬盘有多种型号,

如:标有“ W D”字样的差分盘,标有“ N”、“ W”、“ W C”和“L C”等字样的单端盘。差分盘的 SCSI

电缆长度可以达到 25 米,而单端盘的 SCSI 电缆最多可达 3/ 6 米。在这些型号的盘中,含有

“ W”字为“ wide”(16 - bit)SCSI 数据总线,其他为标准(non - wide)8 - bit SCSI 数据总线。

“ W”模式的盘,一个 SCSI 控制器可以连接 16 个设备;而标准 SCSI 控制器最多只可连接 8 个

设备。参看图 6 - 6、图 6 - 7 和图 6 - 8。

79

图 6 - 6 窄口和宽口磁盘

图 6 - 7 窄口 SCSI 设备连接示意图(x 最大为 6)

图 6 - 8 宽口磁盘连接方法(x 最大为 15)

89

连接在 SCSI 控制器上的设备优先级是由其所使用 SCSI 地址决定的。对于 50 线的 SCSI

(窄边),优先级从大到小的顺序是:7 到 0。对于宽边 SCSI(68 线),优先级从大到小的顺序

是:7 到 0,然后 15 到 8。这种安排主要考虑兼容 50 线 SCSI。主适配器通常使用地址 7。在

工作站上,一般安排 0—3 为硬盘驱动器,4—5 安排为磁带机驱动器,6 为 C D - R O M 驱动器。

72 什么是 RAID

图 6 - 9 C P U 和硬盘发展速度比较

在过去的十多年中,计算机 CP U 的速

度提高十余倍,但存储数据的硬磁盘的处理

速度却未能跟上。图 6 - 9 说明了两者的巨

大差异。目前已经研制了新的技术来缩小

日益增大的计算机主机和磁盘驱动器之间

的性能差距,这就是现在正在被人们逐渐认

识的磁盘阵列技术。磁盘阵列技术可以详

细地划分为若干个级别 0 - 5 R AID 技术。

R AID 是廉价冗余磁盘阵列( Redundant Ar-

ray of Inexpensive Disk)的简称。某些级别

的 R AID 技术可以把速度提高到单个磁盘驱动器的 400 % 。磁盘阵列把多个磁盘驱动器连接

在一起协同工作,大大提高了速度,同时把磁盘系统的可靠性提高到接近无错的境界。表 6 -

1 介绍了 R AID6 个级别的特点。

表 6 - 1 R AID 的 6 个级别的特点

R AID 级别 描 述 速 度 容 错 性 能

R AID 0 �磁盘分段 磁盘并行输入/ 输出 无

R AID 1 �磁盘镜像 没有提高 有(允许单个磁盘错)

R AID 2 �磁盘分段加汉明码纠错 没有提高 有(允许单个磁盘错)

R AID 3 �磁盘分段加专用奇偶检验盘 磁盘并行输入/ 输出 有(允许单个磁盘错)

R AID 4 �磁盘分段加专用奇偶校验盘需异步磁盘 磁盘并行输入/ 输出 有(允许单个磁盘错)

R AID 5 �磁盘分段加奇偶校验分布在各磁盘磁盘并行输入/ 输出

但比 R AID 0 .稍慢有(允许单个磁盘错)

注:速度提高是指与单一容量磁盘相比。

数据跨盘技术使多个磁盘象一个磁盘那样工作,这使通过组合已有的资源或增加一些资

源来廉价地突破现有的磁盘空间限制。

磁盘分段的方法是把数据写到多个磁盘,而不是只写到一个盘上,这也叫作 R AID 0。由

于磁盘分段的方法是把数据立即写入(读出)多个磁盘,因此它的速度比较快。

磁盘镜像(R AID 1)是容错磁盘技术最传统的一种形式。它最大的优点是数据 100 % 的冗

余。数据写在某一磁盘上,同时也被写在相映的镜像盘上。

99

磁盘分段和数据冗余结合起来就形成了 R AID 2 - 5。R AID 5 把磁盘分段和奇偶冗余技

术的优点结合在一起。R AID 5 把奇偶位信息分散分布在磁盘子系统的所有盘上。R AID 3 是

专门配置一个校验盘,采用专用的校验盘可能会产生 I/ O 瓶颈,即同时产生多个写操作时,每

次操作都要对校验盘进行写入。

73 如何克隆(clone)一个硬盘

克隆(clone)硬盘就是创建一个与原盘内容一样的硬盘。克隆的方法为:

(1)确认原盘和目标盘有一样的几何尺寸。

(2)连接目标盘到工作站。

(3)重新配置系统。可用“boot - r”命令重新引导机器。

(4)以超级用户注册。

(5)对目标盘进行分区,使目标盘分区与原盘一样。

(6)使用 dd 命令拷贝主盘内容到克隆盘。即:

dd if=/ dev/ dsk/ device - name of = / dev/ dsk/ device - name bs = blocksize

其中:

if=/ dev/ dsk/ device - name �指定输入设备为主盘

of= / dev/ dsk/ device - name 指定输出设备为克隆盘

bs = blocksize 指定块大小

(7)安装克隆盘的根文件系统。即:

# m ount/ dev/ dsk/ device - name / m nt

(8)编辑克隆盘根上的 vfstab 文件。即:

# vi/ m nt/ etc/ vfstab

(9)拆除克隆盘的根文件系统。即:

# u mount/ m nt

(10)关闭系统。即:

# init 0

(11)从克隆盘上引导系统至单用户。即:

# boot diskn - s

(12)拆除克隆盘的配置。即:

# sys - unconfig

(13)从克隆盘引导系统。即:

# boot diskn

下面是一个克隆盘的例子:

# init 0

ok boot

# dd if=/ dev/ dsk/ c0t0d0s2 of =/ dev/ dsk/ c0t0d0s2 bs= 100k

# m ount/ dev/ dsk/ c0t0d0s2/ m nt

# cd/ mnt/ etc

001

# vi vfstab

# cd/

# u mount/ m nt

# init 0

# boot disk2 - s

# sys - unconfig

# boot disk2

74 如何替换系统盘

如果由于某种原因致使工作站系统盘损坏,系统管理员和硬件工程师应采取措施,更换一

新的系统盘。更换系统盘一般应采取如下措施:

(1)连接新的系统盘;

(2)引导系统;

(3)初始化硬盘;

(4)创建文件系统;

(5)恢复文件系统;

(6)安装引导块。

74.1 连接新的系统盘

连接新的系统盘可采取如下方法:

(1)关闭工作站电源和外设电源;

(2)拆去原系统盘(松开锁,然后向外拉);

(3)设置新系统盘 target 地址,让它与原系统盘一样(在磁盘的尾部,你可以找到 target 地

址开关);

(4)连接必要的信号线,把新盘安装到原盘位置,并检查其正确性。

74.2 引导系统

新盘安装完毕,系统管理员可以引导系统至单用户,步骤为:

(1)确信含有 Solaris 2.x 的 C D 已经插入 C D - R O M 驱动器;

(2)用“boot cdro m - s”或“boot net - s”引导系统进入单用户。

74.3 初始化硬盘

系统进入单用户后,系统管理员可以使用 format 命令对系统进行初始化。初始化的步骤

为:

(1)如果 Solaris 软件不支持新的系统盘,系统管理员可先修改 format.dat 文件,增加新盘

的有关参数。

格式化文件/ etc/ format. dat 定义了三个项目:搜索路径(search path)、磁盘类型 (disk

type)、分区表(partition table)

在格式化文件/ etc/ format.dat 中使用如下语法格式:

1)以“ #”开始的行为注释行。

2)每一个定义只能在一行中,如遇某一定义数据信息超过一行,应在行尾加一特殊字符反

101

斜杠( \ )。

3)在每一个定义中,每个陈述(assign ment)之间必须用冒号(:)隔开。

4)一些陈述(项目)可以有多个值,值之间应用逗号(,)隔开。

5)该文件使用 seach path,disk type 和 partition 三个关键字。

磁盘类型(disk type)参数定义了控制器和磁盘型号,每个 disk type 定义了磁盘的物理

规格。/ etc/ format.dat 文件中包含有 Solaris 支持的所有磁盘的物理规格。

下面是 disk type 定义的示例:

Disk type = ″S U N0535″

: ctlr = SCSI : fmt time = 4 \

: ncyl = 1866: acyl = 2 : pcyl = 2500 : nhead = 7 : nsect = 80 \

: rmp = 5400

Disk type = ″S U N0669″

: ctlr = SCSI : fmt time = 4 \

: trks zone = 15 : asect = 5 : atrks = 30 \

: ncyl = 1614 : acyl = 2 : pcyl = 1632 : nhead = 15 : nsect = 54 \

: rmp = 3600 : bpt = 31410

Disk type = ″S U N1.0 G″

: ctlr = SCSI : fmt time = 4 \

: trks zone = 15 : asect = 5 : atrks = 30 \

: ncyl = 1703 : acyl = 2 : pcyl = 1931 : nhead = 15 : nsect = 80 \

: rmp = 3597 : bpt = 41301

分区(partition)关键词用于定义分区表。在这个关键词中使用 disk 和 ctlr 两个识别符。

disk 是指被定义的磁盘的名字,ctlr是指被定义的磁盘使用的控制器类型。目前 solaris 支持的

控制器有 SCSI 和 IPI 两种。在 partition 中,还使用了“0”至“7”8 个数字作为分区区号识别

符。这些识别符定义了每个分区的扇面数。下面是 partition 定义的一个例子:

Partition = ″S U N0535″\

: disk = ″S U N0535″: ctlr = SCSI \

: 0 = 0,64400 : 1 = 115, 103600 : 2 = 0, 1044960 : 6 = 300, 876960

Partition = ″S U N0669″ \

:disk = ″S U N0669″: ctlr = SCSI \

: 0 = 0, 32400 : 1 = 40, 64800 : 2 = 0, 1307340 : 6 = 120, 1210140

Partition = ″S U N1.0G″ \

:disk = ″S U N1.0 G″: ctlr = SCSI \

: 0 = 0, 32400 : 1 = 27,64800 : 2 = 0, 2043600 : 6 = 81, 1946400

format 实用程序使用下面的方法寻找 format.dat文件的位置:

1)如果在命令行中,使用 - x 选项,同时带有文件名,format 命令就使用该文件作为 for-

mat数据文件。

2)如果在命令行中,未使用 - x 选项,format 命令将到当前目录寻找格式化文件 format.

dat。

201

3)如果上述两种方法均无效,format命令将把/ etc/ format.dat文件作为格式化数据文件。

无论如何这个文件应该存在。

(2)创建 reconfigure 文件:当系统被引导后,这个文件将被读取。创建 reconfigure 文件的

命令 :

# touch/ reconfigure

当系统启动时,reconfigure 文件使系统软件检查新安装的外部设备。

(3)关闭系统。命令:

# halt

(4)重新引导系统到单用户。命令:

ok boot cdrom - s

或:

ok boot net - s

(5)对硬盘进行分区。

1)启动 format 实用程序:

# format

Searching for disks...done

A V AIL A BL E DIS K SE LE C TIO N S:

0. c0t0d0 < SE A G A T E - ST32151 W - 0592 cy1 4162 alt 2 hd 8 sec 126 >

/ sbus @ 1f,0/ S U N W ,fas @ e,8800000/ sd @ 0,0

1. c1t0d0 < Seagate ST34371 W D cy1 5147 alt 2 hd 10 sec 165 >

/ sbus @ 1f,0/ Q L G C,isp @ 2,10000/ sd @ 0,0

2. c1t1d0 < Seagate ST34371 W D cy1 5147 alt 2 hd 10 sec 165 >

/ sbus @ 1f,0/ Q L G C,isp @ 2,10000/ sd @ 1,0

Specify disk (enter its nu mber):

2)从屏幕上所显示的硬盘列表中,选择需要分区的盘的盘号:

Specify disk (enter its nu mber): 3

selecting c1t2d0

[disk formatted]

W arning: Current Disk has m ounted partitions.

F O R M A T M E N U:

disk �- select a disk

type - select (define) a disk type

partition - select (define) a partition table

current - describe the current disk

format - format and analyze the disk

repair - repair a defective sector

301

label - write label to the disk

analyze - surface analysis

defect - defect list management

backup - search for backup labels

verify - read and display labels

save - save new disk/ partition definitions

inquiry - show vendor, product and revision

volname - set 8 - character volume name

quit

format >

3)进入分区菜单:

format > partition

P A R TITIO N M E N U:

@0 &- change‘0’partition

1 - change‘1’partition

2 - change‘2’partition

3 - change‘3’partition

4 - change‘4’partition

5 - change‘5’partition

6 - change‘6’partition

7 - change‘7’partition

select - select a predefined table

m odify - modify a predefined partition table

name - name the current table

print - display the current table

label - write partition map and label to the disk

quit

partition >

4)显示当前分区表:

partition > print

Current partition table (original):

Total disk cylinders available: 5116 + 2 (reserved cylinders) h

Part � Tag �Flag � Cylinders d Size - Blocks

0 root w m 0 - 2482 1000.23 M B (2483/ 0/ 0) 2048475

1 swap wu 2483 - 5114 1.04 G B (2632/ 0/ 0) 2171400

2 backup w m 0 - 5115 2.01 G B (5116/ 0/ 0) 4220700

3 unassigned w m 0 0 (0/ 0/ 0) 0

4 unassigned w m 0 0 (0/ 0/ 0) 0

5 unassigned w m 0 0 (0/ 0/ 0) 0

401

6 unassigned w m 0 0 (0/ 0/ 0) 0

7 unassigned w m 0 0 (0/ 0/ 0) 0

partition >

5)修改分区:

partition > M odify

6)设置 free hog:

choose base (enter num ber) [0] ?1

7)创建新的分区表。

8)确定分区大小。当增加一个系统盘时,必须设置如下分区:根区(0)、交换区(1)、/ usr

区(6)

9)确认新建分区表。如果你不想要当前分区表,可以回答“no”,然后回到第 e步。

10)给分区表命名。

11)当分区结束后,标记这个带有新分区表的盘。

12)退出分区菜单。

13)退出 format实用程序菜单。

74.4 创建文件系统

创建文件系统可以使用 newfs 命令。newfs 命令的一般格式为:

# newfs/ dev/ rdsk/ cntndnsn

其中,/ dev/ rdsk/ cntndnsn 是指被创建的文件系统对应的原始设备名。

文件系统被创建后,可以使用 fsck 命令检查其一致性。如:

# fsck/ dev/ rdsk/ c0t0d0s2

* * / dev/ rdsk/ c0t0d0s2

* * Currently M ounted on/

* * Phase 1 - Check Blocks and Sizes

* * Phase 2 - Check Pathnames

* * Phase 3 - Check Connectivity

* * Phase 4 - Check Reference Counts

* * Phase 5 - Check Cyl groups

FIL E SY ST E M ST A T E IN S U PE R BL O C K IS W R O N G; FIX ?y

22619 files, 354435 used, 606135 free (3095 frags, 75380 blocks, 0.3 % fragmentation)

74.5 恢复文件系统

恢复根(/ )和/ usr 文件系统是安装新系统盘常用的方法。除此之外,系统管理员还可以通

过安装全新系统来创建系统盘,但新系统中并不包含用户在老系统中存放的数据,也许这些数

据很重要,是你花费大量时间才得到的,也许这些数据根本就丢不得。

恢复根和/ usr 文件系统的步骤为:

(1)安装新文件系统到一个临时安装点。即:

501

# m ount/ dev/ dsk/ device - name/ m nt

其中,device - name 是指磁盘分区名,如:c0t0d0s0。

(2)改变工作目录至/ m nt。即:

# cd / mnt

(3)创建磁带设备入口。即:

# tapes

(4)给磁带增加写保护。

(5)使用 ufsrestore 命令恢复根文件系统。即:

# ufsrestore rvf/ dev/ rmt/ n

(6)恢复高级别备份带。从 0 级开始,依次为 1 级,2 级,...,9 级。

(7)删除 restoresy mtable 文件。在恢复时,usfrestore 命令使用该文件对恢复点进行检查。

(8)改变工作目录指根(/ )。

(9)拆卸新创建的文件系统。即:

# u mount/ m nt

(10)检查新建系统。即:

# fsck/ dev/ rdsk/ device - name

(11)插入新磁带至磁带机。

(12)备份新装入的文件系统。

(13)重复第(4)至(12)步,可以恢复/ usr 文件系统。

74.6 安装系统引导块

安装系统引导块可以使用installboot命令。该命令的格式为:

# installboot / usr/ platform/‘uname -i’/ lib/ fs/ ufs/ bookblk / dev/ rdsk/ cntndns0

安装完引导块后,可试着引导系统至多用户,如引导成功,表明引导块安装正确。下面是

给 SPA R Cstation 10 安装引导块的一个例子:

# installboot / usr/ platform/ sun4 m/ lib/ fs/ ufs/ bootblk / dev/ rdsk/ c0t0d0s0

75 Solaris如何管理光盘和软盘

Solaris 2.0 以上系统管理光盘和软盘采取了卷管理工具。卷管理就是对可移动的介质进

行自动安装及操作使用。卷是指 C D(光盘)和软磁盘设备。

75.1 通过文件管理器使用 C D 和软磁盘

(1)加载软磁盘,步骤为:

1)打开文件管理器。

2)插入已格式化的软磁盘。

3)在命令窗口输入“volcheck - v”通知卷管理器自动安装软磁盘。

4)在文件管理器中选择磁盘目录/ floppy。若根下无此目录,则建立该目录。

选择目录/ floppy/ floppy0,磁盘内容将在显示窗口显示。 - 蛁

注意:在 Solaris 2.0/ 2.1 系统中,软磁盘对应的目录为/ dev/ diskette。 - �

(2)加载 CD(光盘),步骤为:

601

打开文件管理器,插入 CD,系统将对 CD 进行几秒种初始化,选择 C D 连接目录/ cdrom/

cdrom 0, C D 内容则在显示窗显示。 - 穀

注意:在 Solaris 2.0/ 2.1 系统中,光盘对应的目录为/ dev/ dsk/ c0t6d0s0。

(3)弹出磁盘及 CD,步骤为:

1)确认磁盘及 C D 已使用完毕,方能退出。

2)选择窗口中的 eject 按键,或是在 Shell窗口中输入“eject cdro m0”退出光盘,输入“eject”

退出磁盘。

(4)从 CD 上拷贝信息,步骤为:

1)检查权限,确保对目录具有写权限。

2)插入 C D。

3)再打开一文件管理器,将要拷贝的文件或目录迁移到新打开的文件管理器所选的目录

中。

(5)在磁盘和系统间移动信息

这个过程可用于移动文件进出磁盘,由于 CD 不能写,故该过程不能用于 C D。

1)检查权限,确保对目录具有读写权限;

2)打开磁盘窗口,(文件管理器);

3)选择要移动的文件或目录;

4)在资源窗口编辑菜单中选“cut;”

5)从磁盘窗口中编辑菜单中选“paste”,所选择的文件或目录就移动到了磁盘上。

75.2 命令行使用 C D

(1)查看 C D 内容:插入 C D,等数秒钟光盘初始化,C D 被安装到/ cdrom 目录,在命令窗口

输入:

# ls - L [ - l] / cdro m/ cdrom0

- L 输出符号联接内容

- l 长格式显式读写权限

(2)从 C D 拷贝信息:C D 上文件或目录可任意访问,如要从 C D 上拷贝文件到文件系统,

则必须对文件系统具有写权限。

1)安装好 C D。

# ls/ cdrom

ls 命令显示已安装的 C D 内容,如无显示则重新加载光盘。

2)拷贝文件或目录。

拷贝文件用“cp”,拷贝目录用“cp - r”

例: 从 CD 拷贝信息,从光盘的 cdrom0 的子目录 animal上拷贝文件 dog.vec 到系统的当

前目录上:

# cp / cdro m/ cdro m0/ animal/ dog.vec .

拷贝目录:

# cp - r / cdrom/ cdrom0/ animal .

(3)检查 CD 工作状态。

1)进入超级用户。

701

2)在命令窗口输入“fuser”命令,fuser命令列表显示当前 C D 的使用情况:

# fuser - u [ - k] / cdrom/ cdrom0

- u 显示使用 CD 的用户

- k 删除使用 C D 的进程

例 1: 找出谁在使用 C D。

# fuser - u / cdrom/ cdrom0

/ cdrom/ cdrom0:6400C(root) 6399c(smith)

例 2: 删除使用 C D 的进程。

# fuser - u - k / cdrom/ cdrom0

/ cdrom/ cdrom0:6400C(root) killed 6399C(smith killed)

(4)弹出 CD。

1)确认 C D 已使用完毕。

2)弹出 C D:

# eject cdrom0

(5)C D 的共享。

对系统进行配置,可使 CD - R O M 设备能够网上共享。

1)进入超级用户。

2)查找 N FS 是否在运行:

# ps - ef | grep nfsd

若有 N FS 运行,则有/ usr/ lib/ nfs/ nfsd 进程显示。

3)从下面选择选项:

nfsd 在运行执行第 8 步。

nfsd 没运行继续第 4 步。

4)建立一个目录为 nfsd 共享:

# m kdir / du m m y - dir

5)在/ etc/ dfs/ dfstab 文件中增加相关行:

# vi / etc/ dfs/ dfstab

share - F nfs - o ro [ - d com ment] / du m my - dir

6)起动 N FS:

#/ etc/ init.d/ nfs.server start

7)确认 N FS 在运行:

# ps - ef | grep nfsd

8)弹出在 C D 驱动器上的 C D 盘:

# eject cdrom0

9)分配超级用户对/ etc/ rm mount.conf的写权限:

# ch mod 644 / etc/ rm mount.conf

10)增加下面行到/ etc/ rm mount.conf:

# File System Shsring

share cdrom *

801

11)删除超级用户对/ etc/ rm mount.conf 的写权限:

# ch mod 444 / etc/ rm mount.conf

12)加载一个 CD。

# share

现在可插入一个光盘,初始化后,其它系统就可访问该 C D。

(6)网上 CD 的使用。

1)建立一个联接目录:

# m kdir directory

2)找出要安装的 C D。

安装一个远程 C D 时不能使用 cdrom0 或 cdrom1 变量名,用 ls 命令在远程系统上的/

cdrom 目录上找合适的 C D 名,如果是自动安装,则可用 cd 命令到安装的 C D 目录下,然后用ls

显示内容。

3)超级用户安装 C D。

# m ount - F nfs - o ro system - name:/ cdrom/ C D - name local - mount- point

其中:

@system - name �只有 CD 的系统名

C D - name 安装的 CD 名

local- mount - point 安装联接远程 CD 的本地目录

确认其它系统的 C D 能够使用,cd 到安装点(建的目录)用ls 命令显示内容:

# ls/ cdrom

例: 访问其它系统上的 CD,使用远程系统 mars 上的 C D,并安装在本地 / cdro m 目录上。

�# cd / net/ mars

# ls / cdrom

cdrom 0 Solsris 5 Install

# su

Password: password

# m ount - F nfs ro mars:/ cdrom/ Solaris 5 Install/ cdro m

# exit

# ls/ cdrom

Solaris 2.5 Install

(7)激光唱盘系统的配置:若系统安装有公共域软件“ W orkman”,系统内部的话筒或耳机

联接到 CD - R O M 设备上,该 Solaris 系统能放置激光唱盘。话筒附加到系统硬件上则不能工

作。

对系统进行适当的配置,就能放置音乐碟,且 W ork man 控制板面自动显示到屏幕上。

1)进入超级用户。

2)编辑/ etc/ rm mount. conf,增加下面行到该文件中:

# action

action cdro m action work man so path/ work man work man option

901

其中:

@path: ,存放 work man 软件的目录。

work man option 由 work man 软件认可的选项。

(8)配置卷管理器:

1)停止卷管理:确保磁盘或 CD 无人使用;进入超级用户;输入 stop 命令,即:

#/ etc/ init.d/ volmgt stop

2)启动卷管理:进入超级用户;输入 Start 命令:

#/ etc/ init.d/ volmgt start

75.3 软磁盘的格式化和使用

在格式化磁盘时,输入不同的选项就可对不同密度的软磁盘进行格式化。

(1)格式化 U FS 磁盘:

1)退出文件管理器。

2)确保磁盘无写保护。

3)插入磁盘。

4)输入格式化命令:

# fdformat - v - u [density - options convenience - options]

其中:

�- v g确认是否格式化

- u 卸掉已安装的磁盘

density - options 密度选项,见表 6 - 2。缺省为 1.44 M b

convece - option 方便选项

- e 格式化完成后自动弹出磁盘

- f 强行格式化不询问是否确认

- b label 磁盘名,label(标签)必须是不多于 8 个字符。

- Z 显示所有 format 命令选项,但不对磁盘进行格式化。

011

表 6 - 2 For m at命令的主菜单各项描述

命令或菜单名 类 型 用 途

Disk 命令 列出系统的所有硬盘

T ype 命令 识别制造商和当前硬盘的型号

C urrent 命令 显示当前硬盘的信息(设备名、型号、柱面、扇区、磁道数和物理设备名)

Form at 命令 格式化当前的硬盘

Fdisk 菜单 此命令只在 X86 �机上用

R epair 命令 修复硬盘的某些块

Label 命令 为当前的硬盘写新的 label表

Analyze 菜单 运行读、写、比较测试

D efect 菜单 恢复或显示硬盘的缺损表

Backup 命令 搜寻备份的 label 表

Verify 命令 显示硬盘的信息

Save 命令 存储新盘及其分区信息

Inquiry 命令 显示销售商及 S CSI 硬盘的发展水平

V olu me 命令 用一个新的 8 �位字符标注卷名

Q uit 命令 退出 form at 菜单

例 1:格式化一个 U FS 磁盘,在 1.44 M 的驱动器上格式化 1.44 M 软盘。

# fdformat - v - u

例 2:格式化一个磁盘,并给磁盘命名为 m yfiles

# fdformat - v - u - D - b m yfiles

(2)在磁盘上放置 U FS 文件系统:

1)格式化软盘:

# fdformat [选项]

2)重新插入磁盘。

3)通知卷管理器,磁盘则自动安装在/ floppy 目录上:

# volcheck - v

(3)格式化一个 D O S 磁盘:

1)退出文件管理器。

2)确保磁盘无写保护。

3)插入磁盘。

4)格式化:

# fdformat - v - u[密度选项,便利选项]

密度选项:如果驱动器密度是 1.4 M ,则选项:

@- d �格式化 1.44 M M S - D O S 格式

- d - D 格式化 720 K B M S - D O S 格式

- t nec - M 格式化 1.2 M N EC - D OS 格式

5)弹出磁盘:

111

# eject floppy0

6)重新插入该磁盘并通知卷管理器:

# volcheck - v

76 如何对硬盘进行格式化

Format是硬盘格式化命令,它会清除盘上的一切数据,用此命令务必慎重。此命令只能

在超级用户下使用,否则会出现如下提示:

Searching for disk ... done

No permission (or no disk found) !

在运行 format 命令前必须:

(1)将硬盘上有用的文件备份。

(2)用 format dum p 命令存储 defect 清单(包括设备类型、型号、系列号)。

在命令窗口执行以下命令,即可对硬盘格式化:

# format

该命令显示的信息格式大致为:

Searching for disks...done

A V AIL A BL E DIS K SE LE C TIO N S:

0. c0t1d0 < SE A G A T E - ST15150 N - 0023 cyl 3696 alt 2 hd 21 sec 108 >

/ io m m u @ f,e0000000/ sbus@ f,e0001000/ espd ma @ f,400000/ esp @ f,800000/ sd @ 1,0

1. c0t3d0 < S U N1.05 cyl 2036 alt 2 hd 14 sec 72 >

/ io m m u @ f,e0000000/ sbus @ f,e0001000/ espdma @ f, 400000/ esp @ f,800000/ sd @

3,0 / sbus @ 1f,0/ Q L G C,isp @ 3,10000/ sd @ 4,0

2. c2t5d0 < Seagate ST34371 W D cyl 5147 alt 2 hd 10 sec 165 >

/ sbus @ 1f,0/ Q L G C,isp @ 3,10000/ sd @ 5,0

3. c2t6d0 < Seagate ST34371 W D cyl 5147 alt 2 hd 10 sec 165 >

/ sbus @ 1f,0/ Q L G C,isp @ 3,10000/ sd @ 6,0

4. c2t8d0 < SE A G A T E - ST39173 W D - 5764 cyl 7499 alt 2 hd 10 sec 237 >

/ sbus @ 1f,0/ Q L G C,isp @ 3,10000/ sd @ 8,0

5. c2t9d0 < SE A G A T E - ST34371 W - 0484 cyl 5147 alt 2 hd 10 sec 165 >

/ sbus @ 1f,0/ Q L G C,isp @ 3,10000/ sd @ 9,0

Specify disk (enter its nu mber): 0

c0t1d0 是硬盘的物理名, < > 中的内容是硬盘的物理设备名和逻辑设备名,0 号盘(target 1)

连在 SCSI连接器的第一个口(esp. @ 0...),即第一个 SBus 总线设备上(sbus @ 1...),1 号盘

连在 SCSI 连接器的第二个口,以此类推。

Format命令的主菜单如下:

F O R M A T M E N U:

@disk 7- select a disk

211

type - select (define) a disk type

partition - select (define) a partition table

current - describe the current disk

format - format and analyze the disk

repair - repair a defective sector

label - write label to the disk

analyze - surface analysis

defect - defect list management

backup - search for backup labels

verify - read and display labels

save - save new disk/ partition definitions

inquiry - show vendor, product and revision

volname - set 8 - character volume name

quit

format >

Format命令的主菜单各项描述见表 6 - 2。

76.1 Partition 菜单

进入 partition 菜单:

format > partition

P A R TITIO N M E N U:

@0 �- change‘0’partition

1 - change‘1’partition

2 - change‘2’partition

3 - change‘3’partition

4 - change‘4’partition

5 - change‘5’partition

6 - change‘6’partition

7 - change‘7’partition

select - select a predefined table

m odify - modify a predefined partition table

name - name the current table

print - display the current table

label - write partition map and label to the disk

quit

partition >

partition 菜单项描述如下:

�select �选择一个已定义的分区表

311

m odify 改变分区表,此命令在“change‘x’partition”项之前执行

name 定义当前的分区表名

print 显示当前的分区表

label 写分区表并 label当前硬盘

quit 退出 partition 菜单

硬盘的分区不是随意的,要遵循一定的规则:

(1)每个硬盘分区仅支持一个文件系统。

(2)每个文件系统只能用一个硬盘分区。

(3)每个硬盘最多可分 8 个区,即 0 - 7 区,其中/ 在 0 区,swap 在 1 区,/ usr 在 6 区。参考

图 6 - 10。

图 6 - 10 硬盘分区和文件系统76.2 Analyze 菜单

format > analyze

A N A L YZE M E N U:

@read �- read only test (doesnt’harm SunOS)

refresh - read then write (doesn’t harm data)

test - pattern testing (doesn’t harm data)

write - write then read (corrupts data)

com pare - write, read, co mpare (corrupts data)

purge - write, read, write (corrupts data)

verify - write entire disk, then verify (corrupts data)

411

print - display data buffer

setup - set analysis parameters

config - show analysis parameters

quit

analyze >

Analyze 菜单项描述:

@read �读硬盘的每个扇区,并修改缺损表

refresh 刷新硬盘(先读, 再写硬盘中的数据),并修改缺损表

test 按块测试硬盘,并修改缺损表

write 写盘后再读,将破坏硬盘数据

com pare 先在缓冲区写盘,然后比较数据,将损坏已存在的数据,并修改缺损

purge 删除盘上的所有数据,数据将不能恢复

verify 校验数据(先在整个硬盘的每个块上写数据,然后读),此过程会损坏

数据,并修改缺损表

@setup � 设置如下分析参数:

Analyze entire disk ? Yes

Starting block num ber: depends on drive

Ending block nu mber: depends on drive

Loop continuously ? no

N um ber of passes: 2

Repair defective blocks ? Yes

Stop after first error ? No

Use random bit patterns ? No

N um ber of blocks per transfer:126(0/ n/ nn)

(以上显示的是缺省值。)

config 显示当前的分析参数

quit 退出 analyze。

76.3 Defect菜单

format > defect

D EFE C T M E N U:

@primary �- extract manufacturer’s defect list

grown - extract manufacturer’s and repaired defects lists

both - extract both primary and grown defects lists

print - display working list

dum p - dum p working list to file

511

quit

defect >

Defect菜单项描述如下:

primary 读生产商提供的原始缺损表,并修改当前的缺损表

grown 读当前的缺损表,并修改之

both 读原始的和当前的缺损表,并修改之

print 显示当前的缺损表

dum p 将缺损表存为一个文件

quit 退出 defect

76.4 Format.dat 文件介绍

/ etc/ format.dat 是 format 命令执行时要调用的文件,它包含了硬盘设备的类型、缺省

分区表。Solaris操作系统的 format.dat 文件支持多种标准硬盘,如果盘的类型在 format.dat

中不存在,运行 format时机器会提示,也可编辑 format.dat文件为它新增一个入口。

format.dat文件包括三方面内容:搜索路径、硬盘类型、分区表。

其中, # 是注释符,其后的内容 format不执行;format.dat文件中的每组定义都是一个单

独的逻辑行,如果定义超过一行,在每行尾加反斜杠 \ ;每个定义都有若干个域组成,定义的左

侧为标识符,右侧为一个或多个值,它们由逗号分开。标识符与值之间由“ =”连接,每个定义

必须由“:”分开;format. dat 的每个定义都是由下面的几个关键字组成:search path、disk

type 和 partition。

search path:设置逻辑设备的查找路径。此关键字在 format.dat 中不常用,因为 format

命令会到/ dev 下查找逻辑设备。

disk type:定义控制器和硬盘的物理信息。Solaris 2.x 支持的控制器和硬盘都作为缺省数

据。如果要增加一个 Solaris 2.x 不支持的硬盘,只需在 format.dat中增加一个 disk type项。

partition:为硬盘定义分区表。

disk type 定义的项:

(1)ctlr 定义有效的硬盘控制器类型。目前有效值是 SCSI 和 ISP - 80(IPI 控制器)。

(2)ncyl定义硬盘的逻辑柱面数。

(3)acyl定义硬盘预备的柱面数。这些柱面被 format 用来存放缺损表,通常至少应留两个

柱面作预备柱面。

(4)pcyl定义硬盘的物理柱面数,它是 ncyl和 acyl之和。

(5)nhead 定义硬盘的磁头数。

(6)nsect定义硬盘中每个磁道的数据扇区数。注意,这仅是数据扇区,不包括磁道中的碎块。

(7)rp m 硬盘每分钟的旋转速率。此信息放在label表中。

(8)下面是一个 disk type 的例子:

disk type = ″S U N1.0G″\

@: ctlr = SCSI : fmt time = 4 \

: trks zone = 15 : asect = 5 : atrks = 30 \

611

: ncyl = 1703 : acyl = 2 : pcyl = 1931 : nhead = 15 : nsect = 80 \

: rp m = 3597 : bpt = 41301

disk type = ″S U N1.05″\

@: ctlr = SCSI : fmt time = 4 \

: ncyl = 2036 : acyl = 2 : pcyl = 2038 : nhead = 14 : nsect = 72 \

: rp m = 5400

disk type = ″S U N2.1G″\

@: ctlr = SCSI : fmt time = 4 \

: ncyl = 2733 : acyl = 2 : pcyl = 3500 : nhead = 19 : nsect = 80 \

: rp m = 5400 : bpt = 44823

disk type = ″S U N2.9G″\ h

: ctlr = SCSI : fmt time = 4 \

: ncyl = 2734 : acyl = 2 : pcyl = 3500 : nhead = 21 : nsect = 99 \

: rp m = 5400

disk type = ″Fujitsu - M 2284/ M 2322″

@: ctlr = X Y450 : fmt time = 4

: ncyl = 821 : acyl = 2 : pcyl = 823 : nhead = 10 : nsect = 32

: rp m = 3600 : bpt = 20480 : bps = 621 : drive type = 2

disk type = ″Fujitsu - M 2333″

@: ctlr = X Y450 : fmt time = 4

: ncyl = 821 : acyl = 2 : pcyl = 823 : nhead = 10 : nsect = 67

: rp m = 3600 : bpt = 40960 : bps = 600 : drive type = 3

partition 定义的关键字是分区表的名,由双引号引起来。分区表定义的项有:

(1)disk 定义分区表的 disk type 名,此名必须与 disk type 中的一样。

(2)ctlr 定义硬盘控制器的类型,当前只有 SCSI 和 ISP - 80 两种。

下面是一个分区表的例子:

#

# Following is a list of sample partition tables for em bedded SCSI disks.

#

partition = ″Q uantum ProDrive 80S″

�: disk = ″Quantum ProDrive 80S″: ctlr = SCSI

: 0 = 0, 16384 : 1 = 64, 32512 : 2 = 0, 198144 : 6 = 191,149248

# partition = ″C D C W ren Ⅶ 94601 - 12G″

: disk = ″CD C W ren Ⅶ 94601 - 12G″: ctlr = SCSI

# : 0 = 0, 32400 : 1 = 27, 64800 : 2 = 0, 2043600 : 6 = 81,1946400

# partition = ″C D C W ren Ⅳ 94171 - 327″

711

# : disk = ″CD C W ren Ⅳ 94171 - 327″: ctlr = SCSI

# : 0 = 0, 31878 : 1 = 77, 59616 : 2 = 0, 629280 : 6 = 221,527786

76.5 格式化硬盘

(1)进入超级用户。

(2)输入 format命令。

(3)输入要格式化的盘号。

(4)选 format菜单中的 format项,然后输入 Y:

�format > format

Ready to format. Formatting cannot be interrupted

77 如何优化磁盘的使用

该问题主要讨论磁盘空间的优化。优化磁盘空间可通过定位无用文件和大的目录来实

现。

77.1 显示已用的块和文件数

使用 df 命令可输出自由磁盘块数和文件数。df 命令的格式为:

df [directory] [ - F fstype] [ - g] [ - k] [ - t]

其中: h

df �此命令不带选项,可输出所有被安装的文件系统的使用情况。

directory 指定的文件系统目录。

- F fstype 只显示指定类型的文件系统的使用情况(以 512 字节为单位)。

- g 显示所有被安装的文件系统的 statvfs结构。请参考下面的例子。

- k 以 k 字节为单位,输出所有被安装的文件系统的使用情况。

- t 显示所有被安装的文件系统的总块数和使用的块数。

例 1:使用不带选项的 df命令:

$ df

输出结果: �

/ �(/ dev/ dsk/ c0t0d0s0 ): �716304 blocks B473390 ^files

/ proc (/ proc ): 0 blocks 1523 files

/ dev/ fd (fd ): 0 blocks 0 files

/ tm p (swap ): 2590912 blocks 94660 files

/ export/ home/ disk11 (/ dev/ dsk/ c1t0d0s7 ): 3138484 blocks 513899 files

/ export/ home/ disk2 (/ dev/ dsk/ c1t1d0s7 ): 4077650 blocks 1990632 files

/ export/ home/ disk3 (/ dev/ dsk/ c1t2d0s7 ): 3885702 blocks 1991746 files

/ master/ zps (/ export/ home/ disk2/ zps):4077650 blocks 1990632 files

/ master/ disk2 (/ export/ home/ disk2): 4077650 blocks 1990632 files

/ master/ disk4 (/ export/ home/ disk4): 5734298 blocks 1998901 files

/ master/ disk9 (/ export/ home/ disk9): 2567082 blocks 1997242 files

811

例 2:使用带选项 k 的 df 命令:

$ df - k

输出结果: �

Filesystem �kbytes �used �avail �capacity �M ounted on

/ dev/ dsk/ c0t0d0s0 1008109 649957 257342 72 % /

/ proc 0 0 0 0 % / proc

swap 1296264 816 1295448 1 % / tmp

/ dev/ dsk/ c1t 0 d 0s7 4176701 32607459 41360407 66 % / export/ home/ disk11

/ dev/ dsk/ c1t1d 0s7 3991229 1952404 1998913 50 % / export/ home/ disk2

/ dev/ dsk/ c1t2d 0s7 3991229 2048378 1902939 52 % / export/ home/ disk3

/ dev/ dsk/ c1t3d 0s7 3991229 1124080 2827237 29 % / export/ home/ disk4

/ dev/ dsk/ c1t6d 0s7 3991229 2733642 1177763 70 % / export/ home/ disk7

/ dev/ dsk/ c1t8d 0s7 3991229 3162220 789097 81 % / export/ home/ disk8

/ dev/ dsk/ c1t9d 0s7 3991229 2707688 1243629 69 % / export/ home/ disk9

/ dev/ dsk/ c1t1 0d 0s7 4176701 1872996 2094870 48 % / export/ home/ disk17

例 3:使用带选项 g的 df命令:

$ df - g

输出结果:

/ (/ dev/ dsk/ c0t0d0s0 ): 8192 block size 1024 frag size

2016218 total blocks 1413408 free blocks 1211788 available 505984

total files 483581 free files 8388608 filesys id ufs fstype

0x00000004 flag 255 filename length

/ tm p (swap ): 8192 block size 8192 frag size

2327600 total blocks 2327264 free blocks 2327264 available 46809

totalfiles 46797 free files 42729472 filesys id / tmp tmpfs fstype

0x00000004 flag 256 filename length

/ master/ disk25 ( master:/ export/ home/ disk25): 8192 block size

8192 frag size 7982448 total blocks 2158896 free blocks 1360656

available 1998976 total files 1959648 free files 43253762 filesys

id nfs fstype 00000000 flag - 1 filename length

/ master/ Geonet ( master:/ export/ home/ disk1/ software/ Geonet): 8192

block size 8192 frag size

8353392 total blocks 1247424 free blocks 829760 available 515200

totalfiles 489991 free files 43253763 filesys id nfs fstype

00000000 flag - 1 filename length

/ ho me/ gqs ( master:/ export/ home/ disk1/ software/ IES X): 8192 block

size 8192 frag size

911

8353392 total blocks 1247424 free blocks 829760 available 515200

totalfiles 489991 free files 43253764 filesys id nfs fstype

00000000 flag - 1 filename length

在上述显示中,“ - 1 filename length”表示在远程文件系统中不统计文件个数。

例 4:使用带选项 t的 df命令:

$ df - t

输出结果: h

/ &(/ dev/ dsk/ c0t0d0s0 ): �716304 �blocks b473390 �files

total: 2016218 blocks 505984 files

/ proc (/ proc ): 0 blocks 1523 files

total: 0 blocks 1612 files

/ dev/ fd (fd ): 0 blocks 0 files

total: 0 blocks 50 files

/ tm p (swap ): 2590848 blocks 94657 files

total: 2592528 blocks 94680 files

/ export/ home/ disk11(/ dev/ dsk/ c1t0d0s7 ): 3138484 blocks 513899 files

total: 8353402 blocks 515200 files

/ master/ disk9 (/ export/ home/ disk9): 2567082 blocks 1997242 files

total: 7982458 blocks 1998976 files

77.2 检查文件的大小

可以使用ls 命令检查文件大小,使用 find 命令寻找大于一定值的文件。

(1)显示文件的大小。在指定目录下,执行如下命令可以显示文件的大小:

$ ls [ - l] [ - s]

其中:

- l 表示以长格式显示文件和目录,单位为字节。

- s 显示文件和目录,单位为块。

例 1:以长格式显示文件和目录

$cd/ tmp

$ls - l

显示结果为:

total 1504 �

- rw - rw - r - - �1 root Sother {6582 Sep 10 09:32 1

- rw - rw - r - - 1 root other 6913 Sep 10 09:33 1.txt

- rw - rw - r - - 1 pjx gqs 2136 Sep 10 15:08 11

- rw - rw - r - - 1 pjx gqs 4392 Sep 10 15:10 14.txt

- rw - rw - rw - 1 root root 15999 Sep 10 15:06 1 mgrd.log

- rw - rw - r - - 1 root sys 9016 Sep 10 08:34 ps data

p - - - - - - - 1 root root 0 Sep 10 08:35 psb back socket

p - - - - - - - 1 root root 0 Sep 10 08:35 psb front socket

021

- rw - - - - - 1 zhao gqs 147584 Sep 10 10:43 sdtdbA A Aa000 Nc

例 2:以块为单位显示文件和目录

$cd/ tmp

$ls - s

显示结果为:

total 1520 h

16 1.txt n16 12.txt

32 lm grd.log 32 ps data

0 psb back socket 0 psb front socket

304 sdtdbA A Aa000 Nc 304 sdtdbA A Aa000aq

304 sdtdbA A Aa000fJ 304 sdtdbcache master:0

(2)寻找大文件。使用如下命令可以寻找大文件:

$ ls - s|sort - nr| more

显示结果为:

�304 Nsdtdbcache master:0

304 sdtdbA A Aa000fJ

304 sdtdbA A Aa000aq

304 sdtdbA A Aa000 Nc

32 ps data

32 lmgrd.log

32 13.txt

total 1568

(3)查找超过一定值的大文件。使用如下命令可以查找超过一定值的大文件:

$find directory - size + nnn

其中: h

directory 2表示要搜索的目录。

+ nnn 以 512 - byte 块为单位的一个数。例如:

$find/ usr - size + 1000

显示结果为:

/ usr/ bin/ xv

/ usr/ ccs/ lib/ libcurses.a

/ usr/ ccs/ lib/ libtermcap.a

/ usr/ ccs/ lib/ libtermlib.a

/ usr/ lib/ fs/ ufs/ ufsrestore

/ usr/ lib/ libc.so.1

/ usr/ lib/ libnsl.so.1

/ usr/ lib/ libp/ libc.a

/ usr/ lib/ pics/ libc pic.a

/ usr/ lib/ libc.a

121

77.3 检查目录的大小

使用 du 命令可以显示目录的大小,使用 quot 命令寻找用户占用磁盘空间的数量。

(1)显示目录的大小。使用 du 命令可以显示一个或多个目录、子目录和文件的大小。命

令格式为:

du [ - as] [directory...]

其中:

du 显示指定目录的大小,但不包括子目录。

- a 显示指定目录中的文件和子目录的大小以及指定目录的总块数。

- s 仅显示指定目录块的总数。

directory 指定的一个或多个目录。

例 1:

$du/ tm p

显示结果为:

16/ tm p/ .pcmcia

16/ tm p/ . X11 - unix

16/ tm p/ . X11 - pipe

464 / tmp

例 2:

$du - a/ tmp

显示结果为:

0/ tmp/ psb front socket

32/ tm p/ ps data

0/ tmp/ psb back socket

0/ tmp/ .pcmcia/ pcra m

16/ tm p/ .pcmcia

16/ tm p/ lmgrd.log

0/ tmp/ .X11 - unix/ X0

16/ tm p/ . X11 - unix

0/ tmp/ .X11 - pipe/ X0

16/ tm p/ . X11 - pipe

6/ tmp/ iesx fulford 08572398255

304 / tmp/ sdtdbcache master:0

16/ tm p/ 1

0/ tmp/ 2

448 / tmp

例 3:

$du - s

显示结果为:

432 / tmp

221

(2)显示各用户占用文件系统的情况。只有超级用户才可用 quot 命令显示各用户占用文

件系统的情况。具体命令格式:

$quot [ - a] [filesystem]

其中: h

- a �以 1024 字节为单位显示所有被安装的文件系统的占用情况。

filesystem 指定的文件系统。

例如:

$ quot - a/ ho me1

显示结果为:

/ dev/ rdsk/ c2t1d0s7: h

3552946 &root

121 gqs

2 hexiong

2 wang

1 param

1 zhao

77.4 寻找和删除老的和不用的文件

在磁盘中,经常有一些不用的或老的文件占用磁盘空间,系统管理员可以使用 ls 和 find

命令定位和删除他们。

(1)显示最新的文件。使用 ls命令可以显示最近被修改或创建的文件,即:

$ ls - t [directory]

(2) �寻找和删除老的和不用的文件。系统管理员可以使用 find 命令删除老的或不用的文

件,即:

# find directory - type f [ - atime + nnn] [ - mtime + nnn] - print > filename

# rm ′cat filename′

其中: h

- atime + nnn @寻找在 nnn 天之内未被访问过的文件。

- mtime + nnn 寻找在 nnn 天之内未被修改过的文件。

Filename find 命令的输出存放到该文件。

例 1:

# find . - type f - atime + 60 - print >/ tm p/ deadfiles

# m ore/ tm p/ deadfiles

显示结果为:

�./ backup/ double.display

./ M ail/ inbox/ .x m hcache

./ GeoFrame/ geoframe 25/ sqlnet.log

./ hp755cm/ designjt.inf

./ hp755cm/ hpglcal4.dl

./ hp755cm/ hpglrtl2.dr

321

./ hp755cm/ hpv1284.dl

./ hp755cm/ install.exe

./ hp755cm/ oemsetup.inf

./ hp755cm/ readme.txt

./ restoredisk

./ fmfilesvisited

例 2:

# rm ′cat/ tm p/ deadfiles′

(3)清除临时目录中的内容。具体步骤为:

1)变为超级用户。

2)改变工作目录到/ tm p 或/ var/ tm p。

3)删除当前目录中的文件。

4)改变工作目录到 mail或 lost + found 或 quotas。

5)删除当前目录中的文件。

(4)清除 core 文件。具体步骤为:

1)变为超级用户。

2)改变工作目录指定目录。

3)执行如下命令:

# find . - name core - exec rm {} \ ;

(5)删除崩溃转储文件。

1)变为超级用户。

2)改变工作目录到/ var/ crash/ system。

3)执行如下命令:

# rm *

# ls

421

第七章 系统管理常见问题处理技巧

78 系统管理员的任务是什么

系统管理员的主要任务是管理和维护计算机系统环境。系统和网络管理维护水平的高低

制约着计算机系统应用水平。作为系统管理员,必须了解计算机硬件系统结构和原理;掌握操

作系统及网络系统的原理和应用;掌握窗口系统的知识,熟悉软件开发技术和支撑工具软件的

实际应用;熟练地安装软件,例如操作系统和支撑工具软件,包括软件版本的升级;熟练地安装

硬件,包括扩充板卡、打印机、终端和调制解调器等;能够栽剪和拼装系统,保持系统轻松、高效

率地运行;能够诊断并排除软件和硬件的故障;经常检查文件系统的使用情况,做好用户的磁

盘空间配额,保证文件系统有足够的使用空间;及时备份并恢复文件系统;时刻保证文件的安

全性,编辑好环境文件,如系统核心配置文件和口令字文件;对外来软件和数据进行计算机病

毒检查,防止计算机病毒入侵网络;时刻保证网络服务器、远程终端和工作站、打印机的正常使

用;建立网络运行日志;研制网络管理的实用软件。

系统管理员所做的许多工作一般是在单用户或特权用户环境下进行的。root 是特权用户

的名称,它也经常被称为超级用户,因为用它登录可以完成大部分系统管理和维护任务。在通

常情况下,不要在超级用户环境下试用执行命令,因为由于 root的能力,任何操作的错误都是

非常危险的。成为超级用户的方法有两种:一种是以 root 命名的专门用户注册登录,另一种

是在一般用户提示符后输入命令。

超级用户一般使用如下命令:

(1)date;

(2)chow n;

(3) wall。

date 命令用于显示或修改系统时间;chow n 命令用于改变文件属性; wall命令用于广播信

息。三命令的语法为:

date m m ddhhnn[yy]

chown [ - R] owner [group] filename

wall [ - a] filename

系统同网络的日常维护管理主要是指网络文件系统的维护与管理。其内容包括:检查文

件系统的一致性,监控磁盘的使用,对文件系统进行压缩重新组织,完成文件系统的备份与恢

复。

对文件系统的一致性检查,主要是用 fsck 实用程序,它是一个交互式的文件系统检查与

修复程序。一般情况下,文件系统的一致性检查是作为上机过程的一部分而自动完成的。特

521

殊情况下,由系统管理员手动进行。它可以检查全部文件系统,也可以检查某一区的文件系

统。如果检查到有不一致性,fsck 可以进行修复。

如果不经常整理磁盘,所使用磁盘空间的百分比会不断地增加,直到被分配的磁盘空间

用完为止。当可分配的磁盘空间用完时,进程的执行将非常缓慢或根本无法进行;一些目

录(如/ tmp 和/ var)在系统运行期间会积累文件。因此,必须监控磁盘的使用,并采取一定措

施以保持磁盘空 间被充 分合理 使用。du、df 和 find 命令 是监控 硬盘 使用 情况 常用 的

命令。

一个文件可能是几个月努力工作获得的结果,也可能它包含的一些数据非常珍贵,不能再

从别处得到。因此万一由于软、硬件故障造成数据丢失时,应该有措施可以恢复被破环了的文

件。系统管理员的一个重要任务就是定期备份磁盘上的文件系统。

文件系统备份有两种形式,一种是周期性的全量转储,另一种是增量转储。全量转储由于

转存整个文件系统,非常费时,因此,不能经常进行,一般每月进行一次,或在系统有大的改变

后进行;增量转存只复制那些上次备份之后修改过的文件,一般每周进行一次。

安全性是指维护主机系统中的资源不被以非法方式使用。主要包括两部分:其一是数据

资源(即文件系统)的安全性,其二是帐户的安全性。这两部分又是相关的,文件系统的安全性

必须为帐户的安全性所操作,而文件系统的非法侵入将导致帐户安全性的破坏。

系统管理员在安全性维护的任务是通过保密字、加密、文件权限、用户监听等手段保障软

件资源不受非法入侵者的使用。

78.1 禁止超级用户在非控制台直接注册

对于工作站/ 服务器来讲,为了安全起见,一般不允许一般用户随便登录超级用户,为限制

用户在终端上直接以超级用户登录系统,可修改/ etc/ default/ login、/ etc/ passwd 和/ etc/ de-

fault/ su 文件。

(1) �修改/ etc/ default/ login, 在该文件中增加如下行:

C O NS O LE =/ dev/ console

(2)如果在该文件中,没有以上内容,用户便可以在终端上直接以超级用户登录系统。

(3)修改/ etc/ passwd 文件,使指定用户可用 su 命令进入超级用户。

超级用户所在的组号为 1,与 root同组的用户可以用 su 命令申请进入超级用户。

(4)修改/ etc/ default/ su 文件,使系统打开 su 命令记帐功能。

以下 @是 Solaris 2.5 系统缺省的关于安全的文件内容:

/ etc/ default/ login:

# ident ″@ ( # )login.dfl 1.7 93/ 08/ 20 S M I″ / * SVr4.0 1.1.1.1 */

# Set the TZ environ ment variable of the shell.

#

# TIM EZ O N E = EST5E D T

# Set the H Z environ ment variable of the shell.

#

H Z = 100

# U LIM IT sets the file size limit for the login. Units are disk blocks.

621

# The default of zero means no limit.

#

# U LIM IT = 0

# If C O N SO LE is set, root can only login on that device.

# Co m ment this line out to allow remote login by root.

# C O N SO L E =/ dev/ console

# P ASSR E Q determines if login requires a password.

P ASSR E Q = Y ES

# A L TSH EL L determinesif the S H E L L environ ment variable should be set

#

A L TSH EL L = Y ES

# P A T H sets the initial shell P A T H variable

#

# P A T H =/ usr/ bin:

# S U P A T H sets the initial shell P A T H variable for root

#

# S U P A T H =/ usr/ sbin:/ usr/ bin

# TIM E O U T sets the num ber of seconds (between 0 and 900) to wait before

# abandoning a login session.

#

# TIM E O U T = 300

# U M AS K sets the initial shellfile creation mode mask. See u mask(1).

#

# U M AS K = 022

# SY SL O G determines whether the syslog(3) L O G A U T H facility should be used

# to log all root logins at level L O G N O TICE and multiple failed login

# attem pts at L O G C RIT.

#

SY SL O G = Y ES

/ etc/ default/ su:

# ident ″@ ( # )su.dfl 1.6 93/ 08/ 14 S M I″ / * S Vr4.0 1.2 */

721

# S U L O G determines the location of the file used to log all su attempts

#

S U L O G =/ var/ ad m/ sulog

# C O N SO L E determines whether attem pts to su to root should be logged

# to the named device

#

# C O N SO L E =/ dev/ console

# P A T H sets the initial shell P A T H variable

#

# P A T H =/ usr/ bin:

# S U P A T H sets the initial shell P A T H variable for root

#

# S U P A T H =/ usr/ sbin:/ usr/ bin

# SY SL O G determines whether the syslog(3) L O G A U T H facility should be used

# to log all su attempts. L O G N O TICE messages are generated for su’s to

# root, L O G IN F O messages are generated for su’s to other users, and L O G CRIT

# messages are generated for failed su attempts.

#

SY SL O G = Y ES

78.2 加入用户帐户

建立主用户组, 保证某帐户仅为可知的人员使用。防止将任何帐户的保密字泄露,被非

法使用。一般情况下,一个帐户仅供一个人使用,以分清责任。

78.3 定期进行系统测试

系统管理员应定期对系统进行 fsck 检查,对新装入的软件进行全面的测试,设立合适的

磁盘分区,定期对网络监视,保障系统的一致性。

在安全性要求较高的系统中,应尽量避免直接以 root 登录。若有人不用 root 帐号登录而

用 su 命令切换到超级用户时,系统可留下入侵者的帐号,作为证据保存。

系统管理员的任务除上述维护管理工作外, 还有系统安装、重新配置系统核心、硬件系统

的扩充与使用等, 这些内容将会在下面详细论述。

79 如何使用系统管理工具增删用户和组

Solaris 2.x 系统为系统管理员提供了一个综合性的管理工具 ad mintool。该工具具有如下

功能:

(1)增删用户和组;

(2)管理打印机;

821

(3)管理网络节点机;

(4)串口设备增删;

(5)软件管理。

在命令行执行“ad mintool”命令串或在文件管理器中双击“ad mintool”文件图标便可以启动

系统管理工具。参见图 7 - 1 和图 7 - 2。

图 7 - 1 系统管理工具

在 U NIX 系统中,任何人上机必须有自己的用户,系统管理员使用的是超级用户,操作人

员和应用人员用的是普通用户,这些用户都有自己的帐号和权限,但每个用户上机之前,必须

有超级用户给建立用户帐号,也就是在系统中进行登记注册。

启动系统管理工具后,在系统管理工具窗口中,点击 browse 菜单,然后选择用户或组,便

可以增删用户或组。参见图 7 - 2 和图 7 - 3。用户创建完成后,系统管理员应该根据用户的

实际需要修改 S H E LL 配置文件。如果使用 C SH EL L,应修改用户注册目录中的文件.cshrc

和.login。

80 如何正确处理挂起的系统

如果系统处于挂起状态(系统并没有真正停机),用户无法进入系统,该如何办呢 ? 正确处

理的方法为:

(1)执行“stop + a”或“break”(在字符终端)键盘操作,回到监控状态。

(2)同步文件系统,即:

ok sync

921

图 7 - 2 增加用户

(3)在系统中断的地方继续运行,即:

ok go

如果在系统启动过程中出现文件系统错误信息,可以手动执行文件系统修复实用程序

fsck,以检查和修复文件系统。然后执行系统重新引导命令 reboot。

031

图 7 - 3 增加用户组

81 什么是系统运行级别

运行级别是一种描述系统如何关闭或引导的软件配置服务。用于启动或停止系统的init进

程适用于每种运行级别。系统的运行级别反映了用户对设备的利用程度,Solaris 软件资源有 8

个运行级别,缺省的运行级别是 3,在/ etc/ inittab 文件中定义。三个最常用的运行级别为:

(1)运行级别 3:是 N FS 资源共享的多用户状态,也是缺省的运行级别。

(2)运行级别 6:从运行级别 3 到运行级别 0,再返回运行级别 3,重新引导系统。通常在

系统重新配置或激活新增的软件时用。

(3)运行级别 0:操作系统被关闭,电源也安全关闭。机器移动、增减外设,都必须使系统

进入运行级别 0 状态。其它 6 个运行级别如表 7 - 1 所示。

使用 who - r命令可以看到系统的运行级别。例:

$w ho - r

.run - level 3 Oct 26 15:04 3 O S

131

表 7 - 1 运行级别

级 别 监控状态 类 型 在该级别下可做的工作

1 �管理状态 单用户 用户可访问所有可读文件

2 �多用户状态 多用户 可进行常规的操作,多用户可以访问整个文件系统,但 N F S 服务不能共享

4 �可选择多用户 多用户 此运行级别当前没有应用

5 �电源关闭状态 电源关闭 关闭操作系统,再关闭电源

S 或 S 单用户状态 单用户 安装并访问所有文件系统

在此例中各项的含义为:

run -level 3 a当前的运行级别

Oct 26 15:04 运行级别最后一次修改的日期

3 当前的运行级别

0 上次重新引导后,在这个运行级别上运行的次数

S 以前的运行级别

使用init 命令可以改变系统运行级别。init命令的语法格式:

init [0123456Ss]

其中,0123456Ss 表示运行级别。

例 1:

# init 0

显示内容大致为:

INIT: New run level:0

the system is down.please wait...

syncing file system ... [11] [9] [5] done

The system is down.

Halted

program terminated

例 2:

# init 6

显示内容大致为:

INIT: New run level:6

the system is down.please wait...

syncing file system ... [11] [9] [5] done

rebooting⋯

82 如何安装和删除软件包

所谓软件包(package)是指完成一种特定功能的软件的集合。它好似一张软盘。与软件

包相关的概念还有族(cluster)。所谓族是指若干个软件包的集合。一个族就好似一套软盘,

每一张软盘都有自己的功能,它们合起来提供一套完整的功能。

231

软件包的管理由如下命令完成:

(1)pkginfo:列表显示已安装的软件包。

(2)pkgadd:增加软件包。

(3)pkgrm:删除软件包。

(4)pkgchk:检查已安装软件的完整性。

Solaris 2.5 提供了一个新版的 Ad mintool,这是一个图形交互界面工具,用此工具可以完

成:

(1)为本地系统增加软件。

(2)从本地系统删除软件。

(3)显示本地已安装的软件。

(4)定义要安装的软件。

(5)为软件指定一个安装目录。

用 Admintool增加软件的步骤为(参看图 7 - 4):

图 7 - 4 增加和浏览软件包

(1)登录超级用户。增加或删除软件必须在超级用户下完成。

(2)启动 Ad mintool:

# admintool &

331

(3)从 Ad mintool的 Browse(浏览)菜单中选择 software(软件)项。

(4)在 Edit(编辑)菜单中选 Add(增加),将出现 Ad mintool:set soure M edia 窗口。定义安

装软件的来源路径,缺省为本地的 CD。

(5)选择本地系统要安装的软件。

(6)最后选 Add,所有安装信息都会显示出来。

删除软件包的方法与增加类似。其步骤大致为(图 7 - 5):

图 7 - 5 删除软件包

(1)登录超级用户。

(2)启动 Ad mintool:

# admintool &

(3)从 Ad mintool的 Browse(浏览)菜单中选择 software(软件)项。

(4)用鼠标器选中要删除的软件包。

(5)在 Edit(编辑)菜单中选 Delele(删除)选项。

83 如何诊断和处理工作站/服务器引导类故障

引导类故障是指系统在引导操作系统时所出现的故障。对于此类故障,可按如下方法进

431

行处理:

(1)如系统找不到引导设备(bootdef - dev),可检查缺省引导设备和引导参数(boot - os-

flags),重新设置或改变缺省的引导设备;用 probe - scsi 命令检查设备参数,并设置引导参数

(如设备 ID 号、设备名等)。

(2)如原设备不能引导,可运行诊断命令检查引导设备,同时交互式地引导系统或用诊断

自举。

84 系统自检正常但引导失败

发生这种故障的原因可能有 4 个:

(1)系统被设置为诊断方式。

(2)引导设备设置为网络。

(3)外设未启动。

(4)引导文件未找到或有错误。

对于第一种原因,系统管理员可以通过如下方法处理:

(1)中断引导过程,即:同时按 stop 和 a 键。

(2)改变引导方式,即:

ok setenv diag - switch ?false

(3)重新引导系统, 即:

ok boot

对于第二原因,系统管理员可以通过如下方法处理:

(1)中断引导过程,即:

同时按 stop 和 a 键。

(2)改变引导方式,即:

ok setenv boot - device diskn

(3)重新引导系统,即:

ok boot

对于第三种原因,系统管理员可以通过如下方法处理:

工作站系统可能会配有磁盘机、磁带机或其它外部设备。系统引导时,要对部分外部设备

进行检测,若检测到外设未启动,系统便可能引导不起来。因此,开机前,首先开启外部设备是

十分必要的。一般情况下,采取如下方式开关工作站是较好的方法。

开机:

(1)启动电源;

(2)启动外设(尤其是外接硬盘);

(3)启动工作站。

关机:

(1)同步文件系统;

(2)逻辑上关闭系统(halt 或 shutdow n);

(3)关闭工作站电源;

531

(4)关闭外设电源。

对于第四种原因,系统管理员可以通过如下方法处理:

(1)如是系统重要文件受损,系统引导便会失败。遇到系统重要文件受损,可按如下方法

处理:

1)插入 Solaris 2.x C D - R O M 。

2)从 C D - R O M 引导系统进入单用户,即:

ok boot cdrom - s

3)安装硬盘上的根文件系统,即:

ok mount/ dev/ dsk/ c0t3d0s0/ a

4)设置终端类型,编辑或复制重要文件,即:

# T E R M = sun

# export T E R M

# vi/ a/ etc/ file

或:

# cp/ etc/ file/ a/ etc/ file

其中, file 可能是 passwd、unix、shadow 等。

5) �拆卸硬盘上的根文件系统,即:

ok u mount/ a

6) �重新引导系统,即:

# reboot

(2)如是根文件系统受损。系统引导时,会自动检查文件系统的一致性,如发现问题,系统

会反复检查,然后引导系统,如引导仍失败,系统会进入单用户方式工作。在此情况下,系统管

理员应按如下方法处理:

手动执行“fsck”命令,以修复文件系统。如经反复修复系统仍不正常,请重新安装系统。

85 系统死锁怎么办

由于受系统资源的限制等原因,进程调度执行过程中,可能会出现死锁现象。处理系统死

锁最简单的方法,是重新启动机器,但这种方法一般是不可取的。针对不同情况,处理系统死

锁可以采取不同的方法。

85.1 系统假死,对敲入的命令无应答

系统有时会出现挂起或死锁,对用户敲入的命令无应答信息。遇到此情况,用户可以按如

下步骤,查找死锁原因:

(1)同时按控制键 + Q 键,看系统是否被控制键 + S 键暂停。

(2)tty 方式可能已混乱,用控制键 + j键代替回车键,如系统有响应,继续敲入控制键 + J

键/ usr/ ucb/ reset控制键 + J 键,使 tty 复位。

(3)如在窗口系统下,确信鼠标标志在窗口内。

(4)同时按控制键 + C 键,终止作业的运行。

631

85.2 局部死锁,控制台仍可接受命令

有时系统出现局部死锁,CP U 利用率非常低,但控制台仍可接受命令。处理此问题可采

用如下两步:

(1)执行 ps命令,查看进程状态,找出引起死锁的进程,然后用“kill- 9 pid”命令终止有关进程。

(2)引起死锁的进程清除后,可查看磁盘空间的利用情况。如文件系统占用超过 95 % ,系

统运行速度也会大大降低。系统管理员可按如下顺序清理文件系统:

1)清除 core 文件,命令为:

find filesystem - name core - exec rm {} \

其中,filesystem 表示特定的文件系统,如果选择根文件系统,系统会在全部目录中查找并

删除 core 文件。

2)清除/ tm p 和/ var/ crash 目录下的文件。

3)关闭记帐系统。

4)通知用户整理自己的目录。

5)备份长时间不用的文件,然后从硬盘上删除。

85.3 系统局部死锁,控制台不接受命令

当系统局部死锁,控制台不接受任何命令时,系统管理员可试着从终端或网上另一台机器

上登录。登录成功后,用 ps 和 kill命令查看并终止引起死锁的进程,最后再按前面叙述的方

法步骤整理文件系统。

85.4 系统局部死锁,拒绝任何用户登录

系统死锁较严重时,可能会拒绝任何用户登录。在此情况下,用户可试着在网上另外一台

工作站上执行 rsh 命令,进而检查清理有关进程和文件系统。具体命令为:

rsh hostname ps

rsh hostname kill - 9 pid

85.5 系统死锁,不接收任何命令

系统死锁严重到不接受以任何方式输入的命令,就意味着死机。此时,系统管理员只能强

行进入监控状态,然后执行 g0 命令,重新引导系统。如执行 g0 命令,系统启动不正常,用户可

以手动执行 fsck 命令,对文件系统进行修复。

86 系统崩溃的处理方法

在系统运行过程中,由于用户程序或硬件原因,可导致系统崩溃。检查系统崩溃问题的第

一条线索是用户所用终端的提示信息。针对不同提示信息,可采取相应措施处理。

用户程序运行过程中,可能会显示下列信息:

Arithmetic Exception �计算异常

Segmentation Fault 段故障

Core Dum ped 核转储

Divide Overflow 除法溢出

以上信息表明,用户程序(包括数据)本身可能有问题,可通过 core 映象找到问题的根源

731

所在。要获得 core 映象,系统必须事先运行 savecore 程序,该程序一般放在系统启动文件 rc

中。具体格式为:

m kdir/ var/ crash/‘hosttname’

intr savecore/ var/ crash/‘hostname’

一旦上述语句被放入系统启动文件中,系统启动后,会自动执行。用户程序崩溃信息便会

存入/ var/ crash/ ’hostname’之中,其中 hostname 将会被当前主机名替代。

系统提供了一条 core 映象调试命令,该命令的语法格式为:

crash [ - d du m pfile] [ - n namelist] [ - w outputfile]

参数 - d 表示 core 映象的名字,参数 - n 表示符号表名字,缺省为/ unix,参数 - w 表示

crash 输出的结果送入文件, 缺省为标准输出。

通过调试工具 crash,可以查出用户程序崩溃的具体位置,以便纠错。

I/ O 错误也会引起系统崩溃。I/ O 错误引起系统崩溃时,系统将显示提示信息“ IO error

in push hard IO error in swap”,表示磁盘或磁盘控制器有问题。若是磁盘上某些块有问题,应

运行 format 实用程序,修复或标记坏块;若是磁盘控制器问题,应交由硬件人员检修。

87 当你忘记了某命令的名字,而又想使用该命令怎么办

由于 Solaris操作系统命令很丰富,用户可能会忘记某些命令的名字,当你忘记了某命令

的名字,而又想使用该命令怎么办呢 ?Solaris 操作系统提供了查找命令名的命令 apropos,使用

该命令,用户可以查到做某种工作有关的一串命令。例如,用户要改变口令字,而忘记了改变

口令字的命令是什么 ?但用户知道口令字的英文单词为 password,那么就可以使用 apropos 命

令,查找改变口令字的命令:即,打入如下命令串:

% apropos password

屏幕上会显示出如下信息:

passwd(1) - change your login password

passwd(4) - password file

一旦找到了 passwd 命令,如还想知道该命令更详细的信息可再使用“ man passwd”命令。

88 如何启动中文 Solaris 软件

使用中文必须满足以下 3 个条件:

(1)将 O PE N W IN H O M E shell变量设置为/ usr/ open win 路径;

(2)将 shell环境中的本地语言环境变量 LA N G 设置成中文;

(3)为汉字编码设置合适的 T T Y 方式。 h

只要在每个用户的.cshrc 文件中包含下列行, 就可以正确地设置上述内容。

831

setenv L A N G zh

setenv O PE N W IN H O M E/ usr/ openwin

set path = (/ usr/ S U N W ale/ bin $O PE N W IN H O M E/ bin $path)

. . .

if ($ ? U SE R ! = 0 �& & $ ? prom pt ! = 0) then

/ bin/ stty cs8 t- istrip defeucw

endif

注意:只有使用/ bin/ stty 才能设置上述内容,请不要使用/ usr/ ucb/ stty,它不能设置全部

所需的内容。

此外,还要确保每个.cshrc 文件在设置用户路径名时将$O PE N W IN H O M E/ bin 放在其

它 Open Windows 文件之前。将下面一行命令放到路径名赋值行的最后可以保证这点。

set path = (/ usr/ S U N W ale/ bin $O PE N W IN H O M E/ bin $P A T H

在确认了.cshrc 文件已正确地设置了中文操作的用户环境之后,就可以按下面所述方法

启动中文 Open Windows 环境:

在系统提示符下输入下面命令来启动中文 Open Windows 环境:

system % openwin

89 超级用户口令忘记怎么办

工作站/ 服务器系统的超级用户口令非常重要,如果不能进入超级用户,系统管理员几乎

无法工作。系统管理员一旦忘记超级用户口令,可采取如下方法补救:

(1)用系统 CD 引导,进入单用户。即:

ok boot cdrom - s

(2)安装硬盘上的根文件系统,即:

ok mount/ dev/ dsk/ c0t3d0s0/ a

(3)设置终端类型,编辑或复制重要文件,即:

# T E R M = sun

# export T E R M

# vi/ a/ etc/ passw d

# vi/ a/ etc/ shadow

(4)拆卸硬盘上的根文件系统,即:

ok u mount/ a

(5)重新引导系统,即:

# reboot

931

90 如何定时自动清理垃圾文件

在文件系统中,经常会有一些垃圾文件存在,定时自动清理垃圾文件十分必要。定时自动

清理垃圾文件可利用 cron 命令文件。/ var/ spool/ cron/ crontabs 目录下的 cron 文件 root 可定

期执行。如指定每天早上 8:00 点 10 分清理 core 文件,在 root文件中可写入如下命令:

10 8 * * * find/ - name core - exec rm - f

cron 命令文件的格式为:

minute hour day month weekday co m m nnd

minute �指定分钟(0 - 59)

hour 指定小时(0 - 23)

day 指定日期(1 - 31)

m onth 指定月份(1 - 12)

weekday 指定星期(0 - 6,0 = Sunday)

com mand 指定要执行的 sh 命令行

91 关机前,为什么一定要进行文件系统同步

如果在关机前未对磁盘作相应的文件系统同步,将有可能导致文件系统的有效性和一致

性出现问题,进而将会可能使系统无法启动。

SunO S 和 Solaris 的文件系统是利用超级块来管理磁盘块的分配的。当系统停止运行时,

超级块中的信息必须写回磁盘。系统启动时首先对文件系统进行有效性和一致性进行检查,

当检查到下面三方面某一点有问题时,便对文件系统进行修复,如经多次修复仍无法全部满足

如下三个条件,系统将会自动停止启动:

(1)检查文件系统超级块信息的一致性,包括文件系统大小、i节点个数、自由块个数和自

由i节点个数。

(2)检查柱面块映象的一致性,包括文件占用块和自由块,确信“自由块 + 占用块”等于全

部数据块。

(3)检查 i节点的一致性,包括已使用的 i节点和还未使用的 i节点,i 节点连接个数的正

确性和未涉及的i节点。

92 如何限制 root的访问

在缺省条件下, Solaris 2.x 只允许 root 用户在主控制台登录系统, 如果系统管理员不想

让人以 root 用户直接登录系统, 可采取如下方法:

(1)作为 root注册。

(2) �使用 vi编辑/ etc/ default/ login 文件。

该文件内容大致如上:

# �TI M EZ0 N E = ESTSE D T;注释行

041

H Z = 100

# �U LI M IT = 4096

C O NS O LE =/ dev/ console

PASSR E Q = Y ES

A L TS H E LL = Y ES

(3) �将上述文件中的 C O N SO L E =/ dev/ console 行变为:

C O NS O LE =

注意:如果删去该行就允许通过网络的远程 root 注册。

(4)保存文件并退出。

另外,在/ etc/ default/ login 文件中,如 PA SSR E Q = Y ES,系统要求没有口令的用户在下一

次增加口令。如 A LT SH EL L = Y ES,则用户环境 S H E LL 设为口令文件中的 S H E L L。

93 系统运行过程中,出现 table is full信息怎么办

在 Solaris或 Sun OS 运行过程中,时常出现如下信息:

filesystem is full

table is full

timeout table overflow

File table overflow

这些警告信息虽不会立即导致系统崩溃,但它会影响系统和作业的运行效率。因些,正确

处理此类问题十分重要。

“File table overflow”信息表明系统可使用的文件数和 V 节点表已使用完毕。一般情况

下,一个活动文件使用一个 V 节点 (V node),每个安装的文件系统使用两个 V 节点,文件系统

的根目录和所安装目录各使用一个 V 节点。打开一个文件使用一个 V 节点,对于 Solaris, 要

改变可使用文件数和 V 节点表可通过修改 param.c 文件中的 nfile 和 nvode 参数来实现。

Param.c 在/ usr/ sys/ name 目录下。

在 Solaris 系统中,nfile 和 nvode 的缺省值一般为:

16 * (( N PP R O * 2) + 16 + M A X U SE RS)/ 10 + 32 和 N PR O C + (2 * M A X U SE R S) + 128。

其中, M A X U SE RS 参数指定最多可有多少个用户能同时使用该系统,缺省值为 32,也可

选 8、16 或 64。

与“File table overflow”类似,“ Timeout table overflow”信息表明系统定义的 M A X C A LL-

O U T 值不够大, M axcallout一般使用缺省值,缺省值由系统根据 M axusers 和其它系统参数自

动产生。

遇到“filesystem is full”信息时,系统管理员可清理文件系统中的垃圾。

94 如何给用户增加磁盘空间

当工作站系统上增加了新的硬盘时,网络上的每一个用户便有机会使用更大的磁盘空间。

为了使网上每一个用户能够使用新增的硬盘,系统管理员做如下工作即可(这里以 NIS 网络

141

系统为例):

(1)在连接有新盘的工作站(以下简称服务器,假设该机器的名字为 gnp09)上,为新盘(假

如该盘 �的名字为 c0t2d0s2,本地安装点为/ export/ newdisk)创建一个文件系统。即:

# newfs/ dev/ rdsk/ c0t2d0s2

# m kdir/ export/ newdisk

(2)编辑服务器上的/ etc/ vfstab 文件,增加一个新的安装点。例如:

# vi/ etc/ vfstab

# device device mount FS fsck mount mount to mount to fsck point

type pass at boot options

#

#/ dev/ dsk/ c1d0s2/ dev/ rdsk/ c1d0s2/ usr ufs 1 yes -

fd - / dev/ fd fd - no -

/ proc - / proc proc - no -

/ dev/ dsk/ c0t0d0s1 - - swap - no -

/ dev/ dsk/ c0t0d0s0 / dev/ rdsk/ c0t0d0s0 / ufs 1 no -

swap - / tmp tmpfs - yes -

/ dev/ dsk/ c0t2d0s2 / dev/ rdsk/ c0t2d0s2 / export/ newdisk ufs 2 yes -

该文件的最后带有阴影的一行为新增硬盘的安装描述。

(3)编辑服务器上的/ etc/ dfs/ dfstab 文件。使新增加的文件系统可以被共享。例如:

# vi/ etc/ dfs/ dfstab

# place share(1 M ) com mands here for auto matic execution

# on entering init state 3.

# share [ - F fstype] [ - o options] [ - d″< text >″] < pathname > [resource]

# .e.g,

# �share - F nfs - o rw = engineering - d″home dirs″/ export/ home2

share - F nfs/ export/ home/ disk1

share - F nfs/ export/ home/ disk2

share - F nfs/ export/ newdisk

该文件的最后带有阴影的一行为新增硬盘的共享描述。

(4)在网络服务器(主服务器)上,编辑文件 auto home。该文件的一个例子如下:

# vi/ etc/ auto home

/ master/ disk20 master:/ export/ ho me/ disk20

/ master/ disk21 master:/ export/ ho me/ disk21

m aster/ disk22 master:/ export/ home/ disk22

/ master/ disk23 master:/ export/ ho me/ disk23

/ master/ disk24 master:/ export/ ho me/ disk24

/ master/ disk25 master:/ export/ ho me/ disk25

241

#

# Application software used

#

/ master/ IESX master:/ export/ ho me/ disk1/ software/ IESX

/ ho me/ gqs master:/ export/ home/ disk1/ software/ IESX

/ master/ Geonet master:/ export/ ho me/ disk1/ software/ Geonet

/ master/ disk50 gnp09:/ export/ newdisk

该文件的最后带有阴影的一行为新增文件系统的安装描述。

(5)重新启动网络服务器和工作站。

95 磁盘交换区的值应怎么确定

磁盘交换区(常称为 b区)是为 SunOS 保留的磁盘区域,它主要用于增强内存虚拟管理性

能。SunOS(Solaris)提供的缺省交换区值为 32 M B 或 64 M B。这个值并不一定是最合适的值。

交换区太小,影响进程的调度,进而影响计算速度;交换区太大,必然造成硬盘空间的浪费。用

户选择交换区大小时,可参考以下几点:

(1)参考工作站所安装的内存大小,交换区的大小应该大于或等于工作站所安装内存的

值,如内存为 128 M B,交换区的值至少应为 128 M B,若能达到 200 M B 左右,那才算比较合

适。

(2)考虑应用程序对交换区的要求,应用程序比较大时,要求的交换区值也应该比较大。

如三维三相数模软件,一般均要 30 M B 以上的交换区。

(3)考虑工作站的显示器,一般工作站均用彩色显示器,彩色显示器至少需要 24 M B 的交

换区。

另外,磁盘交换区(b 区)可以定义在一个以上的盘上,也就是说,如果用户 0 号盘较小,而

交换区的值又较大,那么就可以在 0 号盘定义一个 b 区,再在一号盘定义一个 b 区。假如需要

100 M B 的交换区,那么 0 号盘 b 区可以定义为 40 M B,而 1 号盘 b 区可以定义为 60 M B,两者相

加,刚好符合要求。对于定义了一个以上交换区的系统,在操作系统安装完毕后,还应修改/

etc/ fstab 文件,为 0 号盘之外的每个交换区增加如下行:

/ dev/ sdx swap swap rw 0 0

然后执行如下命令:

swapon - a

96 磁盘的 Free Hog 区应怎样确定

Free Hog(自由占用)是磁盘的一个分区,它为用户自己建立一个磁盘空间,通常对应的目

录为/ ho me。该分区的大小用户不能直接定义,而是由系统根据其它分区(a、b、g)的大小和磁

盘的总空间确定的。因此,只有通过调整 a、b和 g 区的大小,才可调整 Free Hog 区的大小。

在进行 Solaris 1.1 安装时,系统会提示用户,选择 Free - Hog Disk Partiton。在此状态下,

341

用户可选择系统缺省分区为 Free - Hog 分区。在 Solaris 1.1 中,Free - Hog 分区缺省值是按

照如下原则设置的:

硬盘大于 130 M B,Free - Hog 定义为 h 区

硬盘小于 130 M B,Free - Hog 定义为 g区。

97 远程拷贝文件时出现“permission denied”信息怎么办

当用户在工作站网络系统中,远程拷贝文件时,有时会出现“permission denied”信息。遇

到此情况,系统管理员可以做如下处理:

(1)查看被拷贝文件的读写和执行权限。

(2)修改或创建.rhosts 文件。该文件可以放在用户注册目录中。使远程机器中的.rhosts

文件包含本地机的机器名,再实施拷贝就不会出现类似“permission denied”的错误信息了。如

果.rhosts 中含有一个“ +”符号,就说明该机器允许其它网上机器从该机远程拷贝文件。下面

是一个.rhosts 的例子。

$ �m ore .rhosts

gnpo1

gnp02

gserver

ultra2

98 系统在引导期间作了什么工作

每个 SPA R C 系统都有一个 P R O M (Program mable Read - only M emory)芯片,此芯片中有

一个监控程序。操作系统核起作用以前,此程序控制系统的操作。当系统打开时,监控程序作

自检,检查系统的硬盘和内存,如果没有发现错误,系统将进入自动引导过程。参考图 7 - 6。

一些较老的系统在使用 Solaris系统前,可能需要对 P R O M 升级。系统的引导过程如下:

98.1 引导 PR O M 过程

(1)PR O M 显示系统信息,接着运行自检程序,检查系统的硬盘和内存。

(2)P R O M 装载主引导程序/ usr/ platform/‘uname - m’/ lib/ fs/ ufs/ bootblk,其目的是要

装载第二引导程序, 第二引导程序是从缺省的引导设备装入 ufs 文件系统。

98.2 引导程序过程

1)bootblk 程序找到并执行第二引导程序/ platform/‘uname - m’/ ufsboot, 将其装入内存。

2)/ platform/‘uname - m’/ ufsboot 程序装载后, 引导 P R O M 安装 kernel。

98.3 核初始化过程

核初始化,开始装载模块,通过 ufsboot读文件。当核装载足够的模块来安装 root 文件系

统时,它就不再用/ ufboot,而继续使用自己的资源。

98.4 init过程

(1)kernel创建一个用户进程,并启动/ sbin/ init进程,此进程通过读/ etc/ inittab 文件启动

其它进程。

441

图 7 - 6 系统引导过程示意图

(2)/ sbin/ init进程启动 rc 程序,执行一系列的其它源程序。这些 rc(/ sbin/ rc * )程序检查

并安装文件系统,启动不同的进程,执行系统保存的任务。

上述过程中用到的/ etc/ inittab 文件为 init 进程定义了三个重要指标:系统缺省的运行级

别;如果系统终止, 什么样的进程可以启动、显示或重新启动;当系统进入了一个新的运行级

别时, 会产生什么样的事件。

/ etc/ inittab 文件中的每一个入口都包括如下字段:

id:rstate:action:process

其中:

id B唯一的入口号。

restate 符合命令的运行级别。

action 定义进程动作。其中动作的可能值为:

off 指示 init撤消本行中命令所对应的进程。

once 使 init执行命令,但不等待命令的完成,就继续本身的操作。

wait 使 init执行命令,直到其完成。

initdefault init 首次启动时进入的状态。

sysinit 在与系统控制台通信时运行该进程。

bootwait 当引导后系统输入一个 init状态级,然后运行该进程,直到其完成。

powerfail 掉电后运行该进程。

respaw n 启动进程并且每当其完成时再次启动它。

process 要执行的进程或命令。

下面是一个inittab 文件例子:

ap::sysinit:/ sbin/ autopush - f/ etc/ iu.ap

fs::sysinit:/ sbin/ rcS +>/ dev/ console 2 > & 1 </ dev/ console

541

is:3:initdefault:

p3:s1234:powerfail:/ usr/ sbin/ shutdow n - y - i5 - g0 >/ dev/ console 2 > & 1

s0:0: wait:/ sbin/ rc0 >/ dev/ console 2 > & 1/ dev/ console

s1:1: wait:/ usr/ sbin/ shutdown - y -iS - g0 >/ dev/ console 2 > & 1 </ dev/ console

s2:23: wait:/ sbin/ rc2 >/ dev/ console 2 > & 1 </ dev/ console

s3:3: wait:/ sbin/ rc3 >/ dev/ console 2 > & 1 </ dev/ console

s5:5: wait:/ sbin/ rc5 >/ dev/ console 2 > & 1 </ dev/ console

s6:6: wait:/ sbin/ rc6 >/ dev/ console 2 > & 1 </ dev/ console

fw:0:wait:/ sbin/ uad min 2 0 >/ dev/ console 2 > & 1 </ dev/ console

of:5: wait:/ sbin/ uad min 2 6 >/ dev/ console 2 > & 1 </ dev/ console

rb:6: wait:/ sbin/ uad min 2 1 >/ dev/ console 2 > & 1 </ dev/ console

sc:234:respaw n:/ usr/ lib/ saf/ sac - t 300

co:234:respawn:/ usr/ lib/ saf/ tty mon - g - h - p“‘uname - n’console login:”- T sun - d/

dev/ console - l console - m ldterm,ttcom pat

99 如何关闭系统

遇到以下情况,要关闭系统:

(1)修复系统配置文件;

(2)系统中增加或去掉设备(增减硬件设备一定要先关闭电源);

(3)修复一个引起系统引导失败的重要系统文件;

(4)停机。

关闭系统有init 和 shutdow n 两条命令,它们都可完整、安全地关闭系统,即所有改变的文

件都写入磁盘,所有系统服务、进程及操作系统都是正常中断。

使用 Stop + A 键和直接关闭系统电源,都不是正确关闭系统的方法,因为系统的服务是被

突然中断的,但紧急情况下可以这样做。

系统从多用户到单用户,现在还没有好的办法,最好是先使系统进入运行级别 0,再将系

统引导到运行级别 S(单用户状态)。

系统关闭命令shutdown 是一个可执行的shell程序,它调用init 程序关闭系统。缺省参数

时,系统被带入单用户状态。该命令执行过程中可预先通知登录的用户。服务器系统关闭前,

一定要通知用户,使用户有时间作关机前的准备,如:存盘。以免造成不必要的损失。例如:

# shutdow n - y - g300 �(5 分钟后关闭系统,进入单用户)

# shutdow n - y now (立即关闭系统,进入单用户)

shutdow n 命令的语法格式为:

/ usr/ sbin/ shutdow n [ - y] [g seconds ] [ - i run - level] [ messages]

在此命令中:

- irun - level b允许系统进入一个缺省状态 S 外的 init状态, 它可以选 0,1,2,5,6。

- g seconds 确定关机的时间, 以秒为单位,系统在此时间后关机,缺省为 60 秒。

- Y 非交互式条件下关机, 否则 50 秒后会被提示是否继续关机。

641

系统关闭命令“init 0”命令可以杀死所有激活进程。它适用于独立系统的关闭,可较快地

关闭系统。

系统关闭命令 halt可同步磁盘,停止进程。不推荐这样关闭系统,因为它不执行/ etc/ rc0

程序。

100 如何浏览和管理进程

进程管理是系统管理中很重要的一部分,通过对进程的管理可使系统资源有效充分地利

用,从而保证了系统进程及用户进程的正常运行。

进程管理的命令可使系统进程及用户进程的状态以列表方式显示出来,通过对进程状态

了解,可根据需要对进程加以控制调整,确保进程在最优的环境下运行。

100.1 ps 命令

格式:

ps [ - aef][ - u user]

ps 命令显示当前进程状态、进程号 ID、父进程号 ID、用户号 ID、作业调度、优先级、进程地

址、所用内存、所用 CP U 时间。各种选项提供不同的信息, - f 选项提供全部信息。 - e 选项

显示正在系统运行的进程。 - a 选项显示与终端无关的信息。 - u user 选项显示由 user 用户

运行的所有进程。

ps �命令列表显示进程状态, 各字段函义如下:

UID �用户 ID 号

PID 进程号(子进程号)

PPID 父进程号

C 应用程序调度,该字段只有用 C 选项才显示

C LS 进程类别调度,包括实时、系统、分时等系统,该字段只有用 C 选项才显示

PRI �核调度的优先级,数字越大,优先级越高 NI 进程的 nice 号,nice 号的改变,

可改变进程的优先级。

A D D R proc 命令的地址

SZ 进程的总地址大小

W C H A N 睡眠进程的地址

S TIM E 进程的起始时间

T T Y 进程的终端类型

TIM E 进程所使用的总 CP U 时间

C M D 命令所产生的进程

例: # ps - ef

显示内容大致为:

UID PID PPID C STIM E T T Y ITI M E C M D

root 0 0 0 09:38:30 ? 0:00 sched

root 1 0 0 09:38:34 ? 0:00/ etc/ init -

root 2 0 0 09:38:34 ? 0:00 pageout

741

root 3 0 0 09:38:34 ? 0:10 fsflush

root 249 1 0 09:39:27 console 0:00/ usr/ lib/ saf/ ttymon - g - h - p cat consolelo-

gin: - T sun - d/ dev/ console -l cons

root 133 1 0 09:39:09 ? 0:00/ usr/ sbin/ inetd - s

root 248 1 0 09:39:27 ? 0:00/ usr/ lib/ saf/ sac - t 300

root 116 1 0 09:39:02 ? 0:00/ usr/ sbin/ rpcbind

root 136 1 0 09:39:10 ? 0:00/ usr/ lib/ nfs/ statd

root 118 1 0 09:39:03 ? 0:00/ usr/ sbin/ keyserv

root 254 246 0 09:39:32 ? 0:00/ usr/ dt/ bin/ dtlogin

root 108 1 0 09:39:01 ? 0:00/ usr/ sbin/ in.routed - q

root 124 1 0 09:39:03 ? 0:00/ usr/ sbin/ kerbd

root 138 1 0 09:39:10 ? 0:00/ usr/ lib/ nfs/ lockd

root 157 1 0 09:39:11 ? 0:00/ usr/ lib/ autofs/ automountd

root 201 197 0 09:39:19 ? 0:00 suntechd - T cat 4 - c/ etc/ opt/ licenses/ li-

censes com bined

root 161 1 0 09:39:11 ? 0:00/ usr/ sbin/ syslogd

root 177 1 0 09:39:16 ? 0:00/ usr/ sbin/ nscd

root 171 1 0 09:39:15 ? 0:00/ usr/ sbin/ cron

root 187 1 0 09:39:17 ? 0:00/ usr/ lib/ lpsched

root 197 1 0 09:39:17 ? 0:00/ etc/ opt/ licenses/ lmgrd.ste - c/ etc/ opt/ li-

censes/ licenses co mbined

root 195 187 0 09:39:17 ? 0:00 lpNet

root 202 1 0 09:39:20 ? 0:00/ usr/ lib/ send mail - bd - q1h

root 253 246 0 09:39:30 ? 0:02/ usr/ openwin/ bin/ Xsun :0 - nobanner - auth

/ var/ dt/ A:0 - b0003q

root 251 248 0 09:39:28 ? 0:00/ usr/ lib/ saf/ listen tcp

root 252 248 0 09:39:28 ? 0:00/ usr/ lib/ saf/ ttym on

root 216 1 0 09:39:21 ? 0:00/ usr/ lib/ utm pd

root 235 1 0 09:39:23 ? 0:01/ usr/ sbin/ vold

root 411 133 0 14:48:18 ? 0:00 in.telnetd

lp 331 305 0 09:41:23 term/ a 0:00

lp 333 332 0 09:41:23 term/ a 0:00/ usr/ lib/ lp/ postscript/ postio

lp 334 333 0 0:00 < defunct>

lp 336 333 0 0:00 < defunct>

root 413 411 0 14:48:19 pts/ 1 0:00 - sh

100.2 PR O C 工具

/ usr/ proc/ bin 目录下进程命令工具, 将能显示更详细的进程信息。

�pcred q证书

pfiles 在进程中打开文件的 fstat和 fcntl信息

841

pflags / PR O C 进行目标追踪以及进程的其它信息

pldd 动态库链接到进程

p map 地址空间图

psig 信号作用

pstack 16 进制符号追踪

ptim 用户记帐的进程时间

ptree 包含该进程的进程树

p wait 进程终止后的状态信息

p wdx 进程的当前工作目录

100.3 使用 proc 工具控制进程

进程的终断或运行可使用/ usr/ proc/ bin 下的命令进行控制。更详细的信息可参考 proc

命令词典( man proc)。

进程控制命令:

pstop �终止一个进程

prun 起动一个进程

(1)从 ps 命令输出获得所需的进程号:

# ps - e | grep process

其中,process为进程名。

(2)使用/ usr/ proc/ bin 命令工具控制进程。

# / usr/ proc/ bin/ pco m mand PID

其中,PID 为进程号。

例: �

# PA T H = $P A T H:/ usr/ proc/ bin

# export PA T H

# ps - e | grep print *

264 comsole 0:30 printtool

# pstop \264

# prun 264

100.4 删除进程

用户的有些进程必须被删除。如死循环进程,大型作业要中途停止等。一般用户可以删除

本人的任何进程,而超级用户则可删除 0、1、2 和 3以外的任何进程。删除进程的步骤大致为:

(1)查看进程号:

ps - e process

(2)删除指定进程:

kill [ - 9] PID

其中, - 9 为确保进程彻底删除。

941

101 单用户与多用户状态如何转换

在 Solaris 系统下,单用户转为多用户可同时按 Crtl 和 d 键;在多用户状态执行“init s”或

“reboot - s”命令即可转为单用户。

102 如何重新配置系统核心

在 Solaris 2.x 系统中重新配置系统核心有以下两种方法:

(1)如有必要,先连接新增硬件;编辑系统配置文件/ etc/ system;最后,在监控状态下,执行

命令:

ok boot - r

(2)如有必要,先连接新增硬件;编辑系统配置文件/ etc/ system;最后,在系统运行状态,执

行命令:

# / usr/ sbin/ reboot - - - r

# / usr/ sbin/ reboot - - - s (重新配置系统核心后,引导至单用户)

注:系统管理员编辑系统配置文件/ etc/ system 时,可以从四个方面考虑:

(1)使用 moddir 变量修改系统引导时搜索模块路径。

(2)使用 exclude 变量确定执行的模块。

(3)使用 rootdev 变量确定一个变更引导设备。

(4)使用“set variable = value”命令设置核心参数。

下面是/ etc/ system 文件的例子:

# m ore/ etc/ system

* ident″@ ( # )system 1.15 92/ 11/ 14 S M I″/ * SV R4 1.5 *

*

* SY ST E M SPECIFIC A TIO N FIL E

*

* m oddir:

*

* @Set the search path for modules. This has a format similar to the

* csh path variable. If the m odule isn’t found in the first directory

it tries the second and so on. The defaultis/ kernel/ usr/ kernel

*

* Exam ple:

* m oddir:/ kernel/ usr/ kernel/ other/ modules

* root device and root filesystem configuration:

*

* The following may be used to override the defaults provided by

051

* the boot program:

*

* rootfs: Set the filesystem type of the root.

*

* rootdev: Set the root device. This should be a fully

* expanded physical pathname. The defaultis the

* physical pathname of the device w here the boot

* program resides. The physical pathname is

* highly platform and configuration dependent.

*

* Exam ple:

* rootfs:ufs

* rootdev:/ sbus @ 1,f8000000/ esp @ 0,800000/ sd @ 3,0:a

*

* (S wap device configuration should be specified in/ etc/ vfstab.)

* exclude:

*

* M odules appearing in the moddir path w hich are N O T to be loaded,

* even if referenced. Note that‘exclude’accepts either a module name,

* or a filename which includes the directory.

*

* Exam ples:

* exclude: win

* exclude: sys/ sh msys

* forceload:

*

* Cause these modules to be loaded at boot time, (just before mounting

* the root filesystem) rather than at first reference. Note that

* forceload expects a filename w hich includes the directory. Also

* note thatloading a module does not necessarily im ply that it will

* be installed.

*

* Exam ple:

* forceload: drv/ foo

* set:

*

* Set an integer variable in the kernel or a module to a new value.

* This facility should be used with caution. See system(4).

*

151

* Exam ples:

*

* To set variables in ’unix’:

*

* set nautopush = 32

* set maxusers = 40

*

* To set a variable named ’debug’in the module named ’test module’

*

* set test module:debug = 0x13

103 管理崩溃转储文件

这一问题主要讨论崩溃转储的状态,以及如何使用这些转储信息。主要内容有:

(1)创建崩溃转储文件目录;

(2)为崩溃转储文件预定空间;

(3)激活崩溃转储;

(4)停止崩溃转储;

(5)浏览崩溃和引导信息;

(6)检查崩溃转储。

在系统崩溃转储期间,操作系统核心将把当时内存中的内容转储到一个 core 文件。除非

你定义了崩溃转储文件,系统在下一次启动时将覆盖 core 文件。为了保存 core 文件,可以做

如下工作:

(1)创建一个崩溃转储目录;

(2)定义崩溃转储文件限额;

(3)编辑 sysetup 文件,允许保存崩溃转储文件。

103.1 创建崩溃转储目录

创建崩溃转储目录可以使用如下方法:

(1)以超级用户注册。

(2)创建/ var/ crash 目录:

# m kdir/ var/ crash

(3)改变工作目录至/ var/ crash:

# cd/ var/ crash

(4)创建一个以系统名命名的子目录:

# m kdir system - name

假如系统名为 sun1,该命令就可以写为:

# m kdir sun1

103.2 为崩溃转储文件预留空间

为崩溃转储文件预留空间可采取如下方法:

251

(1)变为超级用户。

(2)改变工作目录至/ var/ crash/ system - name。

(3)创建名为 minfree 的文件。在该文件中,加入最小可使用的磁盘空间数(以 K B 为单

位)。假如,预留 1000 K B 的空间,那么文件/ var/ crash/ system - name/ minfree 的内容就为

1000。

103.3 激活崩溃转储

激活崩溃转储的方法为:

(1)变为超级用户。

(2)使用任意文本编辑器,编辑/ etc/ init.d/ sysetup 文件,删除该文件中有关崩溃转储命令

前的“ #”号,以激活崩溃转储。

(3)保存并退出。

下面是一个被编辑过的/ etc/ init.d/ sysetup 文件的内容。该文件的内容表示崩溃转储已

经被激活:

m aster:pjx > more/ etc/ init.d/ sysetup

# This file contains system setup requirements for the system.

# First, the ps data file is always removed so that the ps co m mand

# will be forced to read the/ unix file, since it may have been

# created recently.

set‘/ usr/ bin/ who - r‘

if [ $9 ! = ″S″- a $9 ! = ″1″]

then

exit

fi

# if the prtconf com mand exists, then, the system configuration

# is printed

# Default is not to do this. Too noisy, to long.

# if [ - x/ usr/ sbin/ prtconf ]

# then

# / usr/ sbin/ prtconf

# fi

# If there are trademark files, print them.

if [ - d/ etc/ tm ]

then

/ usr/ bin/ cat/ etc/ tm/ * 2 > / dev/ null

351

fi

# #

# # Default is to not do a savecore

# #

if [ ! - d/ var/ crash/ ` uname - n`]

then mkdir - m 0700 - p/ var/ crash/ ` uname - n `

fi

echo ’checking for crash dum p... \ c ’

savecore/ var/ crash/ ` uname - n`

echo ’’

m aster:pjx >

103.4 停止崩溃转储

使用如下方法可以停止崩溃转储:

(1)以超级用户注册。

(2)编辑/ var/ init.d/ sysetup 文件,在有关崩溃转储的命令前增加“ #”号,结果显示如下:

m aster:pjx > more sysetup

# This file contains system setup requirements for the system.

# First, the ps data file is always removed so that the ps co m mand

# will be forced to read the/ unix file, since it may have been

# created recently.

set / usr/ bin/ who - r`

if [ $9 ! = ″S″- a $9 ! = ″1″]

then

exit

fi

# if the prtconf com mand exists, then, the system configuration

# is printed

# Default is not to do this. Too noisy, to long.

# if [ - x/ usr/ sbin/ prtconf ]

# then

# / usr/ sbin/ prtconf

# fi

# If there are trademark files, print them.

if [ - d/ etc/ tm ]

then

/ usr/ bin/ cat/ etc/ tm/ * 2 > / dev/ null

fi

# #

# # Default is to not do a savecore

451

# #

# if [ ! - d/ var/ crash/ ` uname - n ]

# then mkdir - m 0700 - p/ var/ crash/ ` uname - n `

# fi

# echo ’checking for crash dum p... \ c ’

# savecore/ var/ crash/ ` uname - n`

# echo ’’

m aster:pjx >

(3)保存并退出。

(4) 从/ var/ crash 目录中删除设置文件和目录。即:

# rm - rf/ var/ crash/ system - name

103.5 浏览崩溃转储信息

当一个系统崩溃后,它显示类似下面内容的信息:

panic: error message 或

W atchdog reset !

类似上述信息会自动存储到/ var/ adm/ messages 文件中。这些信息可用 dmesg 命令浏览。

例如:

# d mesg | more

Oct 28 07:37

cpu0: S U N W , UltraSPA R C (upaid 0 impl 0x10 ver 0x40 clock 200 M Hz)

SunO S Release 5.5.1 Version Generic 103640 - 12 [ U NIX(R) System V Release 4.0]

Copyright (c) 1983 - 1996, Sun Microsystems, Inc.

mem = 524288 K (0x20000000)

avail mem = 525467648

Ethernet address = 0:40:dc:3b:18:ac

root nexus = Sun Ultra 2 U PA/ SBus ( UltraSP A R C 200 M Hz)

sbus0 at root: U PA 0x1f 0x0 ...

fas0:rev 2.2 F EPS chipS U N W ,fas0 at sbus0: SBus0 slot 0xe offset 0x8800000 and slot 0xe off-

set 0x8810000 Onboard device sparc9 ipl 4

Q L G C,isp0 at sbus0: SBus0 slot 0x2 offset 0x10000 SBus level 3 sparc9 ipl 5

isp0:Firm ware Version: v1.24, Customer: 15, Product: 0

Q L G C,isp1 at sbus0: SBus0 slot 0x3 offset 0x10000 SBus level 3 sparc9 ipl 5

isp1:Firm ware Version: v1.24, Customer: 15, Product: 0

sd0 at Q L G C,isp0: target 0 lun 0

sd0 is/ sbus @ 1f,0/ Q L G C,isp @ 2,10000/ sd @ 0,0

< Seagate ST34371 W D cyl 5147 alt 2 hd 10 sec 165 >

sd1 at Q L G C,isp0: target 1 lun 0

sd1 is/ sbus @ 1f,0/ Q L G C,isp @ 2,10000/ sd @ 1,0

< Seagate ST34371 W D cyl 5147 alt 2 hd 10 sec 165 >

551

— M ore—

103.6 调试崩溃转储文件

使用 crash 实用程序可以调试检查崩溃转储文件。该命令的格式为:

# / usr/ sbin/ crash [ - d crashdum p - file] [ - n name -list] [ - w output - file]

其中:

- d crashdu mp - file �指定一个包含内存映象的文件。确省为/ dev/ mem。

- n name -list 指定一个包含符号表信息的文件。确省为/ dev/ ksysms。

- w output- file 指定一个输出文件。确省为标准输出。

下面是一个使用 crash 实用程序的例子:

# / usr/ sbin/ crash

dum pfile = / dev/ mem, namelist = / dev/ ksy ms, outfile = stdout

> status

system name: �SunO S

release: 5.5.1

node name: master

version: Generic 103640 - 12

m achine name: sun4u

time of crash: W ed Oct 28 07:40:07 1998

age of system: 9 min.

panicstr:

panic registers:

pc: 0 sp: 0

>

104 检查和改变系统信息

该问题将描述如何检查和改变系统信息。

104.1 显示系统信息

显示一般的系统信息可通过执行如下命令来实现:

uname �显示操作系统名、硬件名和处理器类型

hostid 显示主机 ID 号

prtconf 显示已经安装的存储器

date 显示日期和时间

(1) �显示一般系统信息。使用 uname 命令,即:

uname [a]

如 �果不带参数,只显示操作系统名;如果带参数可显示所有的系统信息。例如:

# uname

SunO S

# uname - a

651

SunO S master 5.5.1 Generic 10360 - 12 sun4u sparc S U N W , Ultra - 2

(2) �显示系统主机识别符(ID)。使用 hostid 命令,即:

# hostid

7725ac40

(3) �显示系统中已经安装的内存。使用 prtconf命令,即:

prtconf [ | grep M emory]

gnp09 # prtconf | grep M emory

M emory size: 256 M egabytes

gnp09 #

(4) �显示日期和时间。使用 date 命令,即:

gnp09 # date

M on Oct 26 14:04:23 EE T 1998

gnp09 #

104.2 改变系统信息

通过编辑/ etc/ system 文件,可以改变每个用户的进程数;增加 pseudo - ttys 的个数到

256;增加锁请求个数(num ber oflock requests);增加共享内存段。

系统缺省的锁请求值可以支持 512 个用户同时 logout,如果多于 512 个用户同时 logout,

锁请求值可以增加。

系统管理员可以使用 rdate 和 date 命令对系统时钟进行匹配调整。

(1)调整不同机器的时钟:

rdate 命令可以使本机时钟和其他机器时钟进行匹配。具体方法为:

1)以超级用户身份注册。

2)执行 rdate 命令,即:

# rdate other - system - name

其中, other - syste m - name 是指另一台机器的名字。

gnp09 # date

M on Oct 26 14:26:53 E E T 1998

gnp09 # rdate gnp06

M on Oct 26 14:24:24 1998

gnp09 # date

M on Oct 26 14:24:30 E E T 1998

gnp09 #

(2)手动设置本机的日期和时间:

1)变为超级用户。

2) �键入新的日期和时间。命令格式:

# date m m ddhh M M [[cc]yy]

其中: �

m m b月份,使用两位数

dd 天,使用两位数

751

hh 小时,使用两位数

M M 分钟,使用两位数

cc 世纪,使用两位数

yy 年份,使用两位数

例如: v

M on Oct 26 14:31:32 EE T 1998

gnp09 # date 082020091999

Fri Aug 20 20:09:00 EE T D ST 1999

gnp09 # date 102614301998

M on Oct 26 14:30:00 EE T 1998

gnp09 #

(3)设置用户注册信息:

当用户注册时,首先可看到一些欢迎信息。这些信息是可以改变的。方法为:

1)变为超级用户。

2)编辑/ etc/ motd 文件。

3)增删有关信息。

4)保存并退出。

当安装完 Solaris软件后,缺省的/ etc/ motd 内容为:

Sun Microsyste ms Inc. SunOS 5.5.1 Generic M ay 1996

你可以改变这个内容。

(4)设置每个用户的进程数:

系统管理员可以对用户使用的进程数进行控制。方法为:

1)打开/ etc/ system 文件。

2)增加如下行:

set maxuprc = value

3)保存并退出。

4)重新引导系统。

例如:

# vi/ etc/ system

* ident″@ ( # )system 1.15 92/ 11/ 14 S M I″/ * SV R4 1.5 */

*

* SY ST E M SPECIFIC A TIO N FIL E

*

* m oddir:

*

* Set the search path for modules. This has a format similar to the

* csh path variable. If the m odule isn’t found in the first directory

* it tries the second and so on. The defaultis/ kernel/ usr/ kernel

*

851

* Exam ple:

* m oddir:/ kernel/ usr/ kernel/ other/ modules

set:

...

* Set an integer variable in the kernel or a module to a new value.

This facility should be used with caution. See system(4).

Exam ples:

*

* To set variables in ’unix’:

*

* set nautopush = 32

* set maxusers = 40

*

* To set a variable named ’debug’in the module named ’test module’

*

set test module:debug = 0x13

set maxuprc = 10

(5)增加 pseudo - ttys 的个数到 256:

1)打开/ etc/ system 文件。

2)增加如下行:

set pt cnt = 256

3)保存并退出。

4)重新引导系统。

(6)增加锁请求个数:

1)打开/ etc/ system 文件。

2)增加如下行,使锁请求个数从 512(缺省值)变为 1024:

set tune - t- flckrec = 1024

3)保存并退出。

4)重新引导系统。

(7)增加共享内存段:

1)打开/ etc/ system 文件。

2)根据系统内存的大小(如 128 M B)增加如下行,以便系统能运行较大的程序。

set sh msys:sh minfo sh m max = 268435456

set sh msys:sh minfo sem map = 250

set sh msys:sh minfo sem m ni = 500

set sh msys:sh minfo sem m ns = 500

set sh msys:sh minfo sem msl= 500

set sh msys:sh minfo sem m nu = 500

set sh msys:sh minfo sem ume = 100

951

set sh msys:sh minfo sh m mni= 200

set sh msys:sh minfo sh m min = 200

set sh msys:sh minfo sh mseg = 200

3)保存并退出。

4)重新引导系统。

105 系统运行情况的监控

系统管理员可以通过使用 vmstat、iostat、df和 sar命令来监控系统运行情况。

105.1 显示虚拟内存信息

可以通过使用 vmstat 命令显示虚拟内存的统计资料,如系统调用、设备中断和页面等信

息。

(1)显示虚拟内存的统计资料。使用 v mstat 命令可以收集虚拟内存在一定时间间隔内的

统计资料。具体命令为:

$ v mstat n

其中,n 表示的是一个时间间隔,单位是秒。

例如:

$ v mstat 1

显示内容为:

procs memory page disk faults cpu

r b w swap free re mf pi po fr de sr f0 s0 s1 s2 in sy cs us sy id

0 0 0 1281856 32424 37 12 742 679 971 0 46 0 0 8 0 459 1485 291 25 10 66

0 1 0 1285664 28960 0 2 0 0 0 0 0 0 0 48 0 371 111 174 0 1 99

0 0 0 1285664 28936 1 0 0 0 0 0 0 0 0 0 0 376 54 49 0 0 100

0 0 0 1285664 28920 0 0 0 0 0 0 0 0 0 0 0 388 30 102 0 1 99

0 1 0 1285664 28912 0 0 8 0 0 0 0 0 0 0 0 329 32 25 0 0 100

0 1 0 1285648 28760 0 0 48 0 0 0 0 0 0 0 0 294 97 60 1 7 92

0 0 0 1285648 28760 0 0 0 0 0 0 0 0 0 0 0 285 36 31 0 0 100

0 0 0 1285648 28752 2 0 0 0 0 0 0 0 0 0 0 434 35 64 0 5 95

0 0 0 1285632 28712 0 0 112 0 0 0 0 0 0 20 0 355 95 96 0 1 99

0 0 0 1285608 27608 10 0 248 0 0 0 0 0 0 28 0 294 1168 197 38 5 57

0 3 0 1285600 14384 8 0 488 0 0 0 0 0 0 48 0 461 855 285 25 7 68

0 1 0 1285600 12016 12 0 344 0 0 0 0 0 0 0 0 278 1424 170 41 7 52

0 1 0 1285672 9648 48 0 616 688 688 0 0 0 0 0 0 226 1408 183 41 8 51

在上述信息中,各关键字的含义见表 7 - 2。

061

表 7 - 2 vm stat命令显示内存的关键字

类型 域名 描 述

Procs r 在发送队列中的核流数目

b 正等待资源而堵塞的核流

w 等待进程资源完成而被交换出的 L W P

M e m ory swap 可利用的交换区

free 自由清单的大小

page re 索回的页

mf 较小和主要的错误

pi 进 K 字节数

po 出 K 字节数

Fr 自由 K 字节数

De 最近被交换进的进程所需内存的期望内存

Sr 被页服务进程扫描的页。如果 sr 不等于 0 �,页服务进程将运行

Disk 报告每秒磁盘操作数

Faults In 每秒的中断

Sy 每秒的系统调用

Cs C P U 上下文开关率

C P U Us 用户时间

Sy 系统时间

Id 空闲时间

(2)显示系统事件信息。运行 v mstat - s命令能够列出自系统上次引导开始的系统事件。

例如:

$ v mstat - s

该命令的执行结果为:

0 �swap ins

0 �swap outs

0 �pages swapped in

0 �pages swapped out

201528 �total address trans. faults taken

863606 �page ins

706929 �page outs

1616758 �pages paged in

1756683 �pages paged out

802592 �totalreclaims

776588 �reclaims fro m free list

0 �micro (hat) faults

201528 �minor (as) faults

161

759427 �major faults

43617 �copy - on - write faults

36126 �zero fill page faults

740027 �pages examined by the clock daemon

11 �revolutions of the clock hand

2324151 �pages freed by the clock daemon

2252 �forks

579 �vforks

3801 �execs

5363955 �cpu context switches

11415407 �device interrupts

1022095 �traps

55104549 �system calls

1075362 �total na me lookups (cache hits 81 �% )

4248 �toolong

627380 �user cpu

230593 �system cpu

395347 �idle cpu

1077727 �wait cpu

(3)显示交换统计资料。使用 v mstat - S 可以看交换统计资料。例如:

$ v mstat - S

显示为:

procs memory page disk faults cpu

r b w swap free si so pi po fr de sr f0 s0 s1 s2 in sy cs us sy

id

0 0 0 1284128 28048 0 0 556 604 799 0 31 0 0 7 0 389 2337 229

27 10 63

其中,si表示每秒交换进的平均数,so 表示交换出的全部进程。

(4)显示每个设备的中断。运行 v mstat - i可以显示每个设备的中断。例如:

$ v mstat - i

命令显示内容为:

interrupt total rate

clock 2460597 100

hmec0 1555504 63

fdc0 70546 2

261

Total 4086647 166

105.2 显示磁盘使用信息

显示磁盘使用信息可以通过命令iostat来实现,该命令可以报告出磁盘输出输入、队列长

度、处理速率和服务时间等统计信息。

(1)显示磁盘使用信息。带有时间间隔参数的 iostat 命令可以输出磁盘活动信息。例如:

$ iostat 5

tty fd0 sd0 sd1 sd2 cpu tin tout Kps tps serv Kps tps serv Kps tps serv Kps tps serv us sy

wt id

0 29 0 0 365 0 0 9 39 7 12 2 0 3 27 10 46 17

0 0 0 0 0 0 0 0 53 11 12 0 0 0 27 6 68 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 11 53 10

在上述信息中:

tin:在终端输入队列中的字符数。

tout:在终端输出队列中的字符数。

bps:每秒块数。

tps:每秒处理数。

serv:平均服务时间。

us:在用户方式。

sy:在系统方式。

wt:I/ O 等待。

id:空闲。

(2)显示扩展的磁盘统计资料。带有 xtc 参数的 iostat 命令可以输出扩展的磁盘统计资

料。例如:

$ iostat - xtc

命令执行结果:

extended disk statistics tty cpu

disk r/ s w/ s Kr/ s K w/ s wait actv svc t % w % b tin tout us sy wt id

fd0 b0 ).0 0 7.0 0 `.0 0 �.0 0 �.0 0 �.0 365 U.4 0 �0 �0 �29 �27 �10 s46 K17 #

sd0 e0 ).0 0 7.0 0 `.0 0 �.0 0 �.0 0 �.0 8 �.6 0 �0 �

sd1 e0 ).5 6 7.8 6 `.3 32 �.9 0 �.0 0 �.1 12 :.3 0 �8 �

sd2 e0 ).0 0 7.2 0 `.3 1 �.4 0 �.0 0 �.0 2 �.9 0 �0 �

sd3 e0 ).2 0 7.2 3 `.0 1 �.3 0 �.0 0 �.0 4 �.2 0 �0 �

sd4 e1 ).7 0 7.0 90 {.9 0 �.0 0 �.0 0 �.0 3 �.8 0 �1 �

sd5 e0 ).0 0 7.0 0 `.0 0 �.0 0 �.0 0 �.0 9 �.2 0 �0 �

sd6 e0 ).0 0 7.0 0 `.8 0 �.0 0 �.0 0 �.0 6 �.4 0 �0 �

sd7 e0 ).5 1 7.0 17 {.4 10 �.0 0 �.0 0 �.0 9 �.7 0 �1 �

sd8 e0 ).3 1 7.2 8 `.1 9 �.7 0 �.0 0 �.0 9 �.6 0 �1 �

361

sd9 e0 ).0 0 7.0 0 `.1 0 �.0 0 �.0 0 �.0 163 U.0 0 �0 �

sd23 �30 D.2 92 R.4 292 �.3 1576 �.8 61 �.8 58 �.9 984 U.3 17 �72 �

sd30 �1 ).0 0 7.4 7 `.3 5 �.4 0 �.0 0 �.1 53 :.4 0 �1 �

在上述信息中:

r/ s:每秒的读。

w/ r:每秒的写。

Kr/ s:每秒 Kbytes读。

K w/ s:每秒 Kbytes 写。

wait:正等待服务的处理平均数。

actv:被服务的活动处理数。

svc t:平均服务时间,单位为微秒。

% w:队列未空的时间平均。

% b:磁盘忙的时间平均。

105.3 显示磁盘利用情况

使用 df命令可以看每个被安装的磁盘上的自由磁盘空间数。如果磁盘的自由空间数小

于 10 % ,在该磁盘上读写数据将受影响。如果文件系统的使用量超过 90 % ,系统管理员应该

采取必要的措施(如备份后删除一些大文件等)。下面是使用 df 命令的一个例子:

$df - k

显示结果为:

Filesystem kbytes used avail capacity M ounted on

/ dev/ dsk/ c0 �t0d0s0 1008109 +650013 G257286 c72 �% /

/ proc14 �0 +0 G0 c0 �% / proc

fd 0 +0 G0 c0 �% / dev/ fd

swap 736368 +408 G735960 c1 �% / tmp

/ dev/ dsk/ c2 �t0d0s7 3991229 +3493962 G457355 c89 �% / export/ ho me/ disk10 �

/ dev/ dsk/ c2 �t1d0s7 4176701 +3553929 G413937 c90 �% / export/ ho me/ disk1 z

/ dev/ dsk/ c2 �t2d0s7 3991229 +2962204 G629905 c83 �% / export/ ho me/ disk18 �

/ dev/ dsk/ c2 �t3d0s7 3991229 +3111768 G839549 c79 �% / export/ ho me/ disk19 �

/ dev/ dsk/ c2 �t4d0s7 3991229 +1032743 G2918574 c27 �% / export/ ho me/ disk20 �

/ dev/ dsk/ c2 �t5d0s7 3991229 +2427285 G1524032 c62 �% / export/ ho me/ disk21 �

/ export/ home/ disk9 �3991229 +2709540 G1241777 c69 �% / m aster/ disk9 d

/ export/ ho me/ disk1 >/ software/ Geonet 4176701 �3553929 �413937 �90 �%

/ m aster/ Geonet

105.4 监控系统的活动

使用 sar 命令可以监控系统的活动。该命令的格式和功能如下:

sar [ - aAbcdgk mpqruvwy ] [ - o - 蛗filename ] - 蛗t [ - 蛗n ]

其中:

461

- A �报告所有的数据

- a 报告文件系统的访问情况

- b 报告 buffer事件

- c 报告系统调用

- d 报告块设备的活动

- g 报告页活动

- k 报告核内存分配活动

- m 报告信息和信号活动

- p 报告页错误

- q 报告队列的平均长度

- r 报告未用的内存页和磁盘块

freemem - 用户进程可用的平均页

freeswap - 页交换可用的磁盘块

- u 报告 CP U 的利用情况

- v 报告进程状态、节点和文件数

- w 报告系统交换情况

- y 报告 T T Y 设备情况

- o - 励filename 以二进制格式存放输出结果到文件 filename

例 1:报告文件系统的访问情况:

$sar - a

显示内容:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08:38:49 iget/ s namei/ s dirbk/ s

08:38:49 unix restarts

08:40:00 41 119 59

09:00:00 27 19 32

09:20:00 78 11 61

09:40:00 44 12 29

10:00:00 23 12 11

10:20:00 111 15 57

Average 56 15 38

例 2:报告 buffer 事件:

$sar - b

显示内容:

SunO S master 5 I.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08 �:38:49 bread/ s lread/ s % rcache b writ/ s lwrit/ s % wcache pread/ s p writ/ s

08 �:38:49 unix restarts

561

08 �:40:00 3 �72 �96 �7 �30 �77 W0 �0 �

09 �:00:00 1 �37 �98 �5 �17 �71 W0 �0 �

09 �:20:00 1 �225 �100 ,6 �24 �75 W18 �0 �

09 �:40:00 1 �462 �100 ,7 �30 �78 W37 �0 �

10 �:00:00 0 �420 �100 ,6 �29 �80 W35 �0 �

10 �:20:00 0 �413 �100 ,6 �30 �80 W37 �0 �

Average 1 �309 �100 ,6 �26 �77 W25 �0 �

例 3:报告系统调用:

$sar - c

显示内容:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08 �:38:49 scall/ s sread/ s swrit/ s fork/ s exec/ s rchar/ s wchar/ s

08 �:38:49 unix restarts

08 �:40:00 969 �64 �10 �3 �.75 3 �.24 235792 �1923 �

09 �:00:00 622 �111 �46 �0 �.51 0 �.63 535813 �9412 �

09 �:20:00 676 �84 �55 �0 �.07 0 �.01 608754 �406785 �

09 �:40:00 868 �137 �87 �0 �.03 0 �.01 1287250 �859809 �

10 �:00:00 813 �155 �96 �0 �.03 0 �.01 1565013 �807295 �

10 �:20:00 1351 �241 �153 ,0 �.19 0 �.15 1088288 �865419 �

Average 867 �144 �86 �0 �.21 0 �.20 300408 �582852 �

例 4:告块设备的活动:

$ sar - d

输出:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08 �:38:49 device % busy avque r+ w/ s blks/ s avwait avserv

08 �:38:49 unix restarts

08 �:40:00 《State change》

09 �:00:00 fd0 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd0 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd1 �9 �0 �.1 9 �107 d0 �.0 13 K.4

sd2 �0 �0 �.0 0 �3 .0 �.0 9 0.9

661

sd3 �0 �0 �.0 1 �18 I0 �.0 7 0.6

sd4 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd5 �0 �0 �.0 0 �0 .0 �.0 8 0.8

sd6 �0 �0 �.0 0 �0 .0 �.0 9 0.4

sd7 �1 �0 �.0 2 �92 I0 �.0 10 K.5

sd8 �1 �0 �.0 1 �66 I0 �.0 10 K.1

sd9 �0 �0 �.0 0 �0 .0 �.0 0 0.0

09 �:40:00 fd0 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd0 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd1 �8 �0 �.1 7 �63 I0 �.0 11 K.8

sd2 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd3 �1 �0 �.0 3 �72 I0 �.0 4 0.7

sd4 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd5 �0 �0 �.0 0 �0 .0 �.0 0 0.0

sd6 �0 �0 �.0 0 �0 .0 �.0 6 0.2

sd7 �1 �0 �.0 2 �95 I0 �.0 7 0.5

sd8 �3 �0 �.0 3 �54 I0 �.0 10 K.8

sd9 �0 �0 �.0 0 �2 .0 �.0 6 0.0

例 5:报告核内存分配活动:

$ sar - k

显示:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08:38:49 sml mem alloc fail lg mem alloc fail ovsz alloc fail

08 �:38:49 unix restarts

08 �:40:00 2113536 `1829272 |0 '6291456 5975088 �0 .3104768 �0 f

09 �:00:00 3022848 `2699724 |0 �14647296 13503536 �0 .3227648 �0 f

09 �:20:00 3096576 `2791328 |0 �14434304 13856744 �0 .3252224 �0 f

09 �:40:00 3129344 `2817816 |0 �14475264 13851040 �0 .3252224 �0 f

10 �:00:00 3153920 `2841944 |0 �14589952 13811408 �0 .3252224 �0 f

10 �:20:00 3186688 `2829240 |0 �14548992 13830672 �0 .3252224 �0 f

10 �:40:02 3219456 `2861236 |0 �14548992 13776424 �0 .3252224 �0 f

Average 2988910 `2667223 |0 �13362322 12657845 �0 .3227648 �0 f

例 6:报告未用的内存页和磁盘块:

$ sar - r

761

显示:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08 �:38:49 freemem freeswap

08 �:38:49 unix restarts

08 �:40:00 61297 �2894850 �

09 �:00:00 35164 �2596335 �

09 �:20:00 3144 �2572238 �

09 �:40:00 1099 �2562897 �

10 �:00:00 1039 �2559574 �

10 �:20:00 2373 �2560710 �

10 �:40:02 1035 �2562814 �

Average 7838 �2572297 �

例 7:报告 CP U 的利用情况:

$ sar - u

显示内容:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08 �:38:49 % usr % sys % wio % idle

08 �:38:49 unix restarts

08 �:40:00 4 �11 S40 �45 �

09 �:00:00 5 �3 814 �78 �

09 �:20:00 12 �8 838 �42 �

09 �:40:00 23 �9 858 �10 �

10 �:00:00 22 �8 857 �12 �

10 �:20:00 21 �10 S53 �17 �

10 �:40:02 17 �7 862 �13 �

Average 17 �7 847 �29 �

例 8:报告系统交换情况:

$ sar - w

显示内容:

SunO S master 5.5.1 Generic 103640 - 12 sun4u 09/ 15/ 98

08 �:38:49 swpin/ s bswin/ s swpot/ s bswot/ s pswch/ s

08 �:38:49 unix restarts

08 �:40:00 0 7.00 0 �.0 0 �.00 0 b.0 129 ~

861

09 �:00:00 0 7.00 0 �.0 0 �.00 0 b.0 167 ~

09 �:20:00 0 7.00 0 �.0 0 �.00 0 b.0 296 ~

09 �:40:00 0 7.00 0 �.0 0 �.00 0 b.0 338 ~

10 �:00:00 0 7.00 0 �.0 0 �.00 0 b.0 307 ~

10 �:20:00 0 7.00 0 �.0 0 �.00 0 b.0 453 ~

10 �:40:02 0 7.00 0 �.0 0 �.00 0 b.0 289 ~

Average 0 7.00 0 �.0 0 �.00 0 b.0 307 ~

系统管理员可以通过修改一些文件使系统自动搜集系统活动信息,以备需要时使用 sar

命令查询。具体方法为:

(1)变为超级用户。

(2)打开文件/ etc/ init.d/ perf,删除使该文件如下行前的注释:

M A T C H =“w ho - r|grep - c‘[234][ ] * 0[ ] * [S1]’”

if [ ${ M A T C H} - eq 1 ]

then

su sys - c″/ usr/ lib/ sa/ sadc/ var/ adm/ sa/ sa′date + % d′″

fi

(3)编辑/ var/ spool/ cron/ crontabs/ sys 文件,删除该文件如下行前的注释:

0 * * * 0 - 6/ usr/ lib/ sa/ sa1

20,40 8 - 17 * * 1 - 5/ usr/ lib/ sa/ sa1

5 18 * * 1 - 5/ usr/ lib/ sa/ sa2 - s 8:00 - e 18:01 - i 1200 - A

106 用户磁盘空间限额的管理

管理用户磁盘空间有如下几项工作:

(1)设置文件系统限额;

(2)设置用户限额;

(3)配置多个用户的磁盘限额;

(4)检查磁盘限额的一致性;

(5)打开和关闭磁盘限额;

(6)改变缺省的软时间限制;

(7)改变限额;

(8)检查限额。

106.1 概述

系统管理员可以对磁盘空间和i节点数设置限额对用户进行限制。每当文件系统被安装

时,限额将自动被激活。有关磁盘限额的命令有:

edquota h为用户设置硬和软磁盘限制

quotacheck 检查 U FS 文件系统,根据文件系统磁盘限额,报告其不一致性

961

quotaon 激活指定文件系统限额

quota 显示用户磁盘限额量,确认其正确性

在 Solaris 系统中,磁盘限额通常用作于具有独立磁盘分区的 U FS 文件系统。磁盘限额有

如下几种形式:

(1)限制用户在指定文件系统可使用的容量。

(2)限制用户在指定文件系统所能生成的文件数目。

(3)限制用户在指定文件系统中能停留的时间。

在设置限额之前,你应该知道分配给用户多少空间和多少 i节点数。当你使用 edquota 命

令为一个用户建立了磁盘限额,便可以以这一限额为蓝本在同一文件系统中为其他用户做同

样的限额。

106.2 设置文件系统限额

设置文件系统限额可采取如下方法:

(1)变为超级用户。

(2)编辑/ etc/ vfstab 文件,在安装选项域增加 rq 参数。

(3)保存 vfstab 文件,并退出。

(4)改变工作目录到指定文件系统顶部。

下面是一个设置文件系统限额的例子。

假如一机器上的/ etc/ vfstab 文件的内容为:

gnp09:pjx > df - k

Filesystem kbytes used avail capacity M ounted on mount options

/ dev/ dsk/ c0t0d0s0 960570 354358 510162 41 % /

swap 1192840 168 1192672 1 % / tm p

m aster:/ export/ home/ disk1/ software/ IESX

4176696 3572480 395376 91 % / ho me/ gqs

m aster:/ export/ home/ disk8

3991224 3242640 708672 83 % / master/ disk8

m aster:/ export/ home/ disk22

3991224 3878656 72656 99 % / master/ disk22

m aster:/ export/ home/ disk20

3991224 2466768 1484544 63 % / m aster/ disk20

gnp09:pjx >

设置文件系统限额后/ etc/ vfstab 的内容变为:

gnp09:pjx > df - k

Filesystem kbytes used avail capacity M ounted on

/ dev/ dsk/ c0t0d0s0 960570 354358 510162 41 % /

m aster:/ export/ home/ disk1/ software/ IESX

4176696 3572480 395376 91 % / ho me/ gqs

m aster:/ export/ home/ disk8

3991224 3242640 708672 83 % / master/ disk8

071

m aster:/ export/ home/ disk22

3991224 3878656 72656 99 % / master/ disk22

m aster:/ export/ home/ disk20

3991224 2466768 1484544 63 % / m aster/ disk20 rq

gnp09:pjx >

其中,来自 master机器上的/ export/ ho me/ disk20 目录被安装到本机/ master/ disk20 目录。

在这一行增加了 rq 选项,因此,当文件系统被重新引导时,限额将被激活。

106.3 配置用户限额

系统管理员为用户设置磁盘限额按以下步骤进行:

(1)以超级用户注册。

(2)使用 quota 编辑器(edquota),在指定文件系统目录下创建一个临时文件,该文件包含

一行限额信息。

(3)改变限额参数,如磁盘块数、软和硬限额、i节点数。

(4)保存并退出编辑器。

系统管理员可以用 quota 命令来验证用户限额的正确性。

下面是配置用户限额的一个例子。

由 edquota 打开的一个限额文件的内容可能为:

fs/ files blocks (soft = 0, hard = 0) inodes (soft = 0,hard = 0)

下面是在限额被配置后一个限额临时文件的内容:

fs/ files blocks (soft = 50, hard = 60) inodes (soft = 90,hard = 100)

限额的数值以 1K B block 为单位。上面的设置为 50 K B/ 60K B,即当用户使用的磁盘空间

超过 50 K B 时,系统开始报警,超过 60 K B 时,系统拒绝接收。inode 是指用户的文件数目,0 表

示不受限制。

106.4 为多个用户配置限额

在配置一个用户限额后,以这个限额为蓝本便可配置多个用户的限额。

(1)变为超级用户。

(2)用已做的用户限额文件,为其他用户建立限额文件。方法为:

# edquota - p prototype - user username1 [username2 username3 ...]

其中:

prototype - user E是已经设置限额的用户名。

userna me1,2,3... 指定的一个或多个用户名,将为他们创建限额文件。

下面是一个配置多用户限额的实例。

以用户 bob 为蓝本,建立用户 mary 和 john 的限额。命令为:

# edquota - p bob mary john

106.5 检查限额的一致性

为了确保磁盘数据的一致性,当运行 checkquota 命令检查磁盘限额一致性时,被检查的文

件系统应处于静止状态(即无用户使用该文件系统)。因此,在工作时间之外(例如午夜)通过

cron 文件运行限额一致性检查是一种较好的选择。

运行磁盘限额一致性检查的步骤为:

171

(1)变为超级用户。

(2)运行 quotacheck 命令。即:

# quotacheck - v [ - a | filesystem]

其中:

- v g显示检查的过程

- a 任选项。选择此项,系统将检查带有 rq 选项的所有文件系统

filesystem 用于指定被检查的文件系统

下面是一个检查限额的例子:

# quotacheck - va

* * * Checking quotas for/ dev/ rdsk/ c0t0d0s6 (/ usr)

106.6 打开和关闭磁盘限额

打开和关闭磁盘限额的步骤为:

(1)变为超级用户。

(2)打开磁盘限额。即:

# quotaon - v [ - a | filesystem1 filesystem2 filesystem3 ...]

其中:

- v �显示命令执行过程

- a 打开所有带 rq 选项的所有文件系统

filesystem1,2,3... 打开指定的文件系统

例如:

# quotaon - v/ dev/ dsk/ c0t4d0s2/ dev/ dsk/ c0t3d0s2

/ dev/ dsk/ c0t4d0s2: quotas turned on

/ dev/ dsk/ c0t3d0s2: quotas turned on

(3)关闭磁盘限额。即:

# quotaoff - v [ - a | filesystem1 filesystem2 filesystem3 ...]

其中:

- v 显示命令执行过程

- a 关闭所有带 rq 选项的所有文件系统

filesystem1,2,3... 关闭指定的文件系统

例如:

# quotaoff - v/ dev/ dsk/ c0t4d0s2/ dev/ dsk/ c0t3d0s2

/ dev/ dsk/ c0t4d0s2: quotas turned off

/ dev/ dsk/ c0t3d0s2: quotas turned off

106.7 检查用户限额使用情况

当设置并打开限额后,你可以检查用户限额使用情况,也可以检查全部文件系统限额信

息。有关命令有:

quota �显示用户限额和当前盘使用情况,同时显示哪些用户超过了限额

repquota 显示指定文件系统的限额、文件和空间数

上述两条命令的格式分别为:

271

quota - v [username]

repquota [ - v/ dev/ dsk/ devicename | - a]

例如:

# quota - v 444

显示结果:

disk quotas for bob(uid 444)

filesystem usage quota limit timelefs files quota limit timeleft

/ usr 0 1 2 0 2 3

# repquota - va

显示结果:

/ dev/ dsk/ c0t0d0s6 (/ usr)

block limits file limits

User used soft hard timeleft used soft hard timeleft

# 301 - - 0 1 2 0 2 3

# 341 - - 0 1 2 0 2 3

106.8 改变缺省的软时间限制

Solaris 的缺省的软时间限制规定:当用户超过软限制在一周之内可继续使用磁盘,但在一

周之后,系统拒绝该用户使用。系统管理员可以通过 edquota 命令改变 Solaris 的这一规定。

具体步骤为:

(1)变为超级用户。

(2)使用 quota 编辑器创建一个包含软时间限制的临时文件。即:

# edquota - t

(3)改变时间限制缺省值。这些值使用的关键词有: m onth、week、day、hour、min 和 sec。

例如:

下面的限额文件表示缺省时间限制改变为:磁盘限制一周,文件数目限制为 10 天。

fs/ usr blocks time limit= 1 week ,files time limit = 10 days

106.9 改变用户限额

改变用户限额的步骤为:

(1)变为超级用户。

(2)用 quota 编辑器打开限额文件,然后作相应修改。即:

# edquota username

(3)输入新的限额值。

(4)保存并退出。

系统管理员可用 quota 命令来验证限额变化的正确性。如果各限额值均改为 0,那么限额

将不再使能。

371

107 核参数的调节

系统管理员可以根据需要修改 Solaris 2. X 核心中的参数。

107.1 显示和改变核参数的值

使用 sysdef命令可以显示当前核参数的值。例如:

# sysdef - I

显示内容为:

@* Hostid

803b18ac

* sun4u Configuration

* Devices

packag les (driver not attached)

terminal- em ulator (driver not attached)

deblocker (driver not attached)

obp - tftp (driver not attached)

disk - label (driver not attached)

ufs - file - system (driver not attached)

chosen (driver not attached)

openpr jo m (driver not attached)

client - services (driver not attached)

options, instance # 0

aliases (driver not attached)

mem ory (driver not attached)

virtual- memory (driver not attached)

counter - timer (driver not attached)

sbus, i rnstance # 0

S U N W , CS4231 (driver not attached)

auxio (driver not attached)

flashprom (driver not attached)

S U N W ,fdtwo, instance # 0

eeprom (driver not attached)

zs, instance # 0

zs, instance # 1

sc (driver not attached)

S U N W ,pll (driver not attached)

S U N W ,f �as, instance # 0

sd (driver not attached)

st (driver not attached)

471

sd, instance # 30

sd, instance # 31 (driver not attached)

...

S U N W ,h me, instance # 0

S U N W ,bpp (driver not attached)

cgsix, instance # 0

Q L G C,isp, instance # 0

60 m axim um time sharing user priority ( TS M A X U P RI)

SY S system class name (S YS N A M E)

系统管理员除了能够显示核心参数外,也能够修改它。具体方法为:

(1)变为超级用户。

(2)以如下形式增加一行到文件/ etc/ system 中:

set parameter= value

或:

set m odule name:variable = value

(3)重新引导系统。在系统重新引导期间,系统将根据新的/ etc/ system 文件自动配置系

统核心。

107.2 核参数介绍

(1)Buffer cache 参数:Buffer cache 参数用于指定高速缓存的最大值(单位为 1 K 字节)。

该参数缺省值为物理内存的 2 % 。使用 sar 命令可以检查高速缓存的统计资料。

(2) U FS 文件系统参数: U FS 文件系统参数有两个:

ufs ninode: 定义 I节点表的最大值。缺省为 max nprocs + 16 + maxusers + 64。

ncsize : 定义 dnlc 的入口数。缺省值为 max nprocs + 16 + maxusers + 64。(dnlc is the di-

rectory - name lookup cache)

(3)ST RE A M S 参数:表 7 - 3 说明了 ST R E A M S 参数。

表 7 - 3 ST R E A M S 参数描述

参 数 缺 省 值 描 述

N strpush 9 }允许的 S T R E A M S push 的最大值

Strmsgsz 0 }用户能够创建的 S T R E A M S 信息的最大值。0 �表示不受限制

Strctlsz 1024 �一个信息的 ctl部分的最大值

Sadcnt 16 �sad 设备数

Strthresh 0 }S T R E A M S 子系统能消耗的动态内存的最大值。0 �表示不受限制

(4)内部进程通信(IPC)参数: 表 7 - 4 描述了 IP C 参数。

571

表 7 - 4 IP C 参数说明

类 型 参 数 缺 省 值 描 述

M essage Q ueue msginfo msg m ap 100 �在 m essage 中的入口数

msginfo msg m ax 2048 �最大的 message 的大小

m sginfo m sg m nb 4096 �在队列内最大字节

msginfo msg m ni 50 �m essage 队列识别器的个数

msginfo msgssz 8 ~一个 m essage 的段大小

M sginfo m sgtql 40 �系统信息头的数目

M sginfo msgseg 1024 �信息段的数目(必须小于 32768 �)

shared m e mory Sh minfo sh m m ax 1048576 �共享内存段大小的最大值

Sh minfo sh m min 1 ~共享内存段大小的最小值

Sh minfo sh m m ni 100 �共享内存识别器的数目

Sh minfo sh m seg 6 ~段

系统管理员可以使用以下命令来修改 IPC 参数:

信息队列:set msgsys: msginfo variable = value

共享内存:set shmsys:sh minfo variable = value

(5)内存管理参数。表 7 - 5 描述了内存管理参数。

表 7 - 5 内存管理参数说明

参 数 缺 省 值 描 述

lotsfree 与内存有关 如果 free me m 小于 lotsfree,系统从进程中窃取

tune t fsflushr 30 �Fsflush 运行的速率,在若干秒之内

tune t minarm em 25 �为避免死锁需要的最小可利用的驻留内存(页)

tune t minasm em 25 �为避免死锁需要的最小可利用的交换内存(页)

tune t flckrec 512 �活动 frlocks 的最大数

系统管理员可以使用以下命令来修改内存管理参数:

set tune:variable = value

(6)其他参数:

表 7 - 6 说明了其他参数。

表 7 - 6 其他参数

参 数 缺 省 值 描 述

lw p default stksize 8192 �为lw ps 设计的核堆栈的大小。如果 核没有溢 出,就不要修改 此参数。

此值应是页大小倍数。

N pty 48 �被配置的 4 �.x pseudo - ttys 的总数。

pt cnt 48 �被配置的 5 �.x pseudo - ttys 的总数。

例如:

set pt cnt = 200

671

108 什么是运行控制程序

Solaris 软件环境为用户提供了详细的运行控制程序 rc * ,以控制运行级别的变化。每个

运行级别都在 sbin 目录下有一个相应的 rc 程序:

rc0, rc1, rc2, rc3, rc4, rc5, rc6, rcs

每一个/ sbin 下的 rc 程序, 都有一个相应的/ etc/ rc * .d 目录存放那些执行不同运行级别

的程序。例如:/ etc/ rc2.d 包含的文件是用于启动和停止进程的。

# ls/ etc/ rc2.d

K20 klp S30 �sysid.net S74 �autofs S88 �send mail

K20 kspc S69 ainet S74 �syslog S88 �utm pd

K60 knfs.server S71 orcp S75 �cron S92 �volmgt

R E A D M E S71 �sysid.sys S76 �nscd S93 <cacheos.finish

S01 UM O U N T FSY S S72 �autoinstall S80 �PR ESE R V E S99 �audit

S05 UR M T M PFIL ES S72 �inetsvc S80 �lp

S20 Usysetup S73 �nfs.client S80 �spc

#

/ etc/ rcn.d 目录下的文件总是按 A SCⅡ码顺序运行的,其名字的构成结构如下:

[k,s][0 - 9][0 - 9][ A - Z][[0 - 99]

其中以 k 开头的文件是终止系统进程的。以 s开头的文件是运行系统进程的。

在/ etc/ init.d 目录下有一些运行控制源程序,这些文件被链接到/ etc/ rc * .d 目录下。

每个运行级别都有独自的程序, 这样有一个优点,就是可以在/ etc/ init.d 目录下单独运

行某一程序以关闭某一功能,而不会改变系统的运行级别。使用运行控制程序启动或停止设

备的过程如下:

(1)进入超级用户根目录。

(2) �关闭设备:

#/ etc/ init.d/ 文件名 stop

(3) �重新启动设备:

#/ etc/ init.d/ 文件名 start

(4) �核实以上过程:

# ps - ef | grep 设备

例 1:关闭 N FS 设备。

#/ etc/ init.d/ nfs.server stop

# ps - ef | grep nfs

例 2:重启动 N FS 设备。

#/ etc/ init.d/ nfs.server start

# ps - ef | grep nfs

771

root 136 1 0 07:48:41 ? 0:00/ usr/ lib/ nfs/ statd

root 138 1 0 07:48:41 ? 0:00/ usr/ lib/ nfs/ lockd

root 8571 8020 0 11:03:23 pts/ 4 0:00 grep nfs

如果想要增加一个运行控制程序,就将设备源程序拷到/ etc/ init.d 目录下,在 rc * .d 目

录下创建一个链接。要得到更多的信息,可以看/ etc/ rc * .d 目录下的 R E A D M E 文件。

增加运行控制程序的过程:

(1)进入超级用户根目录。

(2) �在/ etc/ init.d 目录下增加源程序:

# cp 文件名/ etc/ init.d

(3) �在 rc.d 目录下创建链接:

# cd/ etc/ init.d

# ln 文件名/ etc/ rc2.d/ Snn 文件名

# ln 文件名/ etc/ rc * .d/ Knn 文件名

(4) �核实:

# ls/ etc/ init.d/ 文件名/ etc/ rc2.d/ Snn 文件名

# ls/ etc/ rc * .d/ Knn 文件名

例: �# cp X Y Z/ etc/ init.d

# cd/ etc/ init.d

# ln X YZ/ etc/ rc2.d/ S100X Y Z

# ln X YZ/ etc/ rc0.d/ K100X Y Z

将运行控制程序变为以点开头的文件,它就成为不可执行的文件。其过程如下:

(1)进入超级用户根目录。

(2) �将源文件变为以. 开头的新文件:

# cd/ etc/ rc0.d

# cp 文件名 .文件名

下面介绍运行控制程序的内容和功能:

(1)/ sbin/ rc0 执行如下任务:

1)中断系统设备和程序。

2)终止所有正运行的进程。

3)卸掉所有的文件系统。

/ sbin/ rc0 的内容:

# !/ sbin/ sh

# Copyright (c) 1984, 1986, 1987, 1988, 1989 A T & T

# All Rights Reserved

# T HIS IS U N P U BLIS H E D P R O P RIE T A R Y S O U R CE C O D E O F A T & T

# The copyright notice above does not evidence any

# actual orintended publication of such source code.

# ident″@ ( # )rc0.sh 1.16 94/ 11/ 30 S M I″SVr4.0 1.15.4.1

871

# ″Run Com mands″for init states 0, 5 and 6.

P A T H =/ usr/ sbin:/ usr/ bin

echo ’The system is coming down. Please wait.’

# m ake sure/ usr is mounted before proceeding since init scripts

# and this shell depend on things on/ usr file system

/ sbin/ mount/ usr > / dev/ null 2 > & 1

# The following segmentis for historical purposes.

# There should be nothing in/ etc/ shutdow n.d.

if [ - d/ etc/ shutdown.d ]

then

for f in/ etc/ shutdown.d/ *

{

if [ - s $f ]

then

/ sbin/ sh ${f}

fi

}

fi

# End of historical section

if [ - d/ etc/ rc0.d ]

then

for f in/ etc/ rc0.d/ K *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f};; # source it

* ) / sbin/ sh ${f} stop ;; # sub shell

esac

fi

}

# system cleanup functions O N L Y (things that end fast !)

for f in/ etc/ rc0.d/ S *

{

971

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

* ) / sbin/ sh ${f} start ;; # sub shell

esac

fi

}

fi

trap ″″15

# kill all processes, first gently, then with prejudice.

/ usr/ sbin/ killall

/ usr/ bin/ sleep 5

/ usr/ sbin/ killall 9

/ usr/ bin/ sleep 10

/ sbin/ sync;/ sbin/ sync;/ sbin/ sync

# un mount file systems./ usr,/ var and/ var/ ad m are not un mounted by u mountall

# because they are mounted by rcS (for single user m ode) rather than

# m ountall.

# If this is changed, mountall, u mountall and rcS should also change.

/ sbin/ u mountall

/ sbin/ u mount/ var/ ad m >/ dev/ null 2 > & 1

/ sbin/ u mount/ var >/ dev/ null 2 > & 1

/ sbin/ u mount/ usr >/ dev/ null 2 > & 1

echo ’The system is dow n.’

(2)/ sbin/ rc1 运行/ etc/ rc1.d 程序,执行如下任务:

1)中断系统设备和程序。

2)终止所有正运行的进程。

3)卸掉所有的文件系统。

4)使系统进入单用户。

(3)/ sbin/ rc2 运行/ etc/ rc2.d 程序,执行如下任务:

1)安装所有的本地文件系统。

2)如果有一个文件系统是用 quota 操作安装, 则磁盘限额使能。

3)在/ usr/ preserve 下存储编辑的临时文件。

4)删除/ tm p 下的文件。

5)为“重新配置引导”新建设备入口。

081

6)配置记帐系统。

7)配置缺省的路由器。

8)设置 NIS 域和 ifconfig 网。

9)通过安装介质重新引导系统,如果/ . PR EIN ST A L L 或/ A U T OIN ST A L L 存在,则从引

导设备上重引导系统。

10)如果适宜,启动inetd、rpcbind 和 named。

11)启动 Kerbd。

12)启动 NIS(Y pbind)和 NIS + (rpc.nisd),它反映了系统是否配置了 NIS 或 NIS + , 即系

统是客户机还是服务器。

13)启动 Keyserv, statd, Lockd 和 Utmpd。

14)安装所有的 N FS 入口。

15)启动 N CSD( Name Service Cache Daemon)。

16)启动 auto mount, cron, Lp, sendmail, utm pd 和 vold。

注:许多在运行级别 2 上启动的系统设备和应用设备所对应的软件,都被安装在系统上。

/ sbin/ rc2 的内容:

# !/ sbin/ sh

# Copyright (c) 1984, 1986, 1987, 1988, 1989 A T & T

# All Rights Reserved

# T HIS IS U N P U BLIS H E D P R O P RIE T A R Y S O U R CE C O D E O F A T & T

# The copyright notice above does not evidence any

# actual orintended publication of such source code.

# ident″@ ( # )rc2.sh 1.13 95/ 01/ 12 S M I″/ * S Vr4.0 1.16.7.1 */

#″Run Com mands″executed w hen the system is changing to init state 2,

# traditionally called″m ulti- user″.

# Pickup start- up packages for mounts, daemons, services, etc.

P A T H =/ usr/ sbin:/ usr/ bin

set ’/ usr/ bin/ who - r’

if [ x$9 = ″xS″- o x$9 = ″x1″]

then

echo ’The system is coming up. Please wait.’

B O O T = yes

elif [ x$7 = ″x2″]

then

echo ’Changing to state 2.’

if [ - d/ etc/ rc2.d ]

181

then

for f in/ etc/ rc2.d/ K *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;;

* ) / sbin/ sh ${f} stop ;;

esac

fi

}

fi

fi

if [ x$9 ! = ″x2″- a x$9 ! = ″x3″- a - d/ etc/ rc2.d ]

then

for f in/ etc/ rc2.d/ S *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

* ) / sbin/ sh ${f} start ;; # sub shell

esac

fi

}

fi

# if [ ! - s/ etc/ rc2.d/ .ports.sem ]

# then

# / sbin/ ports

# echo ″ports com pleted″> / etc/ rc2.d/ .ports.sem

# fi

# Start historical section.

if [ ″${B O O T}″= ″yes″- a - d/ etc/ rc.d ]

then

for f in / usr/ bin/ ls/ etc/ rc.d`

{

281

if [ ! - s/ etc/ init.d/ ${f} ]

then

/ sbin/ sh/ etc/ rc.d/ ${f}

fi

}

fi

# End historicalsection.

if [ ″${B O O T}″= ″yes″- a x$7 = ″x2″]

then

echo ’The system is ready.’

elif [ x$7 = ″x2″]

then

echo ’Change to state 2 has been co mpleted.’

fi

(4)/ sbin/ rc3 运行/ etc/ rc3.d 源程序, 执行如下任务:

1)启动 rc2 的所有进程。

2)清除 sharetab 内容。

3)启动 nfsd。

4)启动 mountd。

5)如果是引导服务器, 则启动 rarpd, rpc.bootpararam d, rpld。

/ sbin/ rc3 的内容:

# !/ sbin/ sh

# Copyright (c) 1984, 1986, 1987, 1988, 1989 A T & T

# All Rights Reserved

# T HIS IS U N P U BLIS H E D P R O P RIE T A R Y S O U R CE C O D E O F A T & T

# The copyright notice above does not evidence any

# actual orintended publication of such source code.

# ident″@ ( # )rc3.sh 1.12 94/ 12/ 19 S M I″SVr4.0 1.11.2.2

# ″Run Com mands″executed w hen the system is changing to init state 3,

# same as state 2 ( multi- user) but with remote file sharing.

P A T H =/ usr/ sbin:/ usr/ bin

set / usr/ bin/ who - r`

if [ - d/ etc/ rc3.d ]

then

381

for f in/ etc/ rc3.d/ K *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

* ) / sbin/ sh ${f} stop ;; # sub shell

esac

fi

}

for f in/ etc/ rc3.d/ S *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

* ) / sbin/ sh ${f} start ;; # sub shell

esac

fi

}

fi

m odunload -i 0 & > / dev/ null 2 > & 1

if [ $9 = ’S’ - o $9 = ’1’]

then

echo ’The system is ready.’

fi

(5)/ sbin/ rc5 运行/ etc/ rc0.d 源程序,执行如下任务:

1)杀死打印机和 syslog 进程。

2)卸掉本地的和远程的文件系统。

3)停止 N FS 服务器和客户机。

4)停止 NIS、R PC、cron 服务。

5)杀掉所有进程并启动一个交互式引导。

/ sbin/ rc5 的内容:

# !/ sbin/ sh

# Copyright (c) 1984, 1986, 1987, 1988, 1989 A T & T

# All Rights Reserved

481

# T HIS IS U N P U BLIS H E D P R O P RIE T A R Y S O U R CE C O D E O F A T & T

# The copyright notice above does not evidence any

# actual orintended publication of such source code.

# ident″@ ( # )rc0.sh 1.16 94/ 11/ 30 S M I″SVr4.0 1.15.4.1

# ″Run Com mands″for init states 0, 5 and 6.

P A T H =/ usr/ sbin:/ usr/ bin

echo ’The system is coming down. Please wait.’

# m ake sure/ usr is mounted before proceeding since init scripts

# and this shell depend on things on/ usr file system

/ sbin/ mount/ usr > / dev/ null 2 > & 1

# The following segmentis for historical purposes.

# There should be nothing in/ etc/ shutdow n.d.

if [ - d/ etc/ shutdown.d ]

then

for f in/ etc/ shutdown.d/ *

{

if [ - s $f ]

then

/ sbin/ sh ${f}

fi

}

fi

# End of historical section

if [ - d/ etc/ rc0.d ]

then

for f in/ etc/ rc0.d/ K *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

581

* ) / sbin/ sh ${f} stop ;; # sub shell

esac

fi

}

# system cleanup functions O N L Y (things that end fast !)

for f in/ etc/ rc0.d/ S *

{

if [ - s ${f} ]

then

case ${f} in

* .sh). ${f} ;; # source it

* ) / sbin/ sh ${f} start ;; # sub shell

esac

fi

}

fi

trap ″″15

# kill all processes, first gently, then with prejudice.

/ usr/ sbin/ killall

/ usr/ bin/ sleep 5

/ usr/ sbin/ killall 9

/ usr/ bin/ sleep 10

/ sbin/ sync;/ sbin/ sync;/ sbin/ sync

# un mount file systems./ usr,/ var and/ var/ ad m are not un mounted by u mountall

# because they are mounted by rcS (for single user m ode) rather than

# m ountall.

# If this is changed, mountall, u mountall and rcS should also change.

/ sbin/ u mountall

/ sbin/ u mount/ var/ ad m >/ dev/ null 2 > & 1

/ sbin/ u mount/ var >/ dev/ null 2 > & 1

/ sbin/ u mount/ usr >/ dev/ null 2 > & 1

echo ’The system is dow n.’

(6)/ sbin/ rc6 执行如下任务:

1)运行/ etc/ rc0.d/ k * 程序, 停止系统进程。

681

2)杀掉所有激活的进程。

3)卸掉文件系统。

4)运行/ etc/ inittab 文件中initdefault入口。

/ sbin/ rc6 的内容:

# !/ sbin/ sh

# Copyright (c) 1984, 1986, 1987, 1988, 1989 A T & T

# All Rights Reserved

# T HIS IS U N P U BLIS H E D P R O P RIE T A R Y S O U R CE C O D E O F A T & T

# The copyright notice above does not evidence any

# actual orintended publication of such source code.

# ident″@ ( # )rc0.sh 1.16 94/ 11/ 30 S M I″SVr4.0 1.15.4.1

# ″Run Com mands″for init states 0, 5 and 6.

P A T H =/ usr/ sbin:/ usr/ bin

echo ’The system is coming down. Please wait.’

# m ake sure/ usr is mounted before proceeding since init scripts

# and this shell depend on things on/ usr file system

/ sbin/ mount/ usr > / dev/ null 2 > & 1

# The following segmentis for historical purposes.

# There should be nothing in/ etc/ shutdow n.d.

if [ - d/ etc/ shutdown.d ]

then

for f in/ etc/ shutdown.d/ *

{

if [ - s $f ]

then

/ sbin/ sh ${f}

fi

}

fi

# End of historical section

if [ - d/ etc/ rc0.d ]

781

then

for f in/ etc/ rc0.d/ K *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

* ) / sbin/ sh ${f} stop ;; # sub shell

esac

fi

}

# system cleanup functions O N L Y (things that end fast !)

for f in/ etc/ rc0.d/ S *

{

if [ - s ${f} ]

then

case ${f} in

* .sh) . ${f} ;; # source it

* ) / sbin/ sh ${f} start;; # sub shell

esac

fi

}

fi

trap ″″15

# kill all processes, first gently, then with prejudice.

/ usr/ sbin/ killall

/ usr/ bin/ sleep 5

/ usr/ sbin/ killall 9

/ usr/ bin/ sleep 10

/ sbin/ sync;/ sbin/ sync;/ sbin/ sync

# un mount file systems./ usr,/ var and/ var/ ad m are not un mounted by u mountall

# because they are mounted by rcS (for single user m ode) rather than

# m ountall.

# If this is changed, mountall, u mountall and rcS should also change.

881

/ sbin/ u mountall

/ sbin/ u mount/ var/ ad m >/ dev/ null 2 > & 1

/ sbin/ u mount/ var >/ dev/ null 2 > & 1

/ sbin/ u mount/ usr >/ dev/ null 2 > & 1

echo ’The system is dow n.’

(7)/ sbin/ rcs 运行/ etc/ rcs.d,使系统进入运行级别 S,执行如下任务:

1)建立一个最小网络;

2)如果需要, 安装/ usr;

3)设置系统名;

40 检查根(/ )和/ usr 文件系统;

5)安装虚拟文件系统(/ proc和/ dev/ fd);

6)为重新配置引导新建设备入口;

7)检查和安装其它安装在单用户模式下的文件系统。

/ sbin/ rcS 的内容将省略。

109 如何安装 Solaris 2.x

在 Sun 工作站上安装 Solaris 2.x 有以下步骤:

(1)引导系统(从本地系统光盘引导或从网络服务器系统光盘远程引导);

(2)设置安装参数;

(3)选择和设置软件数目;

(4)设置远程文件系统;

(5)开始安装。

109.1 引导 Solaris 2.x

(1)关机。

(2)如果没有本地 CD - R O M 驱动器,联接外置 CD - R O M 驱动器(SCSI 地址设为 6)。

(3)打开 CD - R O M 驱动器。

(4)开机。

(5)同时按 Stop - A 或 L1 - A, 出现“ >”提示 。

(6)按 N 或 Enter 键,出现 O K 提示。

(7)根据核体系结构的不同以不同的方法引导 Solaris 2.x。

执行引导命令,将出现以下提示,安装正式开始:

The Solaris Installation Program

You are now interacting with the Solarisinstallation program. Theprogram is divided into a series

of short sections. At the end of each section, you willsee a su m mary ofthe choices you’ve made,

and be given the opportunity to m ake changes.

981

As you work with the program, you will com plete one or more of the following tasks:

1 - Identify peripheral devices

2 - Identify your system

3 - install Solaris software

> To begin the installation process, choose Continue.

Continue Help

(1)按鼠标左键或键盘的 F2 键选择 continue ,出现如下提示:

Identify This System

On the next screens, you must identify this system as networked or non - networked, and

set the default time zone and date/ time.

if the system is networked, the software willtry to find the information if needs to identify

the system; you will be pro mpted to supply any information if cannot find.

> To begin indentifying the system, choose Continue.

Continue Help

(2)选择 continue,出现 hostname 提示:

H ost Name

On this screen, you m ust enter a host name, w hich identifies the system on the network.

The name must be unique within the do main in w hich if resides, creating a duplicate host name

will cause problems on the network after you install Solaris.

A host name m ust be at least two characters, it can contain letters digits, and minus signs

( - ).

Hostname:

Continue Help

(3)输入本机的 hostname,再选 continue,出现网络连接屏幕提示:

Network Connectivity

On this screen, you m ustspecify whetherthis system is connected to a network. if you spec-

ify Yes, the system should be connected to the network by an Ethernet or similar network

adapter.

091

A host name m ust be at least two characters, it can contain letters digits, and minus signs

( - ).

Networked: �◇ Yes

◇No

Continue Help

(4)选择 yes,本系统将上网,再选 continue,到第五步;选择 no,本系统将不上网,安装直接

跳到第十步。

IP A ddress

On this screen, you m ust enter the Internet Protocol(IP) addressfor this system. it m ust be

unique and follow your site’s address conventions, or a system/ network failure cound result.

IP addresses contain four sets of num bers soparated by periods

(for example 129.200.9.1).

IP address 129.5.2.15

Continue Help

(5)输入你的 IP(Internet Protocol)地址, 选 Continue 键。

Confirm Information

> Confirm the following information. ifitis correct. choose Continue; to change any infor-

mation choose Change.

Host name: (host123

Networked: Yes

IP address: 129.5.2.15

Continue Change Help

(6)确定信息:

1)如果显示信息正确,选择 continue,继续安装。

2)如果需修改信息,选择 change, 即回到第三步 hostname 屏。

Name Service

On this screen, you must provide name service information. Select NIS + or NIS if your sys-

tem is know n to the name server; select Otherif your siteis using another name service(for exam-

191

ple,D E C); select None if your site is not using a name service, or if it is not established.

Name Service: =◇NIS +

◇NIS(formerly Y P)

◇Other

◇None

Continue Help

(7)选择 none,continue。

Subnets

On this screen, you must specify whether this system is part of a subnet. If you specify in-

correctly, the syste m will have problems m unicating on the network affer you reboot.

System part of a subnet: ◇ Yes

◇ No

Continue Help

(8)选择 yes,将显示 netmask 窗口,设置 netmask 号(也叫 subnet mask),它是一组从 host

的 IP 地址分辨附加网络信息的数据。

Netmask

On this screen, you m ust specify the netmask of your subnet. A default netmask is shown;

do not accept the default unless you are sureitis correct for your subnet. A netmask m ust contain

four sets of nu mbers separated by periods(for example 255.255.255.0).

Netmask 255.255.255.0

(9)选择 continue,用缺省值。

Confirm Information

> Confirm the following information. ifitis correct. choose Continue; to change any infor-

mation choose Change.

291

Name Server: aNone

System part of a subnet: Yes

Netmask: 255.255.255.0

Continue Change Help

(10)确定网络信息

1)如果显示信息正确,选择 continue,出现 time zone 窗口。

2)选择 change 返回到第 4 步修改显示信息。

Time Zone

On this screen you m ust select how to specify your default time zone.

> Select one of three methods and choose Set.

Specify time zone by: �◇ eographic

◇ Offset from G M T

◇ Time zone file

Set... Help

(11)选择 geographic region,再选 set,将出现一个地理区域屏,允许选择时区。

Geographic Region

On this screen you can specify your default time zone by geog raphic region.

> Select a region from the list on the left and a time zone fro mthe list on the right.

Regions: WTime zones:

Africa Eastern

Asia,Eastern Central

Asia, W estern M ountain

Australla, New Zealand Pacific

Canada Y ukon

Europe East - Indiana

M exico Arizona

South A merica Michigan

Sam oa

Aleutian

Hawaii

391

U nited states

Continue Cancel Help

(12)首先在 regions:中选择所在地区,然后在 time zones:中选择时区,最后选 continue,显

示 Date and Time 窗口。

Date and Time

> Accept the default date and time or enter new values.

Date and time: )02/ 15/ 97 11:07

Year (4 digits): 1997

M onth (1 - 12): 02

Day (1 - 31): 15

Hour (0 - 23): 11

Minute(0 - 59): 07

(13)用 T A B 键选择字段,输入正确的时间,最后选 continue,将出现 confirm information

窗口。

Confirm information

> Confirm the following information. ifitis correct. choose Continue; to change any infor-

mation choose Change.

Time Zone: �U S/ Pacific

Date and time: 02/ 15/ 97 11:07

(14)确认选的信息:

1)如果显示的信息是正确的,选择 continue。

2)如果显示信息仍需改变,选择 change,将返回到第 10 步,重输入信息之后,将进入“客户

选择安装”。

(15)客户选择安装。

Install Solaris software - install

The screen that follow let you tailor how Solarisisinstalled on your system. The m ain tasks

you m ust perform to install Solaris on your system are:

- Selecting a system tape

- Selecting Solaris software

- Selecting disks to hold software you’ve selected

- Specifying how file systems are laid out on disks

After completing these tasks, a su m mary of your selections(called a profile) is displayed.

You can go back and change selections as many times as you like before starting to install Solaris.

491

> To go to the next screen, choose Continue.

注:若是系统升级,将出现 U pgrade System 屏幕,选择 initial项。

(1)选择 continue,出现 system type 屏幕。

System Type

On this screen you m ust specify one of the following system type A system type determines

w here a system will get its directories and file systems, and w hether it provides parts of the So-

laris software to other systems.

System type: �

◇ Standalone

◇ Server

◇ Dataless client

(16)一般选 standalone,再选 continue,直接进入 software 窗口。若要选择 sever,再选 con-

tinue,则显示 diskless clients 窗口,它显示的是服务器支持的无盘客户机的信息。

Diskless Clients

On this screen you m ust specify information about diskless clie nts the server will support.If

the server will not be supporting any diskless clients, change the defaults below to 0 so disk space

will not be allocated.

N O TE: In the Supported Architectures list, you must select all architectures for diskless

clients that are different fro m the server’s. The default show n is the architecture of the system

you are currently installing and cannot be deselected.

N um ber of diskless clients:

M egabytes of swap per client:

Support Architectures K

□ sparc.sun4 m

□ sparc.sun4

□ sparc.sun4c

□ sparc.sun4d

□ sparc.sun4e

(17)改变 num ber of diskless clients 为 2,选 continue。在服务器上,除客户机的 root 和

swap 区之外,还需要一些空间来存储系统的“原型”备份,它大致需 10 M B。之后,将进入 soft-

ware 窗口。

(18)软件选择:

591

Software

On this screen you m ust select the Solaris software to install on your system. The four soft-

ware groups show n below are bundled and defined by SunSoft. You can accept the default( End

User System Support), or select another.

N O TE: After selecting a software group,you can add or remove software fro m it by selecting

Customize. H owever,this requires understanding of software dependencies and how Solaris is

packaged.

> Select a software group, then choose Customize or Continue.

�Software Group eco m mended S �ize

◇ Entire Distribution 390 M B

◇ Developer System Support 310 M B

◇ End User System Support 235 M B

◇ Core System Support 140 M B

在这一部分,可以有选择地全部或部分安装系统,请参考 help 信息。首次安装系统,如要

安装全部软件,则先选 entire distribution,再选 continue,将直接进入 disk 窗口;如果部分安装

系统,则先选 end usersystem support, 再选 customize,进入 custo mize software 窗口,其中所有

的软件都列在左边的 software clusters and packages:窗口,右上边的 softwaredescription:窗口

则显示当前选中的软件,右下边的 unresolved software dependencies:窗口显示不安装的软件。

Customize Software

Software Clusters and Packages: Size KSoftware Description:

□ 4.1 * Heterogeneous Install Soft Product:4.1 * Heterogeneous

■ A merican English Openlook + Abbreviation:S U N W hinst

■ A merican English Openlook D Vendor:Sun Microsystems,In

■ A merican English Openlook p Description: Add O n instal-

□ Achieve Libraries lation

□ Audio Estimated Size:0 M B in swap

□ Automated Security Enhance

□ Basic Networking

■ Binary Co mpatibility

□ Core Architecture,( Kv m) U nresolved Software

□ Core Architecture,( Root) Dependencies:

□ Core Solaris

Total: 235

Collapsed Cluster □ Required ■ Selected

Expanded Cluster □ Partial □ U nselected

用垂直滚动条可以查看窗口内容,软件选好后,按 O K 键。再选 continue 即出现 disks 窗

691

口。

(19)设置磁盘和文件系统:

Disks

On this screen you m ust select the disks for installing Solaris software. Start by looking at

the Required field; this value is the approximate space needed to install the software you’ve se-

lected. Keep selecting disks untilthe Total Selected value exceeds the Required value.

> To add a disk, select it from the list on the left and choose Add.

> To rem ove a disk, selectit from the list on the right and choose Remove.

Available Disks : Selected Disks:

C0t3d0 bootdrive 404 M B

C0t3d0 404 M B MAdd >

< Remove

Total Available: 808 �Total Selected: 0

Required:277

Recom mended:352

假设现有 c0t3d0 和 c0t0d0 两个盘,将 c0t3d0 作系统盘,先用鼠标点一下 c0t3d0,再选

A D D,最后选 continue 。

注意:如果 c0t3d0 盘已有文件系统,系统会提示是否保存已存在的数据。

Automatically Layout File Systems ?

Do you want to use the auto - layout feature to automatically layout file systems ? M anually

laying out file systems requires advanced system ad ministration skills.

> To use the auto - layout feature, choose Auto - layout.

> To manually lay out file systems, choose M anuallayout.

选 auto - loyout,自动分配文件系统窗口出现。

Automatically Layout File Systems

On this screen you must select allthe file systems you want auto - layout to create, or accept

the default file system shown.

N O TE: For small disks(less than 200 M B),it may be necessary for auto - layoutto break up

791

some of the file systems you request into smaller file systems to fit the available disk space. So,

after auto - layout co mpletes, you may find file systemsin the layoutthat you did not selectfrom

the list below.

Create: �□/

□ swap

□/ usr

□/ opt

□/ export

□/ export/ root

□/ export/ swap

□/ export/ exec

□/ usr/ open win

□/ var

如不做任何改动, 选 continue, file system and disk layout 屏显示。

File System and Disk Layout

The su m mary below is your current file system and disk layout, based on the information

you’ve supplied.

N O TE:If you choose Customize, you should understand file syste ms, theirintended purpose

on the disk, and how changing them may affect the operation of the system.

> To accept the layout show n, choose Continue.

> To custo mize the layout, choose Customize.

File S lystem �Disk S �ize Options

/ c0t3d0s0 161 M B

swap c0t3d0s1 32 M B

overlap c0t3d0s2 404 M B

/ export/ swap c0t3d0s4 70 M B

/ usr c0t3d0s6 140 M B

选 customize,显示 customize disks窗口,即可改变分区大小。

(20)设置远程文件系统:

如果不需安装远程系统,选 continue,直接进入“starting the installation”窗口。如需远程

安装则选 remote mounts,显示 mount remote file system 窗口。

M ount Remote File Systems ?

891

Do you want to mount software fro m server ? This may be necessary if you had to remove

software because of disk space pro mblem

> �To go to the M ount Remote File System screen, choose Remote

M ounts.

> To bypass m ounting remote file system, choose Continue.

109.2 安装

Profile

Installation Option The information show n at

Initial the left is your profile

System Type forinstalling Solaris

Standalone software.It reflects the

Software End User System Support previous screens.

File System and Disk Layout

/ c0t3d0s0 140 M B > To accept the profile

swap c0t3d0s1 32 M B show n and start installing Solaris software

overlap c0t3d0s2 404 M B ,

选 begin installation 正式开始安装。系统安装后,要想在根下使用 Open Windows 工具,就

要设置 Open Windows 的环境文件,否则就不必进行这一步。

(1) �把下面的几行增加到/ etc/ profile 文件的末尾:

PA T H = $P A T H:/ usr/ open win/ bin

export PA T H

L D LIB R A R Y P A T H =/ usr/ openwin/ lib

export L D LIB R A R Y P A T H

(2)运行 logout命令,重新注册 root。

(3)启动 Open Windows。

110 如何通过网络安装 Solaris 2.X

对于没有本地 C D—R O M 的机器来讲, 可以通过网络远程安装 Solaris 2.x 软件,这就要

求网络上必须有安装服务器,安装服务器包括两个内容:

(1)引导服务器;

(2)操作系统镜像服务器。

客户机的引导服务器所起的网络引导作用和无盘客户机的服务器是相似的。若网上任一

系统有 C D—R O M ,它可以使本地无 C D - R O M 的机器共享,则此系统被称为镜像服务器。在

网络上两种服务器有时是独立的,有时又合二为一。当它们同在一台机器上时,这个系统就被

称为安装服务器。

有时可能要安装多个系统,但从 CD - R O M 安装速度太慢,如果服务器的磁盘有足够的

991

空间(大约需 250~300 M B),将 CD - R O M 上 Solaris 2. X 的内容拷贝到硬盘上,再安装,速度

就会更快,下面将分别介绍 Solaris 2.X 的安装过程:

110.1 配置引导服务器(此服务器也可能是镜像服务器)

# setup install server [ - b] 目录

- b:没有此项,setup 命令会把 C D - R O M 的全部内容拷到硬盘上。

110.2 配置网络文件(以下都是指客户机的 IP 地址)

(1) �/ etc/ hosts:

IP address hostname alias

(2) �/ etc/ ethers:

enet address hostname

注意:hosts 和 ethers文件配置好之后,引导服务器和客户机才可通讯。

110.3 设置镜像服务器

把 C D—R O M 上的文件拷贝到服务器上,使整个网络能共享。

110.4 增加安装客户机

# add install clinet [ - s服务器目录] hostname

111 前后台进程如何转换

SunO S 是一种多任务操作系统,它允许用户同时运行多个进程(作业)。用户在终端上交

互式运行的程序称为前台进程。不需用户干预而运行的程序称为后台进程。在同一终端或窗

口内,同时只能运行一个前台进程,但可运行多个后台进程。

用户如要在后台运行某一作业,只要在命令最后加一个 & 符号。如果用户想把某一正在

前台运行的作业转到后台,只要做如下两步工作:

(1)在运行前台作业的终端或窗口,同时按下 Ctrl键和 Z 键,暂停作业运行。

(2)在该终端或窗口操作系统提示符下,执行 Shell 内部命令 bg。bg 命令可以使当前或指

定作业进入后台。

如果用户想把后台作业转为前台运行,可采取如下方法:

(1)执行 jobs命令,查看后台作业号。

(2)执行 fg 命令。

002

第八章 网络系统的管理和维护

112 什么是以太局域网

以太局域网是目前 U NIX 工作站普通使用的局域网络系统。它是美国 Xerox 公司于

1975 年研制成功的,由于采用了无原介质(如同轴电缆)做为总线来传播信息,故以历史上传

播电磁波的所谓“以太”(Ether)命名。

以太网的主要特点具体为:

数据传输速率 �10 M B/ 秒

最大站间距离 2.5 公里

最大工作站数 1024

传输介质 同轴电缆、双扭线和光纤

拓扑结构 总线或分支的无根树

介质访问控制 CS M A/ C D

信息帧 大小可变,最长为 1518 个字节

一般地讲,以太网络系统包括以下几部分:

(1)网络主机:运行用户程序,担负数据处理和网络管理的计算机系统。如 Sun、D EC 等工

作站或服务器。

(2)网上节点:网上节点的任何设备,如计算机、终端集中器、终端或打印机等。如 PC 微

机、D E C 工作站或 D ECserver250 等。

(3)通信设备:包括通信处理机、调制解调器、通信线路(如电话线,同轴电缆、光缆等)和控

制器以及网络互连设备等。

(4)网络协议:网上通信双方彼此可共同遵守的规则和约定。如 N FS、T CP/ IP、N E T-

W A R E 等。组建网络系统,硬件上除需要网络主机和网络节点机以外,一般还要有连接网

络系统的介质和设备。如网络控制器、中继器、接头、收发器、同轴电缆和双绞线等设备或

介质。

112.1 网卡和网络控制器

工作站(网络节点机)加入以太网通过网卡和网络控制器实现。网卡也称通信适配器,它

是微机入网必须的设备。目前,网卡种类繁多,但功能类似。如 16 位网卡 3C O M 3c503、

3c509, N E2000 以及 32 位网卡 N E3200 等。大中小型机和工作站入网是通过网络控制器来实

现的。一般大中小型机和工作站内部均集成了网络控制器。如 Alpha 工作站加入以太网是通

过 P M A D 或 D E M N A 控制器实现的。P M A D 用于使用快速通道( T U RB Ochannel)I/ O 总线的

工作站;D E M N A 适用于具有 X M I I/ O 总线的工作站,常用的 D E M N A 控制器为 D EC L A N-

controller 400。

102

112.2 双绞线

双绞线由两根绝缘导线以螺旋形绞合在一起,线芯是铜线或镀铜钢线。通常把若干对双

绞线由坚韧护套包裹构成电缆。每一对双绞线作为一根通信线使用,以减少各对导线之间相

互电磁干扰。

在微机局域网中,双绞线作为基带数字信号传输的媒体。它不仅可用在局域网本体部分

的连接,而且还可以作为网间互连的传输媒体。双绞线的传输速率随网线长度的不同而不同。

双绞线的抗外界干扰是由于线对上的差分信号具有共模抑制干扰的作用实现的。为了提

高其抗干扰能力,可以选用屏蔽双绞线,即在双绞线对的外壳上加一层金属屏蔽护套。屏蔽护

套在使用时要接地,这样才能减少外界电磁场对双绞线上信号的干扰。

从成本上讲,双绞线是最低的。但由于双绞线在网络最大长度上受到限制,如果考虑到网

络信号中间放大和转接,所要的投资并不比使用同轴电缆、光缆来得低,因此双绞线作为传输

媒体适合小范围局域网使用。

双绞线有 3 类双绞线和 5 类双绞线之分。5 类双绞线一般用于高速网络系统中。

112.3 同轴电缆

同轴电缆是目前局域网普通采用的传输媒体。同轴电缆大致分为三种,即阻抗为 50 欧

姆、75 欧姆和 93 欧姆的电缆。以太局域网选用 50 欧姆同轴电缆。

同轴电缆由内外两个导体组成,内导体是一根导线,外导体是以这条导体为轴的圆柱面,

内外导体之间由绝缘的填充物支持以保持同轴。内导体可以是单根较粗的导线,也可以是多

股细铜线;外导线可以是圆筒形铜箔,也可以是细铜线编织的一个网作为外导体。这种同轴电

缆在外导体外面都敷有绝缘护套,外径范围为 10~25 毫米。

同轴电缆的抗干扰性总的说来要比双绞线优越。使用时,把同轴电缆外导体接地,就能屏

蔽外界电磁场对内导体信号的干扰。在局域网中,50 欧姆同轴电缆分为粗、细两种。粗电缆

传输性能优于细电缆,其网络段的最大长度在 10 M B/ 秒时可达 500 米至 1000 米;细电缆则在

200 米至 300 米。但粗电缆的价格一般是细电缆的 4 倍至 5 倍。

112.4 光缆

光缆作为局域网的传输媒体,有着令人鼓舞的前途。光缆具有圆柱形的形状,由纤芯、包

层和护套三部分组成。纤芯是最内层部分,它由一根或多根非常细的由玻璃或塑料制成的绞

合线或纤维组成。每一根纤维都由各自的包层包着,包层是玻璃或塑料涂层,它具有与纤芯不

同的光学特性。最外层是护套,它包含着一根或多根已加包层的纤维。护套是用塑料或其他

材料制成的。用护套来防止潮气、擦伤、压伤或其他外界带来的危害。在护套中使用填充物加

固纤芯。

光纤利用全内反射来传输经信号编码的光束。在发送端需要用单色光做为光源,并且经

过调制后送入光纤。目前使用的光源有两种,即发光二极管和激光注入二极管。

在接收端用充电二极管把光信号转变成电信号。使用光缆做为传输媒体主要用于节点间

的点到点连接。由于光纤传输损耗小、频带宽,因此,每一段的距离比双绞线和同轴电缆长得

多,对于多模光纤为几千米;对于单模光纤达几十千米至几百千米。

光导纤维是不受电磁干扰和噪音影响的,因此,可以可靠地实现高数据率的传输,并且有

极好的保密性。但是使用光缆成本较高。

202

112.5 路由器和中继器

路由器是一种网间连接设备。它最基本的任务是把数据从一个网络送到另外的一个网

络。路由器是一种包交换设备。而 TC P/ IP 协议也是使用的包交换协议。路由器在网中类似

于一个邮局。邮局会根据信件、包裹的地址分拣投递信件、包裹到下一个邮局,而下一个邮局

按此原则会继续分拣投递,直到把信件、包裹送到接收人手中。

路由器是一种功能很简单的特殊计算机。它负责建立路由表和转发 IP 数据报。它利用

它的 CP U 和存储器能够正确地理解和识别 IP 数据报。然后根据路由表决定将一个数据报送

到哪里。这一过程叫做路由选择。

网络中继器是用来连接两段分隔的网络传输介质的。它的主要功能是放大接收的信号,

然后传送出去。

112.6 集散器( H U B)

集散器是一个高效的以太网络连接设备。常用的集散器为 DE Chub90。它既可以直接连

8 个工作站,又可以直接连 8 个 D E C 中继器,如连 8 个类似 repeater 90T/ 90C 等的中继器,那

么最多可引出 64 根以太网电缆。每根以太网电缆又可接多个不同机器。

在传统的集线器基础上,近年来又推出了交换式集线器。交换式集线器是把多端口桥接

器功能集成于集线器中,为分段的局域网提供交换连接功能,为网络上的站点提供所需的专用

带宽,主要用于大型网络的交换中心,由它向下连接服务器和工作组集线器,组成一个分级连

接的交换式网络系统。交换装置的作用就象是一个非常快速且具有多个连接口的桥接器,可

以在各个不同的节点之间建立专门的连接线路,而不必和别的节点共用频宽。这种交换技术,

可不必更换使用者现有的配置、网卡或相关的软件,因此,可保障使用者现有的投资,且又能有

效提高网络的频宽及工作效能,因此是一种性价比相当高的新一代网络技术。

集线器交换技术大约在 1992 年开始才较为人所知,由于其本身是一个较新的技术,因此

初期市场价格较高,但在各家厂商相续投入的情况下,价格迅速下降,相对也带动了市场的大

幅度增长。

112.7 网络收发器

工作站或其它设备加入标准同轴电缆的网络系统时需使用收发器。收发器是一个无需

干预就能接收和发送信号的电子器件。收发器通过收发器电缆与工作站或其它上网设备连

接。

112.8 终端服务器

终端服务器适于在网络中连接大量终端和串并行打印机,在一定程度上,它相当于一个终

端集接器,但它不只是电路上的简单的连接。连接在终端服务器上的终端可以访问网上服务

器的资源。D EC 提供的终端服务器有 DE Cserver 250 和 D EC server 550 等。

D EC Server 250 主要用于安装打印机服务器,通过它可以把打印机设置为网上服务器,供

以太局域网上用户共享。自然 D E Cserver250 也可连接终端。D ECserver 250 共有 6 个出口,

其中第一个出口可连接终端或调制介调器,第五、六个出口可连接并行打印机,第一至第四个

出口可接串行打印机。

D ECserver 550 是一个能够集中连接多达 128 个终端的终端服务器。它具有模板式结构,

有 8 个插槽,用户可以选择 D EC 提供的几种通信模板,自由组合服务器的规模。

302

113 什么是以太网地址和网络内部地址(节点地址 - IP)

以太网地址是工作站独一无二的硬件地址。它由 48 位二进制数组成,通常用 12 个 16 进

制数表示,每两个 16 进制数之间用冒号分隔,例如:08:00:20:0e:56:7d。

电子电气工程师协会(IEE E)负责管理以太网地址,前三个 8 位字由 IE E E 负责分配,后三

个 8 位字由各工作站或其他以太网设备厂商负责分配。

任意两个以太网设备的以太网地址均是不一样的,同时任意以太网设备的以太网地址均

不能超出以上范围。

在以太网地址的每一段中,如第一个数是零,书写时可省略,如:08:00:20:0e:56:7d 可写

为:8:0:20:e:56:7d。

系统管理员可通过如下方法查看工作站的以太网地址。

(1)在监控状态执行 banner 命令,即:

O K banner

在该命令的显示结果中,会有如下内容:

Ethernet address 8:0:20:1a:ee:ff, Host ID:7311eeff.

(2)重新启动工作站。系统在自检时会显示以太网地址。

网上的每台机器称为一个接点,每个接点有其唯一的名字和唯一的网络地址。每个接点

通过接口或控制器与网络连接。

网络内部地址也称节点地址,它是网上站点机身份的标识。节点地址表示法有两种,一种

是 IP 地址表示法,另一种是域名地址表示法。域名地址表示法,是用字符串表示网络节点地

址。IP 地址由 32 位二进制位组成,根据表示的网络数和网络节点数的多少,将 IP 地址划分

为 A、B 和 C 三类,由 32 位前一位或前面两位区别:0 表示 A 类,10 表示 B 类,110 表示 C 类。

IP 地址是 Internet上的网络实体的唯一标识符。这样的网络实体包括网络中的每一个

PC、大型计算机、工作站、网络打印机、网络绘图仪和路由器等。IP 地址的作用类似于个人的

电话号码或邮箱,而网络中的路由器类似于邮政系统中的邮局。

IP 地址中的网络位(IP 地址中的前面一部分)可表示不同的互联网络的地址,网络节点位

可表示某个互联网络中网络节点的地址。网络地址类似于电话号码中的区号,而主机地址类

似于某一区号中的单个电话号码。网络位越长,能够表示的互联网络的个数越多;网络节点越

长,能够表示的网络中节点/ 主机数越多。对于 A 类网,第二位至第八位可表示子网数,共可

表示 127(0~126)个;而每个子网最多可有 16 万个接点机。127 这个值系统保留,用于系统自

身数据包传送,在 Solaris 环境下,回送地址为 127.0.0.1。B 类网最多可有 65000 个接点机。

C 类网最多可有 254 个接点机。

在网络节点位中最多可保留前 4 位作为该网络中的子网地址表示位,以区分该网中的子

网络。将 32 位二进制地址表示划分为 4 段,即每段 8 位二进制转换表示,4 段十进制数之间

用圆点(.)符区分,就是 IP 地址,如 192.9.200.15。

表 8 - 1 说明了 IP 地址表示法中地址的具体含义。

402

表 8 - 1 IP 地址表示法中地址的具体含义

节点地址 类 网络地址 节点地址

16 �.126.16.250 A 16 -126 �.16.250

130 .180.23.45 B 130 �.180 23 �.45

195 .100.78.50 C 195 �.100.78 50 W

在工作站上,网络中的节点地址一般放在/ etc/ hosts 文件内。用户使用 ifconfig 命令可查

看所有网络接口,该命令执行过程为:

# ifconfig - a

lo0: flags= 849 < U P,L O O PB A C K,R U N NIN G, M U L TIC AS T > mtu 8232

inet 127.0.0.1 netmask ff000000

le0: flags = 863 < U P,B R O A D C AST, N O T R AILE R S,R U N NIN G, M U L TIC A ST > mtu 1500

inet 192.9.200.117 netmask ffffff00 broadcast 192.9.200.255

ether 0:0:0:0:0:0

在上述显示信息中,192.9.200.117 表示本机 IP 地址,屏蔽码为 ffffff00,广播地址为

192.9.200.255。

对于一个接点机的 IP 地址,最后一个域不能为 0,也不能为 255。0 是网络地址,255 是广

播地址,即网上所有接点机的公用地址。

114 什么是 O N C、N FS、TC P/ IP、NIS、R PC 和 X D R

在使用 Sun 工作站或翻看 Sun 工作站产品介绍材料时,用户经常可以看到 O N C、N FS、

T CP/ IP、NIS、RPC 和 X D R 等名词,这些名词有何具体含义呢 ?这些名词均与 Sun 网络环境

有关。

O N C(Open Network Com pute) 是指 Sun 开放网络计算环境,它是成套的网络服务协议。

O N C 允许运行不同操作系统的不同体系结构的计算机共存于同一网络环境中。 O N C 通过

N FS、NIS、R PC 和 X D R 等软件,使用户可以自由地透明访问网上信息和应用软件。

T CP/ IP 是一组计算机通信协议的集合。它着眼于由异构的网络系统构成的网络,因此

有时称 TC P/ IP 网络为网际(lnternet),也称它为异种机互连协议。

T CP/ IP 是当今最成熟,应用最广泛的互联网技术,拥有一整套总体结构和协议标准。按

照 TC P/ IP 而建立的,目前世界上最大的因特网 Internet 覆盖了北美和西欧的许多大学、科研

机构、政府及军事部门,且已成为世界上许多专业人员工作环境的一部分。

T CP 是 Transmission Control Protocol的缩写,意为传输控制协议。IP 是 Internet Protocol

的缩写,意为互联网络协议。T CP/ IP 实际上是有十多个协议组成的一个协议集,而 TC P 和

IP 是该协议集中两个极其重要的协议。

T CP/ IP 支持多种典型网络服务,例如:远程文件拷贝(rcp),远程 shell执行(rsh),远程登

录(rlogin),远程文件传输(F T P)和终端仿真(telnet)。

N FS 是基于 T CP/ IP 的网络文件系统( Network file System),它是目前工作站环境下分布

502

式文件系统的事实标准。它首先由美国 S U N 微系统公司开发,得到 IB M 和 D E C 等世界上大

的计算机厂商的认可。N FS 允许网上不同机器共享同一文件系统资源;同样一台机器,既可

以作为文件系统的输出者,也可作为文件系统的引入者。它提供对异种机、异种网络上文件透

明访问。远程异种机型的文件系统可同本地的文件系统安装于一体,构成一个完整的文件系

统。用户使用远程文件系统与使用本地磁盘一样。

NIS 是在 R PC/ X D R 支持下的应用服务———网络信息系统( Network Information Sys-

tem )。用户使用 NIS 可通过名字查找路径。在 SunOS 的早期版本中, NIS 被称为 Y P( Yellow

Pages)。NIS 具有分布式数据库的功能,它类似于一个电话薄(英国的电话薄封皮是黄色的),

因此称它为 Y P。 NIS 与 N FS 一样,它独立于机器,也独立于操作系统和网络类型,因此可以

称它为分布式的信息查寻服务。在没有 NIS 的网络中,网络管理员需要对网络的服务器、客

户机以及独立型机器上的管理文件分别进行维护,工作量大,又易出差错。而使用 NIS 系统

后,网络的管理变成了对一个称之为 NIS 主( master)服务器上管理文件进行维护,大大简化了

网络管理,因此,可以讲 NIS 是网络务理员的得力助手。近来, SunSoft 公司又推出 NIS +

( Network Information System Plus),其性能又有提高。

RP C(Remote Procedure Call)是一个过程库和相应的一套协议,它以过程调用方式完成某

种分布式处理同调用进程使在不同机器上的服务进程执行一个过程调用,其表现形式就如同

调用进程在自己的地址空间执行二个过程调用一样。

X D R (External Data Representation)是一个可移植数据的传输标准规范。它的主要功能

是把应用程序中所使用的数据结构转换成一个与机器无关的传送数据流,这种数据流可在各

种机器上传送。

115 什么是 IPlanet W eb Server 和 Proxy Server

IPlanet W eb Server 是一个 3 W 服务器软件,IPlanet Proxy Server代理服务器软件,他们都

是美国在线(A merican O n Line, Inc.)和太阳公司(Sun Microsystems,Inc.)结成战略联盟思想

的结晶,它提供一系列稳健的基于互联网的基础软件、电子商务软件及专业服务。

(1)IPlanet W eb Server 有如下特点:

1)通过智能化负载均衡、进程监控、动态滚动日志和 U NIX 上的多程支持等技术使系统

能够稳定运行。

2)通过支持 Java Servlet 扩展、JavaServer Pages 以及进程内插件式 Java 虚拟机的高性能

Java 应用程序平台传送个性化的用户记录。

3)它的多进程、多线程架构, H T T P 1.1 兼容性和对 SSL 硬件加速的支持在高负载时仍表

现出卓越性能。

4)通过委托管理、群集管理、SN M P 监控和对 IPlanet 目录服务器的紧密集成,轻松管理成

千上万用户的复杂网站。

现在的电子商务网站面对许多挑战,包括产生高利润增长的强大竞争和压力。不幸的是,

许多站点还必须为维护技术而挣扎着。IPlanet W eb 服务器企业版通过提供可靠高效的构架,

减轻了管理难度,并能产生个性化的用户记录,最大化正常运行时间。

IPlanet W eb 服务器企业版有许多独有的特征来最大化运行时间。智能负载均衡可以更

602

好地在多个 W eb 服务器间分配客户请求,以降低单个服务器过载的风险。多进程模式和自动

容错功能确保在一个进程失效时,发放给服务器的请求仍能被处理,而失效的进程在不需管理

员干预的情况下可以自动重新开始。动态滚动日志允许管理员在不关闭服务器的情况下滚动

服务器日志。

电子商务网站必须不断的改善用户记录,以领先于竞争者。这就需要能够在不牺牲性能

和稳定性的前提下生成动态内容的应用程序环境。IPlanet W eb 服务器提供了较好的 Java

Servlet 扩展和 JA P 框架。IPlanet W eb 服务器企业版以紧密集成 Java 引擎以及为获得高可扩

展性和低等待时间给每个平台配备本地 JV M 为特色。这使它成为 Servlets 和 JSPs,以及和 I-

Planet应用程序服务器相连接的完美平台。

电子商务网站通常是复杂的具有上万的注册用户的多服务器环境。IPlanet W eb 服务器

企业版提供简单易用的工具,能以更低的费用来管理维护这样的网站。管理员可以使用这些

工具来一次性管理用户,分配管理职责,管理多服务器,并实时监控服务器活动。使用绑定的

IPlanet 目录服器,IPlanet W eb 服务器企业版提供了一种集中方式,可以简单的对上万注册用

户添加、修改和删除信息。

(2)IPlanet Proxy Server的特点:IPlanet Proxy Server 可缓存与过滤 W EB 内容,帮助网络

管理员减轻网络负担,保护内部网络内容及基础结构,并控制对网络资源的访问。在内容过

滤、访问控制、C A C H E 缓存、性能和企业管理等领域发挥超值作用。

随着经过 Internet 网关和广域网的通信量的成指数增长,网络的堵塞状况也日益严重。

这种情况使网络管理员面临巨大挑战。他们需要管理不断增加的网络流量,控制对不适当内

容访问,保护网络不受病毒侵害,还要对加密信息有选择的控制其出入。

IPlanet Proxy Server是一个强有力的复制与过滤 W EB 内容的应用系统,它可以显著降低

网络拥挤程度,控制用户对网络资源的访问,简化加密通信过程,使网络维护与管理的费用得

以节省。

IPlanet Proxy Server 代理服务器的有效复制模式是只有当某个终端用户需要它时,才要

求数据。这使客户机访问 Internet 或 Internet 的响应时间大大缩短,显著降低网络成本。智

能化按需复制能力可将那些被频繁访问的文件超高速缓存起来,以节省网络带宽。IPlanet

Proxy Server代理服务器还具有版本控制和维持文件过期信息的功能,以保证及时发布最新

信息。它的按命令复制能力可允许用户规定要从内部网或 IN T E R N E T 上预先下载的文件、

目录及地点。这使各公司有效透明地将所需内容复制到远程办公室。

IPlanet Proxy Server 代理服务器的细粒度控制有效保护了对文件、目录或站点的访问。

它采用用户名与口令的组合或通过 IP 地址、主机名或 D N S 通配符表达式对资源访问加以限

制。代理服务器还提供 Internet 网关上的病毒探测器和基于内容的过滤器。

代理服务器的移植性和高性能,使其成为在一个内部网上或 IN T E R N E T 上进行无缝通

信的最佳方案。对 IPlanet Proxy Server Plug - in A PI 的支持允许融合第三方技术及定制的内

部解决方案。

IPlanet Proxy Server 在一个高性能 H T TP 引擎上运行,支持 H T T P 在字节范围和“keep -

alives”方面的扩展,改善了处理复杂文件的性能。IPlanet Proxy Server 代理服务器的结构可有

效支持 128G 数据的超高速缓存和 7 千万个唯一的 U R L。

通过 IPlanet Proxy Server,网络管理员可以轻松管理代理服务器的智能网。使用代理路

702

由和 Com unicator的 A PC(自动代理配置)特性,管理员可以构成代理链,进行层次化超高速缓

存。AP C 还可以在不接触每个桌面设备上客户方软件的情况下,调整代理的底层结构。I-

Planet Proxy Server 使用 Comunicator 的直觉界面,能在网络的不同地点对网络进行加密管理,

并支持 S N M P。

衡量一个网络的强度,仅需看它最薄弱的链路,通常是它的网关的强度如何。IPlanet

Proxy Server 通过为 Internet 通信提供一个网络控制点,加强了网络的安全性。它控制对外部

网络的通信,提供经防火墙的访问能力,并对所有事务日志进行编译。安全逆向代理还允许

Proxy Server作为所有与某个远程 W EB 服务器连接的客户机的中间人,代表被保护在一个防

火墙内的服务器接收加密信息。IPlanet Proxy Server 为整个网络的可靠性增加了有效措施,当

网络或一个远程 W EB 服务器失效时,通过自动响应和故障绕过技术可与第二个代理相连接。

116 NIS + 的管理和配置

116.1 名字服务简介

名字服务(name services)也叫网络信息服务( Network Inform ation Services 简称 NIS)。常

用的名字服务有:D N S、NIS、F N S 和 NIS + 。所谓名字服务就是以名字为基础的服务,服务系

统根据工作站的名字提供多种服务。名字服务系统存放着用户、工作站和应用程序通过网络

进行通信的信息。如果没有名字服务,每个工作站均必须管理这些信息,这些信息包括机器地

址、用户名字、口令和网络访问权限。如果使用名字服务就可把网络中机器的这些信息存放在

文件或数据库集中管理,这将会使得管理一个大型网络变得更为容易。

假如创建了一个有三台机器(pine、elm 和 oak)组成的网络系统。从网上任一台机器

(pine)传送信息到另一台机器(oak)时,必须事先知道另一台机器(oak)的网络地址。为了减少

记忆冗长的网络地址(类似 100.100.100.125)的麻烦。在每台机器需创建一个文件/ etc/

hosts,该文件用于描述每台机器的网络地址和相应的名字。参看图 8 - 1。同样,有关安全信

息、邮件信息、以太网接口信息、网络服务和用户帐号等也需创建类似/ etc/ hosts的文件,用于

图 8 - 1 一个简单的网络系统

存放这些信息。如果有一些信息发生变化,系统管理员必须修改每台机器上的有关文件。使

用这种分散的信息管理服务维护小的网络还可以应付,对于大型网络系统的管理和维护简直

无法进行。基于这种原因,名字服务( Name Services)便应运而生。

名字服务提供了一种解决方案。它把所有的网络信息集中到一台称为服务器的机器上,

802

其他工作站不再存放网络信息。服务器为其他工作站(称为客户机)提供信息服务。这种通过

网络集中向客户提供服务的机制称为服务器/ 客户计算(client - server co mputing)。

下面简单介绍四种名字服务 D N S、F N S、NIS 和 NIS + 。

116.1.1 D N S

D N S 是 Do main name System 的缩写。这种名字服务通过 Internet为 T CP/ IP 提供名字服

务,也就是使用工作站的通用名字而不是 IP 地址来访问网络。使用 D NS 网络的工作站的集

合称为 D N S 名字空间(na me space), D N S 名字空间可以根据不同的域分成层次。一个 D N S

域是一个简单的工作站组。每个域由两个或更多的名字服务器支持:一个基本服务器和一个

或多个次级服务器。每个服务器通过运行 in.named daemon 进程来实现 D N S。在客户机上,

D N S 通过“resolver”实现。

116.1.2 F NS

F N S 是 Federated Name Service 的缩写。它支持在单一 Solaris环境下的不同的名字系统。

也就是说,在网络上,对于所有不同的名字服务,F N S 允许用户使用一个单一的、简单的名字

系统接口。

116.1.3 NIS

NIS 是 Network Information Services的缩写,它独立于 D NS 而发展,它与 D N S 有不同的

着眼点。D N S 主要是让用户通过使用名字而不是地址来进行通信,它简化了通信;而 NIS 着

眼于网络管理化,它通过网络信息的集中控制来简化网络管理。这样以来, NIS 系统不但存储

工作站的名字和地址,而且存储用户、网络本身和网络服务。网络信息的这种组成称为 NIS

的名字空间。NIS 数据库存放在主服务器和所有复制(备份)服务器或从属服务器上。基本服

务器称为主服务器,为了保证可靠性,建立了备份服务器(replica or backup)。备份服务器为

NIS 客户提供服务,备份服务器和主服务器均使用 NIS 信息审查软件,也均存放在 NIS 图。

在名字空间中,象 D NS 一样 NIS 也使用管理工作站、用户和网络的域,但 NIS 不使用 D N S 的

域层次结构,因此 NIS 域无法直接连接到 Internet。

116.1.4 NIS +

NIS + 是一种类似 NIS 的网络名字服务。它不是 NIS 的一个简单扩展,而是一个具有更

大功能的新软件。NIS + 比 NIS 有更强的功能:

(1)数据访问的安全性;

(2)有层次的分区块的管理;

(3)较大的名字空间管理;

(4)通过域访问资源;

(5)在名字空间中的信息快速升级。

NIS + 是一种分布式网络信息服务,它包含系统和网上用户的层次信息。 NIS + 系统使用

户能够把工作站地址、安全信息、邮件信息、以太网接口和网络服务存放在一个管理中心,以便

网上客户存取它。NIS + 把有关的信息存放在 16 种表中(参看图 8 - 2)。网络信息的这种配

置称为 NIS + 名字空间。

NIS + 名字空间是一种层次结构,它类似于 U NIX 系统的文件系统结构。NIS + 使用客户 -

服务器模式存储和访问名字空间中的信息。每个域由一套服务器支持。基本服务器称为主服

务器,为了保证可靠性,建立了备份服务器(称为 replica)。备份服务器为 NIS 客户提供服务,

902

图 8 - 2 N IS + 信息表

备份服务器和主服务器均使用 NIS + 服务器软件,也均存放和维护 NIS + 表。主服务器上的

任意变化均能使备份服务器上的表做自动变化。 NIS + 数据库存放在主服务器和所有复制

(备份)服务器上。Solaris 客户使用名字开关(switch -/ etc/ nsswitch.conf)来决定从哪一台工

作站上存取网络信息,这些网络信息可能存放在本地/ etc 文件内或 NIS 或 D N S 或 NIS + 。

Solaris2.x 中带有 4 个版本的名字服务开关的配置文件:

(1)/ etc/ nsswitch.conf文件是缺省的配置文件,它按照系统安装时所选择的搜索路径方

式来定义名字服务。

(2)/ etc/ nsswitch.files是名字服务的一个替换的配置文件,它只定义搜索本地系统的/

etc。

(3)/ etc/ nsswitch.nis 文件定义的搜索方式:对于除了 passw d、group、auto mount 和 aliases

四项以外的所有信息都以 NIS 数据库为初始数据源;而对于以上四项则先找/ etc 文件,然后

在找 NIS 数据库。

(4)/ etc/ nsswitch.nisplus 文件定义的搜索方式同上,只是以 NIS + 代替 NIS。

系统管理员可以根据需要修改以上文件,然后存成/ etc/ nsswitch 文件。

116.2 NIS + 名字空间

NIS + 名字空间(namespace)是一个存放 NIS + 信息的层次结构。每一个名字空间有一个

根服务器,它为名字空间最顶层的根域提供服务。这类似于 Solaris 文件系统的结构,但这种

结构无法用 Solaris文件的命令进行操作,可用 NIS + 的命令进行操作。

116.2.1 NIS + 文件和目录

表 8 - 2 列出了用于存储 NIS + 文件的目录和目录中的内容。

012

表 8 - 2 用于存储 NIS + 文件的目录和目录中的内容

目 录 位 置 内 容

/ usr/ bin 所有机器 N IS + 用户命令

/ usr/ lib/ nis 所有机器 N IS + 管理命令

/ usr/ sbin 所有机器 NIS + dae m on

/ usr/ lib 所有机器 NIS + 共享库

/ var/ nis/ data NIS + server NIS + 服务器使用的文件

/ var/ nis NIS + server N IS + 工作文件

/ var/ nis NIS + client NIS + 使用的机器特定数据

116.2.2 NIS + 名字空间的结构

NIS + 名字空间是指由 NIS + 存储的信息的安排。根据需要名字空间可以用多种方法组

织,通常 NIS + 名字空间有三种目标体:目录、表和组。参看图 8 - 3。

图 8 - 3 NIS + 名字空间和 U NIX 文件系统的结构

(1)目录:目录是名字空间的主要组成部分,它包括其他目录、组和表。

(2)表:表用于存放 NIS + 名字空间信息。Solaris 2.x 环境提供了 16 种表(参看图 8 - 2),

每种表存放着各种不同的有关用户、工作站或网络资源的信息。一组 NIS + 中的表只存放指

定的 do main 的信息。

(3)组:组用于 NIS + 安全管理。一个 NIS + 组是一些用户和工作站的集合。

虽然 NIS + 名字空间的结构与 U NIX 文件系统类似,但他们之间也有以下差别:

(1) NIS + 名字空间目录的内容为组和表,而不是文件。

(2) NIS + 名字空间由 NIS + 管理命令管理(参看表 8 - 3)或由专门的管理工具管理(如

Solstice A dminSuite tools)。

表 8 - 3 NIS + 管理命令

命 令 描 述

Nisaddcred 为 NIS + 主管创建一个信任凭证并把他们保存到 cred 表中。

Nisaddent 从/ etc 文件或 N IS 图向 N IS + 表增加信息。

112

续表

命 令 描 述

Nis cachem gr 在 NIS + 客户,启动 NIS + 缓存管理器。

Niscat 显示 N IS + 表的内容。

Nischgrp 改变组的所有权。

Nisch mod 改变目标体的权限。

Nischo wn 改变目标体的拥有权。

Nischttl 改变目标体的 tim e - to - live 值。

Nisdefaults 显示目标体的缺省值。

Nisgrep 在 NIS + 表中搜索。

Nisgrpad m 创建或删除组。

Nisinit 初始化 NIS + 客户或服务器。

Nisls 显示目录内容。

Nisln 创建符号链接。

Nism atch 搜索。

Nism kdir 创建目录。

Nispassw d 改变口令。

Nisr m 删除 NIS + 目标。

Nisrm dir 删除 NIS + 目录和备份。

Nissho wcache 列出 N IS + 共享缓存的内容。

Nissetup 创建 org - dir 和 groups - dir 目录,完成设置。

(3) U NIX 文件系统组件的名字之间由斜杠(/ usr/ tm p)分隔,而名字空间目标之间由圆点

分隔( wiz.com)。

(4)文件系统的根在文件名字的最左侧(/ usr/ src/ bin),而名字空间的根在名字的最右侧

(sales. win.com.)。

(5)因为 NIS + 名字空间的目标名的结构是从左到右,所以目标名的全名总是以圆点作结

尾;如果一个目标名的结尾不是圆点,这个名字是一个相对名字。

116.2.3 NIS + 客户和主管

NIS + 主管(principal)是指向服务器提交请求的所有客户。这些客户可能是用户,也可能

是工作站。当客户被初始化时,它的 domain 名被确认并存放于 kernel 中,同时为这台客户机

生成一个名为 coldstart的文件,这个文件列出了所有支持这台客户机 do main 的服务器。一旦

客户机在其 do main 中发出请求时,它便将这个请求送至支持它的服务器。

一个 NIS + 服务器也是一个 NIS + 客户机。在把一个工作站设置为一个服务器之前,必

须首先把它设置为一个客户机。这只有根服务器例外,根服务器有其唯一的设置方法。

一个服务器支持含有一个域的客户机,这个服务器又是另一个域的客户机。参看图 8 -

4。在该图中,Salesmaster既是 rootmaster 的客户属于 win.com.域,又是 bigsalesmaster的服务

器支持 sales. win.com.域;而 rootmaster 支持 win.com.域,又同时属于 win.co m.域。

212

图 8 - 4 客户机和服务器的关系

116.3 NIS + 表和信息

NIS + 把多种网络信息储存到表中。下面将介绍各种表的结构和设置方法。见图 8 - 5。

116.3.1 NIS + 表的结构

图 8 - 5 NIS + 表结构

NIS + 表提供了多种特征,不是从简单

的文本文件或图中查找信息,它们有一个列

/ 入口(colu mn - entry)结构,参看图 8 - 5。

这些表每个均由行和列组成,行被称为入口

或入口目标(entries or entry objects)。客户

可通过一个关键词或可搜索的列访问信息。

为了找到 baseball工作站的网络地址,客户

能通过 hostname 列搜索,当找到 baseball

后,沿着该入口便可查到网络地址。参考图

8 - 6。

NIS + 提供了 16 中预配置表:

hosts c网络地址和机器名字对应表

bootparams 无盘客机的根和交换区的位置

passwd 每个用户的口令信息

cred 主管的信用凭证

group 组信息

netgroup 在指定域中的工作站和用户可能属于的 netgroup

m ail- aliases 用户邮件别名的信息

networks 指定域中的网络和他们的名字

netmasks 网络掩码

ethers 以太网络地址

services IP 服务的名字和他们的接口数

protocols IP 协议清单

RP C RP C 程序数

auto - home 用户注册目录的位置

auto - master 自动安装图信息

312

一个 NIS + 表只包含本地 domain 的信息。如果一个客户试图查找另一个 domain 的内

容,就需要提供另一个域的全名。为了简化操作,每个 NIS + 表能够指定一个搜索路径。例

如,对于图 8 - 7 的域层次结构,如果 sales. wiz.co m.域下的客户想访问 eng. wiz.co m.域下的

机器或 test.wiz.com.域下的机器,可在 sales. wiz.co m.域下的 hosts表中定义如下搜索路径:

图 8 - 6 网络地址的查找图 8 - 7 一个域层次结构

hosts.org dir.test. wiz.com.:hosts.org dir.eng.wiz.com.

116.3.2 NIS + 表设置

按以下方法可设置 NIS + 表:

(1)创建 org - dir目录。

(2)创建系统表。

(3)创建非系统表(可选)。

(4)填写有关信息到表中。

org - dir目录负责管理系统表,因此在创建任何表之前应首先创建该目录。创建 org - dir

目录由三种方法:

(1)运行 nisserver可创建合适的目录和全套系统表。推荐使用此方法。

(2)运行 nism kdir命令可简单的创建指定目录。

(3)使用/ usr/ lib/ nissetup 实用程序可创建目录和全套系统表。

116.4 安全浏览

本节将讨论 NIS + 如何保护它的名字空间。

116.4.1 Solaris安全浏览

用户为了进入 Solaris的环境,他必须通过 Solaris 所设置的安全门和安全矩阵。参考图 8

- 8。在图 8 - 8 中,整个系统有 4 个门和两个矩阵:

(1)拨号门(dial gate)。通过电话线远程访问,用户必须提供有效的用户名和正确的口令。

(2)注册门(login gate)。本地登录,用户必须提供有效的用户名和正确的口令。

(3)文件和目录矩阵(file and directory matrix)。通过文件权限的改变,用户可以读写和执

行文件。

(4)超级用户门。用户必须提供正确的口令才可进入特权用户 root。

(5)R PC 门。使用 NIS + 安全级别 2 时,访问 NIS + 服务和目标体需要安全确认。

116.4.2 NIS + 安全浏览

NIS + 安全是其名字空间的一个组成部分。一旦 NIS + 安全环境被设置,便可增删用户、

修改权限。 NIS + 安全检查过程就是其认证和授权的过程。认证是辨认主管身份的过程,其

412

图 8 - 8 Solaris安全浏览

目的是取得主管的名字,以便能够对其操作权限进行查找(授权)。检查其对一个目标体的操

作权限的过程叫授权。

NIS + 主管(principals)是指为 NIS + 服务提交请求的所有客户。他可以是一个在客户机

器上以一般用户注册的用户,也可以是一个超级用户,也可以是运行在客户机上具有超级用户

权限的任意进程。因此, NIS + 主管可以是用户,也可以是客户工作站。因为所有 NIS + 服务

器均又是 NIS + 客户,因此, NIS + 主管也可以是所有提供 NIS + 服务的服务器。

NIS + 服务器具有 3 种安全级别。在正常情况下,安全级别 2 被使用。安全级别 0 只用

于测试和调试。安全级别 1 不被使用。 NIS + 服务程序是 rpc.nisd,它运行于 NIS + 服务器

上,是通过/ etc/ init.d/ rpc 这一程序启动的。缺省的安全级别为 2。如果想改变安全级别可以

使用带 - s 选项的 rpc.nisd 命令,即:

/ usr/ sb.in/ rpc.nisd - r - s 0

NIS + 凭证(credential)是指请求服务的主管身份的确认(认证 - authentication)。NIS + 凭

证/ 授权过程就是 R PC 安全系统的执行。

主管共有两类:用户和机器。相应的凭证也有两类:用户凭证和机器凭证。用户凭证用于

用户以普通用户身份登录的检查,机器凭证用于用户以超级用户身份注册。

NIS + 授权是同意 NIS + 主管对一个 NIS + 目标进行操作的过程。对目标体进行操作的

权限有四种:读/ 修改/ 创建/ 损坏。NIS + 的操作权限类似于普通文件的读写权限。

为了控制不同的用户对其目标体进行操作,把 NIS + 主管分为 4 类:无人/ 自己/ 同组/ 所

有的人。操作权限可用 nisls 命令列出。

NIS + 凭证/ 认证系统可阻止用户以他人的身份注册,也可防止一般用户使用 su 命令进入

512

超级用户。但是如果一用户知道他人用户的口令, NIS + 凭证/ 认证系统便无法阻止其注册。

116.5 NIS + 环境设置

设置 NIS + 环境(配置根主服务器、后备服务器和 NIS + 客户机)有两种方法:手动方式和

自动方式。命令行方式(手动方式)可有选择的配置 NIS + 环境,需资深网络系统管理员来做。

自动方式配置 NIS + 环境使用三个 NIS + shell命令文件。这种方法比较简单,但它只能按缺

省环境配置,不能任意指定权限,不能创建专有表,不能在远程服务器上启动 rpc.nisd 进程。

表 8 - 4 介绍了这三个文件的主要功能。

表 8 - 4 NIS + shell脚本

序 号

项 目 命 令 描 述

1 �Nisserver 设置根服务器、非根服务器和备份服务器。

2 �Nispopulate 填写 N IS + 表。

3 �Nisclient 为主机和用户创建 NIS + 信用凭证;初始化 NIS + 主机和用户。

116.5.1 设置 NIS + 主服务器

如下设置以图 8 - 9 和以下环境作为缺省(参看图 8 - 10):

图 8 - 9 一个简单的域

(1)安全级别为 2(D ES)。

(2) NIS 兼容设置为 O FF。

系统信息文件为/ etc或 NIS 图。

设置 NIS + 主服务器的步骤为:

(1)在 NIS + 主服务器上以超级用户注册。

612

图 8 - 10 NIS + 域结构

设置命令搜索路径,使其包括 NIS + 命令所在目录。可在命令行执行如下命令或:

# P A T H =/ usr/ lib/ nis:$P A T H; export P A T H

(2)执行如下命令设置主服务器:

# nisserver - r - d wiz.com

该命令的显示大致为:

this script sets up this machine ″rootmaster″as a NIS + root master server for domain wiz.

com.

do main name �: wiz.com.

NIS + group :ad min.wiz.com.

NIS co mpatibility : OFF

Security level :2 = D ES

Is thisinformation correct ? (type″y″to accept,″n″to change)

(3)将数据信息加入 NIS + 表。执行:

# nispopulate - F - p/ nis + files - d wiz.com.

NIS + domain name }: wiz.com.

Directory Path :/ nis + files

Is thisinformation correct ?

Or

# nispopulate - Y - d wiz.co m. - h corporatemachine - a 130.48.58.111 - y corporate.

wiz.co m.

其中:

712

nis + files : 数据信息文件所在的路径

130.48.58.111: NIS 服务器的 IP 地址(这里只是一个例子)

(4)检查 NIS + 表和域:

# nisping - C wiz.co m.

# niscat rpc.org

另外,使用手动方式配置 NIS + 环境的步骤为:

(1)以超级用户注册到服务器。

(2)检查根主服务器的域名。使用 domainname 命令:

# do mainname

如果想改变域名可以使用如下命令:

# do mainname new - domainname

# rm - f/ etc/ defaultdomain

# do mainname > / etc/ defaultdomain

(3)检查根主服务器开关(switch)配置文件。可用 more 命令,即:

# m ore/ etc/ nsswitch.conf

大致内容为:

#

# / etc/ nsswitch.nis:

#

# An exam ple file that could be copied over to/ etc/ nsswitch.conf; it

# uses NIS ( Y P) in conjunction with files.

#

#“hosts:”and“services:”in this file are used only if the

# / etc/ netconfig file has a“ - ”for nametoaddr libs of“inet”transports.

# the following two lines obviate the“ + ”entry in/ etc/ passwd and/ etc/ group.

passwd: files nis

group: files nis

# consult/ etc“files”only if nis is down.

hosts: �nis [N O TF O U N D = return] files

networks: nis [N O TF O U N D = return] files

protocols: nis [N O TF O U N D = return] files

rpc: nis [N O TF O U N D = return] files

ethers: nis [N O TF O U N D = return] files

netmasks: nis [N O TF O U N D = return] files

bootparams: nis [N O TF O U N D = return] files

publickey: nis [N O TF O U N D = return] files

netgroup: nis

automount: files nis

aliases: files nis

812

# for efficient getservbyname() avoid nis

services: files nis

send mailvars: files

(4)如果改变 nsswitch.conf 的内容,需停止和再启动一次 nscd 进程。

改变配置文件的方法为:

1)以超级用户在客户机注册。

2)用新的配置文件覆盖 nsswitch.conf,例如:

对于 NIS + :

# cd/ etc

# cp nsswitch.nis nsswitch.conf

对于 NIS:

# cd/ etc

# cp nsswitch.nis nsswitch.conf

3)重新引导工作站。

(5)杀死和重启动 keyserv 进程。命令如下:

# cp/ etc/ nsswitch.nisplus/ etc/ nsswitch.conf

# sh/ etc/ init.d/ nscd stop

# sh/ etc/ init.d/ nscd start

# ps - e | grep keyserv

root 288 1 67 16:34 ?keyserv

# kill - 9 288

# rm - f/ etc/ .rootkey

# keyserv

(6)清除剩余的 NIS + 文件和进程。如:

# ls/ var/ nis

# rm - rf/ var/ nis/ *

# ps - ef | grep nis cachem gr

# kill - 9 pid #

(7)检查服务器进程。如果有 rpc.nisd 或 rpc.nspassw dd 进程在运行,杀死它。

(8)命名根域的管理组,定义 NIS G R O U P 变量。即:

# setenv NIS G R O U P admin. wiz.com.

# NIS G R O U P = ad min.wiz.com.

# export NIS G R O U P

(9)创建根目录,初始化根主服务器。即:

# nisinit - r

(10)带有 - Y 选项,启动 NIS + 进程。该步只对 NIS 兼容方式。即:

# rpc.nisd - Y - B - S 0 options

912

(11)启动 NIS + 进程。该步只对 NIS + 方式。即:

# rpc.nisd - S 0

(12)检查验证根目标体。以建立的名字空间应该有如下内容:

1)一个根目录目标体(root.dir);

2)一个运行 NIS + 服务进程的根主服务器;

3)一个 cold - start文件(NIS C O L D S T A R T);

4)一个过渡记录文件(trans.log);

5)一个表目录文件(data.dict);

检查验证以上内容可用如下命令:

# ls - l/ var/ nis/ data

# nisls - l wiz.com.

# niscat - o wiz.com.

# ps - ef |grep rpc.nisd

(13)创建根域子目录(org dir 和 groups dir)和表:

# / usr/ lib/ nis/ nissetup

(14)为根主服务器创建 D ES 信用凭证:

# nisaddcred des

(15)创建根域的管理组。以组 admin. wiz.com.为例:

# nisgrpad m - c ad min. wiz.co m.

# niscat - o ad min.groups dir. wiz.com.

(16)为根域的管理组增加根主机:

nisgrpad m - a ad min.wiz.com. rootmaster. wiz.co m.

(17)升级根域的公共关键词:

#/ usr/ lib/ nisupdkeys wiz.co m.

#/ usr/ lib/ nis/ nisupdkeys org dir. wiz.com.

#/ usr/ lib/ nis/ nisupdkeys groups dir. wiz.co m.

(18)启动 NIS + 缓存管理器:

# nis cachemgr

(19)以安全级别 2,重新启动 NIS + 服务进程:

# ps - e | grep rpc.nisd

# kill - 9 pid #

# rpc.nisd

(20)向根域增加 L O C A L 信用凭证:

nisaddcred - p uid - P principal- name local

例如:

# nisaddcred - p 11177 - P topad min. wiz.co m. local

(21)向根域增加 D ES 信用凭证。使用 nisaddcred 命令的如下形式:

nisaddcred - p secure - RPC - netname - P topadmin. wiz.com. des

例如:

022

# nisaddcred - p unix.11177 @ wiz.com - P principal name des

(22)为其他管理员增加信用凭证。可以用三种不同的方法为工作在根域的其他管理员增

加信用凭证:

1)使用 Solstice Ad minSuite 为其他管理员创建临时信用凭证。

2)由各管理员自己做。

3)使用标本(du m my)为其他管理员创建临时信用凭证。例如:

�# nistblad m - D owner = miyoko. wiz. co m. name = miyoko uid = 33355 \ gcos =

miyoko home =/ home/ miyoko shell=/ bin/ tcsh passw d.org dir

# nisaddent - a - f/ etc/ passwd.xfr passwd

# nisaddent - a - f/ etc/ shadow.xfr shadow

# nisaddcred - p 33355 - p unix.33355 @ wiz.com - P miyoko. wiz.co m. des

# nischow n miyoko. wiz.com. ′[name = miyoko] passwd.org dir′

(23)把自己和其他管理员增加到根域的管理组。下例增加 topadmin 和 miyoko 两个管理

员到 admin. wiz.com.组:

# nisgrpad m - a ad min.wiz.com. topadmin. wiz.com. miyoko. wiz.co m.

116.5.2 设置 NIS + 后备服务器

下面的后备服务器的设置以客户机 wizclient1 为例。

(1)以超级用户注册。

(2)执行命令:

# nisserver - R - d wiz.com. - h wizclient1

This script sets up a NIS + replica server for domain wiz.com.

Domain name: : wiz.com.

NIS + server: :wizclient1

Is thisinformation correct ?

(3)根据提示交互式完成设置。

116.5.3 设置 NIS + 客户机

设置 NIS + 客户机需完成如下步骤:

(1)以超级用户在客户机上注册。

(2)设置 domain 名。

# do mainname wiz.co m.

# do mainname >/ etc/ defaultdomain

(3)执行如下命令:

# nisclient - i - d wiz.com. - h rootmaster

initializing client wizclient1 for domain ″wiz.co m.″.

once initialization is done,you will need to reboot your machine.

Do you want to continue ?

(4)根据提示继续回答问题。

122

117 使用 Autofs

117.1 Autofs简介

Autofs 即 automatic file system。它是一种客户边服务。当一个客户企图访问当前未被安

装的文件系统时,autofs文件系统拦截该请求并调用 auto mountd 来安装被请求的目录。完成

文件系统的自动安装需使用三个组件:auto mount 命令、autofs 文件系统和 automountd daemon

(系统后台服务进程)。

在系统启动时,automount 命令读取主映象图( master map)文件 auto master,创建一套初

始化 autofs m ount。同时 automountd daem on 由/ etc/ init.d/ autofs 启动。参看图 8 - 11。当来

自客户端的请求发生时,为了安装被请求的文件系统,autofs 截取这个请求并传送一个信息到

automountd,automountd 在一个映象图中找到文件系统信息并执行安装操作;在该文件系统不

被使用的 5 分钟后,autofs自动拆卸这个文件系统。

图 8 - 11 / etc/ init.d/ autofs启动 auto m ount

117.2 设置 autofs 映象图

Autofs 使用三种映象图:

(1)主映象图( m aster map);

(2)直接映象图(direct map);

(3)间接映象图(indirect map)。

117.2.1 主映象图

auto m aster 映象图使一个目录和一个图联系起来。它是 autofs 应该知道的所有映象图

的主表。在主映象图/ etc/ auto master 中有如下语法格式:

m ount - point m ap - name [ mount - options]

其中:

m ount - point: �是一个目录的绝对路径名。如果此目录不存在,autofs 将创建它;如果

此目录存在而且非空,autofs 将隐藏它的内容,同时发出警告信息。

m ap - name: �是 autofs 用于为位置或安装信息寻找目录的一个映象图。

m ount - options: �是一个由逗号隔开的可选项。该选项与 N FS m ount选项一样。

另外,在主映象图文件中,以 # 号打头的行为注释行,行未的反斜杠( \ )表示该行还未结

束。而符号/ - 作为一个安装点则表示在直接映象图中没有指定安装点和映象图相联系。下

面是主映象图的一个例子。

# m ore/ etc/ auto master

222

该命令的输出为:

# M aster map for autom ounter

#

/ - auto.home - rw,soft,intr

/ net - hosts - nosuid

/ ho me auto ho me

/ xfn - xfn

117.2.2 直接映象图

一个直接映象图是一个自动安装点。在直接映象图中,服务器上的一个目录和客户机上

的一个安装点联系在一起。直接映象图中每行的格式:

key [ mount - options] location

其中:

key �是安装点的路径名。

m ount - options 指定缺省以外的参数。

location 文件系统的位置(如:server:pathname)

下面是一个典型的直接映象图的例子:

# m ore/ etc/ auto direct

显示内容:

/ usr/ local ro \

/ bin �ivy:/ export/ local/ sun4 \

/ share ivy:/ export/ local/ share \

/ sre ivy:/ export/ local/ src

安装点/ usr/ man 有两个位置:

/ usr/ man - ro oak:/ usr/ man rose:/ usr/ man

/ usr/ spool/ news - ro pine:/ usr/ spool/ news willow:/ var/ spool/ news

# scsi controler 2

#

/ master/ disk1 master:/ export/ home/ disk1

/ master/ disk2 master:/ export/ home/ disk2

#

# scsi controler 3

#

/ master/ disk10 master:/ export/ ho me/ disk10

/ master/ disk17 master:/ export/ ho me/ disk17

/ master/ disk25 master:/ export/ ho me/ disk25

#

# Application software used

#

/ master/ IESX master:/ export/ ho me/ disk1/ software/ IESX

322

/ master/ CPS3 master:/ export/ ho me/ disk1/ software/ CPS3

/ master/ flexlm master:/ export/ home/ disk1/ software/ flexlm

/ master/ Indepth master:/ export/ ho me/ disk1/ software/ Indepth

#

# Client machine disk

#

/ master/ disk30 gnp07:/ sdata

117.2.3 间接映象图

间接映象图使用一个相对路径名把服务器上的目录和客户机上的安装点联系起来。auto

home 映象图是一个典型的间接映象图。间接映象图语法格式与直接映象图类似。例如:

# m ore/ etc/ auto home

内容为:

zm k �master:/ export/ ho me/ zm k

pjx master:/ export/ ho me/ pjx

licq master:/ export/ ho me/ licq

在系统启动时,auto mount命令读取主映象图( master map)。在主映象图中,每个入口是

一个直接或间接的图名、路径和安装选项。参看图 8 - 12。automount 比较主映象图和安装表

( mount table)产生当前的安装表。

图 8 - 12 主映象图

117.3 autofs参考

下面将讨论 autofs更进一步的问题。

117.3.1 匹配字符

(1) & : & 是一个替换符。它可以替换安装点的名字。例如:

john Bwillow:/ home/ john

able pine:/ home/ able

baker peach:/ ho me/ baker

/ usr/ man willow,cedar,poplar:/ usr/ man

在保证功能不变的情况下,可以使用 & 替换符把以上内容改写为:

john Bwillow:/ home/ &

able pine:/ home/ &

422

baker peach:/ ho me/ &

/ usr/ man willow,cedar,poplar: &

(2) * :星号( * )是另一个匹配字符。它可以匹配任意字符串。例如,要想使来自所有主

机的/ export文件系统均可被安装,可以定义一个映象图文件,使它包括如下内容:

* & :/ export

117.3.2 访问非 N FS 文件系统

如果你没有使用卷管理器,可以通过使用下面的映象图来安装 CD - R O M 和软盘。

hsfs - fstype = hsfs,ro �:/ dev/ sr0

pcfs - fstype = pcfs :/ dev/ diskette

117.4 自动安装用户注册目录

有时,用户需要在网上任意工作站用同一注册目录登录。这时系统管理员就需利用 auto-

mounter 创建一个帐号(在 N FS 服务器上)。具体方法步骤为:

(1)检查/ export/ ho me 目录是否在服务器和工作站上,如果不在,创建它。

(2)在 N FS 服务器上启动 admintool程序,即:

# admintool &

(3)从 Edit 菜单选择 Add。

(4)参看图 8 - 13。填写信息。

(5)选择 O K。

(6)退出 ad mintool程序。

(7)在 N FS 客户机上启动 admintool程序,即:

# admintool &

(8)从 Edit 菜单选择 Add。

(9)参看图 8 - 14。填写用户名、帐号、S H E LL 类型、口令类型、口令有效期和失效期等信

息,但不要填写用户注册目录。

(10)选择 O K。

(11)推出 admintool程序。

(12)在 N FS 服务器和客户机上编辑/ etc/ passwd 文件。把注册目录该为/ home/ user-

name。

(13)编辑/ etc/ auto home 文件。增加如下行:

userna me server name:/ export/ ho me/ username

(14)在 N FS 服务器上,编辑/ etc/ vfstab 文件。增加如下行:

share - d“home directories”/ export/ ho me

(15)检查 mountd 服务进程是否在运行。如果未运行,执行下面的命令启动它:

# / etc/ init.d/ nfs.server start

(16)一旦 mountd 在运行,执行 share 命令,即:

# share/ export/ home

(17)重新启动 automountd 进程。即:

# / etc/ init.d/ autofs stop

522

图 8 - 13 在 NF S 服务器上创建用户

# / etc/ init.d/ autofs start

(18)用新用户名登录。

118 与 NFS 有关的文件有哪些

N FS 服务器与客户机通过 N FS 配置文件协调运行。 N FS 服务器可以是客户机, N FS 客

户机也可以是服务器。参考图 8 - 15。因此,在服务器和客户机上均可包含 N FS 文件。这些

622

图 8 - 14 在 NF S 客户机上创建用户

文件如下:

/ etc/ vfstab M定义本地机要安装的文件系统

/ etc/ m nttab 当前系统安装的文件系统列表,此文件不可编辑

/ etc/ rmtab 通过 N FS 客户机安装的远程文件系统,此文件不可编辑

/ etc/ default/ fs 本地缺省文件系统类型列表

/ etc/ dfs/ dfstab 本地开放出去的文件系统列表

/ etc/ dfs/ fstypes 远程缺省文件系统类型列表

/ etc/ dfs/ sharetab 本地和远程开放的文件系统列表,此文件不可编辑

722

图 8 - 15 N FS 服务器和 N FS 客户机共享文件系统

在上述文件中,/ etc/ dfs/ fstypes 时常被当作远程文件系统缺省类型, N FS 文件系统类型

时常被定义为缺省文件系统类型。/ etc/ default/ fs 文件定义本地缺省文件系统类型,客户机或

服务器支持的文件系统类型可通过/ krenel/ fs 文件查看。下面是上述文件内容的例子:

(1)/ etc/ vfstab:

# device device mount FS fsck mount mount

# to m ount to fsck point type pass at boot options

#

#/ dev/ dsk/ c1d0s2/ dev/ rdsk/ c1d0s2/ usr ufs 1 yes -

fd - / dev/ fd fd - no -

/ proc - / proc proc - no -

/ dev/ dsk/ c0t3d0s1 - - swap - no -

/ dev/ dsk/ c0t3d0s0 / dev/ rdsk/ c0t3d0s0 / ufs 1 no -

/ dev/ dsk/ c0t3d0s6 / dev/ rdsk/ c0t3d0s6 / usr ufs 1 no -

/ dev/ dsk/ c0t3d0s3 / dev/ rdsk/ c0t3d0s3 / var ufs 1 no -

/ dev/ dsk/ c0t3d0s7 / dev/ rdsk/ c0t3d0s7 / export/ home ufs 2 yes -

/ dev/ dsk/ c0t3d0s5 / dev/ rdsk/ c0t3d0s5 / opt ufs 2 yes -

/ dev/ dsk/ c0t1d0s5 / dev/ rdsk/ c0t1d0s5 / home1 ufs 2 yes -

/ dev/ dsk/ c0t1d0s6 / dev/ rdsk/ c0t1d0s6 / learn ufs 2 yes -

/ dev/ dsk/ c0t1d0s7 / dev/ rdsk/ c0t1d0s7 / cmg ufs 2 yes -

swap - / tmp tmpfs - yes -

(2)/ etc/ m nttab:

/ dev/ dsk/ c0t3d0s0 / ufs rw,suid,dev = 800018 848883332

/ dev/ dsk/ c0t3d0s6 / usr ufs rw,suid,dev = 80001e 848883332

/ proc/ proc proc rw,suid,dev = 2740000 848883332

fd / dev/ fd fd rw,suid,dev = 27c0000 848883332

/ dev/ dsk/ c0t3d0s3 / var ufs rw,suid,dev = 80001b 848883332

/ dev/ dsk/ c0t3d0s7 / export/ home ufs suid,rw,dev = 80001f 848883334

822

/ dev/ dsk/ c0t3d0s5 / opt ufs suid,rw,dev = 80001d 848883333

/ dev/ dsk/ c0t1d0s5 / home1 ufs suid,rw,dev = 80000d 848883333

/ dev/ dsk/ c0t1d0s6 / learn ufs suid,rw,dev = 80000e 848883334

/ dev/ dsk/ c0t1d0s7 / cmg ufs suid,rw,dev = 80000f 848883334

swap / tmp tmpfs dev = 0 848883334

- hosts/ net autofsignore,indirect,nosuid,dev = 2900001 848883359

auto home / ho me autofs ignore,indirect,dev = 2900002 848883359

- xfn / xfn autofs ignore,indirect,dev = 2900003 848883359

cat:vold(pid235) / vol nfs ignore,noquota,dev = 28c0001 848883372

/ vol/ dev/ dsk/ c0t6d0/ devpro v4 n2 / cdro m/ devpro v4 n2 hsfs ro, dev = 9f947ff7

848883374

(3)/ etc/ rmtab

sun65:/ var/ install/ export/ exec/ kvm/ sparc.Solaris 2.5.1

sun465:/ learn

axp461:/ cmg/ cm g

axp1:/ cmg/ cm g

(4)/ etc/ default/ fs:

L O C A L = ufs

(5)/ etc/ dfs/ dfstab:

# place share(1 M ) com mands here for auto matic execution

# on entering init state 3.

#

# share [ - F fstype] [ - o options] [ - d“ < text > ”] < pathname > [resource]

# .e.g,

# share - F nfs - o rw = engineering - d ″home dirs″/ export/ home2

#

share - F nfs - o ro,anon = 0/ var/ install

share - F nfs/ cmg/ cmg

(6)/ etc/ dfs/ fstypes:

nfs N FS Utilities

(7)/ etc/ dfs/ sharetab:

/ var/ install - nfs ro,anon = 0

/ cm g/ cmg - nfs rw

119 与 NFS 相关的命令有哪些

N FS 命令必须在超级用户下运行,但一些请求信息所有用户均可得到。 N FS 命令有:

m ount

m ountall

setm nt

922

share

shareall

show mount

u mount

u mountall

unshare

unshareall

nfsstat

pstack

rpcinfo

snoop

truss

(1) mount: 使用 mount 命令,可以安装远程或本地文件系统。如不带参数, mount 命令将

显示当前系统中所安装的所有文件系统。m ount命令语法格式:

m ount [ - F FSType][ - o specific options] resource m ount point

其中, - F FSType 指定文件类型, - o 表示指定文件系统的存取选项,resource 表示 N FS

文件系统名字, mount point表示远程文件系统的本地安装点。

m ount能够支持的文件系统类型有:

cachefs �缓存文件系统,为加速远程数据存取,减少网络拥挤,在本地硬盘开辟

一块空间存放远程文件系统的信息

hsfs �只读光盘文件系统

nfs 缺省的 SunOS 分布式文件系统

pcfs 创建在 D OS 系统上的 PC 文件系统

s5fs 用于 U NIX 的 P C 版本的系统 V 文件系统

tmpfs 临时文件系统,磁盘交换区

ufs SunOS 本地硬盘缺省文件系统

任选项:

- m �安装信息不写入/ etc/ mnttab 文件

- r 安装为只读文件,适用于 C D - R O M

- o 任选项列表,各项之间用逗号分隔

- O 安装到已存在的文件系统上

- o 选项中的任选项:

bg|fg �如果首次安装失败,是在后台还是在前台重试,缺省为后台(bg)

soft|hard �在安装文件系统时,如果服务器没有响应,是继续尝试安装还是返回一个

错误码

下面是使用 mount命令的例子:

# m ount - F nfs - r bee:/ export/ share/ man/ usr/ man

# m ount - F nfs - o - ro bee:/ export/ share/ man/ usr/ man

# m ount - F nfs - O bee:/ export/ share/ man/ usr/ man

032

(该命令使用大写 O 作为选项,表示既使本地机上已经有/ usr/ man 文件,也要把远程文件

系统/ export/ share/ man 强行安装到本地/ usr/ man 之上。)

# m ount venus:/ usr/ share/ man/ usr/ shatr/ man

# m ount

(不带参数的 mount 将显示本机上安装的所有文件。)

(2) �um ount:um ount命令拆除已安装的文件系统。命令语法格式:

um ount special | m ount point

其中,special 指定服务器和文件系统, mount point 指定本地机上的安装点。例如:

# u mount venus:/ export/ venus/ man

# u mount/ usr/ share/ man

(3)mountall:mountall安装在文件系统表/ etc/ vfstab 中的所有文件系统。该命令语法格式:

m ountall ( - F FSType] [ - l| - r] [file system table]

其中, - F FSType 指明文件系统类型, - l指定本地所使用的文件系统, - r 指定远程所使

用的文件系统。

例如:

# m ountall - F nfs

# m ountall - l

# m ountall - F nfs - r

(4)umountall: 该命令一次可拆卸一组文件系统。不带参数可拆卸当前安装的所有文件

系统。语法格式为:

u mountall [ - F FSType] [ - k] [ - s] [ - l| - r]

u mountall [ - k] [ - s] [ - h host]

其中, - K 表示给打开文件的进程传送一个 SIG KILL 信号。

例如:

# u mountall - F nfs

# u mountall - l

# u mountall - r

# u mountall - h bee

(5)share: share 命令可使 N FS 服务器上的本地文件系统向客户机开放,也可列出本地机

上共享的文件系统情况。命令语法格式为:

share [ - F FSType] - o option pathname

其中, - F 指明文件系统类型, - o 指明任选参数,如 ro 和 rw,pathname 指明被开放的文

件系统路径名。

如果 - F 选项没有使用,系统将从/ etc/ dfs/ fstypes 中取缺省文件系统类型。

- o 选项的内容如下:

rw 对所有客户机开放为可读可写;

ro 对所有客户机开放为只读;

rw = client[:client]... C对指定客户机按可读可写方式开放;

ro = client[:client]... 对指定客户机按只读方式开放;

132

root = client[:client]... 对指定客户机超级用户开放;

anon = uid 是指非真实用户的用户 ID,如果 uid = - 1,非真实用户将无权

存取文件;

nosuid 使 setuid 或 setgid 方式被忽略。

例:

# share

- / export/ share/ m an ro″″

- / usr/ src rw = eng ″″

# share - F nfs - o ro,rw = rose:lilac/ usr/ src

(该命令表示允许绝大多数系统只读/ usr/ svc,但允许 rose 和lilac读写/ usr/ src)

# share - F nfs - o ro = eng,rw = rose/ usr/ src

(允许 eng 只读,允许 rose 读写/ usr/ src)

# share - F nfs - o rw = rose:lilac:tulip,root = rose/ usr/ src

(允许 rose,lilac 和 tulip 三个系统读写/ usr/ src,但 rose 只能以超级用户读写/ usr/ src)

# share - F nfs - o rw / export/ home

(6)unshare: unshare 命令将使已开放的文件系统收回开放权,命令语法格式为:

unshare [ - F FSType][ - o specific option][pathname]

例如:

# unshare/ usr/ src

(7)shareall: shareall命令允许开放多个文件系统。如没有任选项,可开放/ etc/ dfs/ dfstab

中所有文件系统。命令语法格式为:

shareall [ - F nfs] [file]

例如:

# shareall/ etc/ dfs/ special dfstab

(开放本地机 special dfstab 中的所有文件系统)

# shareall - F nfs

(8)unshareall: unshareall命令收回/ etc/ dfs/ dfstab 文件中所有列出的文件系统的开放权。

命令语法格式为:

unshareall [ - F nfs]

例如:

# unshareall - F nfs

(9)show mount:该命令显示远程文件系统安装信息。命令语法格式为:

show mount [ - ade] [hostname]

其中, - a 表示所有远程文件系统安装信息; - d 显示客户机远程安装的目录清单; - e 显

示出口文件清单; hostname 是主机名,如不指定 hostname,就认为不是当前主机。

例如:

# show mount - a bee

lilac:/ export/ share/ man

lilac:/ usr/ src

232

rose :/ usr/ src

tulip:/ export/ share/ man

# show mount - d bee

/ export/ share/ man

/ usr/ src

# show mount - e bee

/ usr/ src

/ export/ share/ man eng

(10)setm nt:该命令创建一个/ etc/ mnttab 表,该表与 mount 和 um ount 命令的执行情况有

关。setm nt命令一般在系统启动时自动执行,不需手动执行。

(11)nfsstat:该命令用于收集统计关于 N FS 和 RPC 连接信息。语法格式为:

nfsstat [ - cmnrsz]

其中, - c 显示客户机信息; - m 显示 N FS 文件系统安装信息; - n 显示客户机和服务器

N FS 信息; - r 显示 R PC 信息; - s 显示服务器信息; - z 将统计值设置为 0。如不选参数,

使用缺省参数,缺省参数为 - cnrs。

例如:

# nfsstat - s

Server rpc:

Connection oriented:

calls badcalls nullrecv badlen xdrcall dupchecks dupreqs

0 0 0 0 0 0 0

Connectionless:

calls badcalls nullrecv badlen xdrcall dupchecks dupreqs

0 0 0 0 0 0 0

Server nfs:

calls badcalls

0 0

Version 2: (0 calls)

null getattr setattr root lookup readlink read

0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 %

wrcache write create remove rename link symlink

0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 %

m kdir rmdir readdir statfs

0 0 % 0 0 % 0 0 % 0 0 %

Version 3: (0 calls)

null getattr setattr lookup access readlink read

0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 %

write create m kdir symlink mknod remove rm dir

0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 %

332

rename link readdir readdir+ fsstat fsinfo pathconf

0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 % 0 0 %

com mit

0 0 %

Server nfs acl:

Version 2: (0 calls)

null getacl setacl getattr access

0 0 % 0 0 % 0 0 % 0 0 % 0 0 %

Version 3: (0 calls)

null getacl setacl

0 0 % 0 0 % 0 0 %

(12)pstack: 该命令显示每个进程的足迹。它必须在超级用户下运行。使用该命令可以

决定进程挂起在什么地方。命令语法格式为:

pstack PID

例如:

# ps - ef|grep nfsd

root 345 336 1 19:05:00 pts/ 3 0:00 grep nfsd

# / usr/ proc/ bin/ pstack 336

336: / sbin/ sh

000356e0 waitid (0,15c,effff3e0,87)

000356e0 ????????(0,15c,effff3e0,87,2,0)

00033b44 ????????(15c,effff4c4,87,f020cc00,5480c,0)

0001e090 ????????(5480c,1,c0,15c,5480c,4)

00018930 ????????(54fd0,35c6a,0,35c8b,1,15c)

00010ab0 ????????(0,531e8,0,effffb5d,2205b0f8,2205b039)

000107f8 ????????(53000,0,0,1,4d800,0)

000100d0 ????????(0,0,0,0,0,0)

(13)rpcinfo: rpcinfo 命令产生运行在一个系统上的 RPC 服务的信息。该命令也可以用

于改变 RPC 服务。语法格式为:

rpcinfo [ - m | - s] [hostname]

rpcinfo [ - t| - u] [hostname] [progna me]

其中, - m 显示 rpcinfo 操作统计表; - s 显示所有注册的 RPC 程序清单。 - t显示使用

T CP 的 R PC 程序; - u 显示使用 U D P 的 RPC 程序。

例如:

# rpcinfo - s cat|sort - n

program version(s) netid(s) service owner

100000 2,3,4 udp,tcp,ticlts,ticotsord,ticots rpcbind superuser

100001 4,3,2 ticlts,udp rstatd superuser

100002 3,2 ticots,ticotsord,tcp,ticlts,udp rusersd superuser

432

b 100008 1 ticlts,udp walld superuser

100011 1 ticlts,udp rquotad superuser

100012 1 ticlts,udp sprayd superuser

100021 4,3,2,1 ticots,ticotsord,ticlts,tcp,udp nlock mgr �superuser

100024 1 ticots,ticotsord,ticlts,tcp,udp status superuser

100029 2,1 ticots,ticotsord,ticlts keyserv superuser

100068 5,4,3,2 udp - superuser

100078 4 ticots,ticotsord,ticlts kerbd superuser

100083 1 tcp - superuser

100099 1 ticots,ticotsord,ticlts - superuser

100221 1 tcp - superuser

100232 10 udp sadmind superuser

1342177279 2,1,3 tcp - 150

# rpcinfo - t axp461 mountd

program 100005 version 1 ready and waiting

# rpcinfo - t cat mountd

rpcinfo: RP C: Program not registered

program 100005 is not available

# rpcinfo - u sun465 nfs

program 100003 version 2 ready and waiting

(14)snoop: 该命令时常用于查看网上包的情况,它必须在超级用户下运行。它是检查网

上硬件的一种好的方法。语法格式为:

snoop [ - d device] [ - o filename] [host hostname]

其中, - d device 指定本地网络接口; - o filename 指定包信息存放文件名,host 指定显示

到达主机的包。

(15)truss:该命令用于检查进程是否挂起。它必须在超级用户下运行。语法格式为:

truss [ - t syscall] - p pid

其中, - tsyscall 选定系统调用足迹, - p pid 显示进程的 PID。

例如:

# / usr/ bin/ truss - p 243

poll(0x00024D50,2, - 1) (sheeping....)

(16)dfmounts: 该命令用于查看哪台客机在安装共享资源。命令语法格式为:

dfmounts [ - F FSType] [ - h] [ - o options] [ - r restrictions]

例如:

# dfmounts - h cat

R ES O U R CE SE R V E R P A T H N A M E C LIE N T S

- cat / usr/ share/ m an pluto

(17)dfshares: 该命令用于显示服务器开放的资源。语法格式为:

532

dfshares [ - F FSType] [ - h] [ - o options] server

例如:

# dfshares - F nfs sun20

R ESO U R CE SE R V E R PA T H N A M E CLIE N TS

sun20:/ usr/ share/ man sun20 - -

120 使用 NFS 系统时常见的错误信息及处理策略是什么

(1)错误信息:

nfs mount: mars:: RPC: Name to address translation failed - n2a:hostname not found

原因和处理方法: 该信息出现在系统引导或服务请求期间,机器会显示出“unknown serv-

er”的信息。系统管理员可查看 hosts数据库,确信服务器名字正确。

(2)错误信息:

nfs server mars not responding,stilltrying

原因和处理方法: 该信息出现在系统引导或服务请求期间。用户可检查服务器是否已关

闭,用 ping 命令检查网络硬件是否畅通。

(3)错误信息:

nfs mount:cat:: R PC:Program not registered

原因和处理方法:该信息出现在系统引导或服务请求期间,网络畅通但服务守护程

序运行不足。系统管理员用“ who - r”命令检查系统运行级别是否为 3,如果不是,可运行“init

3”命令; 用命令“ps - e”检查 mountd 和 nfsd 守护程序是否在运行,如果未运行可执行“/ etc/

init.d/ nfs.server”命令。

(4)错误信息:

le0: N O carrier - transceiver cable problem ?

原因和处理方法: 该信息出现在系统引导或服务请求期间,用户可检查客机至服务器之

间的通讯线和接头。

(5)错误信息:

stale N FS file handle

原因和处理方法: 该信息出现在客机试图访问服务器上失效的文件期间,用户可检查服

务器文件系统出口情况,然后再做文件系统出口。

(6)错误信息:

m ount:...server not responding :R PC P M AP FAIL U R E R PC TI M E D O U T

原因和处理方法: 出口文件系统的服务器已关闭或网不通,也可能是因为 repcbind 已死

或被挂起。

(7)错误信息:

m ount:...server not responding:R PC P R O G N O T R E GIST E RE D

原因和处理方法: rpcbind 已注册,但 nfsd 守护程序未注册。

(8)错误信息:

632

m ount... No such file or directory

原因和处理方法: 远程目录文件或本地目录文件不存在,可用ls 命令确认。

(9)错误信息:

m ount:...:Permission denied

原因和处理方法: 你的计算机名字不在对方机信任文件中,可用“show mount - e”命令确

认。

(10)错误信息:

N FS server hostname not responding stilltrying

原因和处理方法: 该信息表示服务器已关闭或网络有问题,检查 N FS 客户机连通性。

(11)错误信息:

N FS fsstat failed for server hostname: R PC:Authntication error

原因和处理方法: 该错误产生的原因很多,但你可以通过使用 Solaris 2.5 提供的 A C L 工

具调整访问权限。

121 如何实现 SP A R C 和 D E Cnet网间联网

按下列步骤设置 D E Cnet 网间联网:

(1)启用通过 D NI 的连接: Open Windows 服务器和客户库使用 D NI 传输库 libdni的动态

可装载版本。必须将环境变量 D NI X E N A BL E 设置为安装 libdni.so 的目录,以便服务器

和客户库装入libdni。

以下示例假设用 pkgadd 在缺省位置装入了 D NI:

$ D NI X E N A BLE =/ opt/ S U N W conn/ dni/ lib

(2)启动 Open Windows服务器:缺省情形是 Open Windows 服务器支持“ M IT - M A GIC -

C O O KIE”安全性。此安全性机制是特定用户的,而非特定宿主机的———您确定哪些用户可连

接至服务器,而不是哪些机器可连接至服务器。在缺省方式中,xhost 命令返回一个空列表,并

声明只有该安全机制是开户的。可通过使用带有 - noauth 选项的 openwin 命令来关闭此安全

方式(并回复至 Open Windows服务器先前版本的安全方式):

$ openwin - noauth

(3)请求运行 Open Windows软件的机器拥有者使用 xhost 命令以允许 D EC D E C 与 Open-

Windows 服务器进行 X11 连接。

为了 X11 客户通过 D NI 软件连接至 Open Windows服务器, DE Cnet 节点地址必须映射至

D ECnet 节点名。您可通过建立并初始化 D CP 数据库来完成上述操作。这也必须在 D E CD E C

系统上进行:

$ xhost decD EC::

双冒号指定 D E C Net传输。

122 如何在 D E C 机器上显示远程 O pen W indows 客户

您可通过将 DISP LA Y 变量设置为远程 D EC 系统以便在 Open Windows 机器上运行 X11

732

客户并在 D E C windows 服务器上显示他们。

在运行任何 X11 客户之前,必须在 D E C windows 服务器中编译并安装 Open W indows 字

体。这些字体在 X11R5 发行本,或在随 Open Windows 软件一起的任选字体程序包中。按下

列步骤在 D E C windows 服务器中安装正确字体:

(1)在 Opein Windows 机器上安装任选的 Open Windows 字体源( X11 R5 发行本的字体

源)。

(2)查看“Solaris X Window System Developer’s Guide”以获取有关字体安装指导。

(3)将字体源复制到 D EC 系统上的目录中:

$ cd $cd/ usr/ openwin/ share/ src/ fonts/ misc

$ dnicp * .bdf′decD EC::[D E Cdir]’

(4)在 D EC 系统上编译光标字体。

这生成文件如:

olcursor.decw$font;1

olglyph10.decw$font;1...

$ font olcursor.bdf

$ font olglyph10.bdf

(5)将字体复制到 sysfont 目录:

$ set def sys$sysoot:[sysfont.decw.user cursor16]

$ copy [D ECdir]olcursor.devw$ont;1 *

(6)对于其余光标字体以及/ usr/ openwin/ share/ src/ font/ 75dpi和/ usr/ open win -/ shsre/

src/ font/ 100dpi中的 Lucida 字体,必须也执行第(2)至(4)步。

下面显示的是要运行 Open Windows DeskSet工具所需安装的最少字体集。若正使用应用

程序的缺省字体,则只须安装这些字体。可以安装所需的其他字体:

olcursor.bdf

olglyph10.bdf

olglyph12.bdf

olglyph14.bdf

olglyph19.bdf

luBs08.bdf

luBs10.bdf

luBs12.bdf

luBS14.bdf

luRS08.bdf

luRS10.bdf

luFS12.bdf

lutBS12.bdf

lutRS10.bdf

lutRS12.bdf

(7)重启动 D EC windows服务器。

832

(8)可通过列示 D EC windows服务器中可用的字体校验所安装的字体:

$ DISPL A Y = decD E C::0

$ xlsfonts | grep sun (光标字体)

$ xlsfonts | grep Lucida

(9)确认已通过使用“D E C windows 对话过程管理程序”中的“安全菜单”以允许 Open Win-

dows 节点在 DE C windows 服务器上显示。

(10)运行一个 X11 应用程序(例如,一个 Open Windows DsekSet 工具):

$ DISPL A Y = decD E C::0

$ m ailtool

若打印出如下的错误信息,则需要在 D E C windows 服务器中安装此字体以便运行该应用

程序:

X View warning: Cannotload font′- b & h - lucida - mediu m - r - * - * .80 - * - * - *

- * - * - * ’(Font package)

此错误信息意思是需要安装 luRS10. bdf。查看“Solaris X Windows System Developer’s

Guide”以获取有关字体的更多资料。

123 网上不同工作站的同名用户如何才能具有同等的权限

在同一网络系统中,不同工作站的同名用户往往无法登录或互相拷贝文件。其实,虽然不

同工作站的两个用户具有同样的名字,但其帐号和组号并不一定相同,因此,在两台机器上被

认为是两个不同的用户,也就无法具有同等的权限。解决此问题的方法很简单,只要在不同的

工作站上分别修改/ etc/ passw d 文件,使同名用户具有同样的组号和帐号就可以了。例如,

Sun10 和 Sun20 机均有用户名为 m m m 的用户, 但其组号和帐号分别为 104∶133 和 122∶45。

这时, m m m 用户只要请系统管理员修改其中一组“组号和帐号”即可。

另外,在两台机器同一用户主目录下分别建立一个.rhosts 文件,并在该文件中写入另一

台机器的名字和用户名,也可解决此问题。具体方法为:

(1)在一台机器(Sun10)上注册(注册用户名为 m m m)。

- 蒲rlogin: m m m

$vi .rhosts

Sun20 m m m

(增加此行表示对于用户 m m m 来讲,Sun20 是 Sun10 的信任机)

(2)在另一台机器(Sun20)上注册(注册用户名为 m m m):

- 沈rlogin: m m m

$vi .rhosts

Sun10 m m m

(增加此行表示对于用户 m m m 来讲,Sun10 是 Sun20 的信任机)

124 N FS 故障诊断过程

为了决定 N FS 故障点,系统管理员可从几个方面考虑:

932

(1)客机能到达服务器吗 ?

(2)在服务器上客机能得到 N FS 服务吗 ?

(3)在服务器上 N FS 服务是否在运行 ?

124.1 检查 N FS 客机的联通性

(1)确信从客机可以到达服务器,在 N FS 客机上执行:

#/ usr/ sbin/ ping cat

catis alive

(2)如果从客机不能到达服务器,确信本地名字服务在运行,对于运行 NIS + 的客机执行:

#/ usr/ lib/ nis/ nisping - u

(3)如果名字服务在运行,从另一台客机上执行 ping 命令,检查联通性。

(4)检查网络软件配置,如/ etc/ netmasks、/ etc/ nsswitch.conf等。

(5)如果软件是正确的,请检查网络硬件。

124.2 远程检查 N FS 服务器

(1)检查 nfsd 进程有无响应,即:

#/ usr/ bin/ rpcinfo - u cat nfs

program 100003 version 2 ready and waiting

program 100003 version 3 ready and waiting

如果 rpcinfo 命令执行结果不是上述内容,请到服务器上区检查。

(2)检查 mountd 进程有无响应,即:

#/ usr/ bin/ rpcinfo - u cat m ountd

program 100005 version 2 ready and waiting

program 100005 version 3 ready and waiting

如果 rpcinfo 命令执行结果不是上述内容,请到服务器上区检查。

(3)如果使用 autofs,请检查本地 autofs服务,即:

# cd/ net/ wasp

#/ etc/ init.d/ autofs stop

#/ etc/ init.d/ autofs start

(4)检查文件系统共享情况,即:

#/ usr/ sbin/ show mount - e cat

/ usr/ src eng

/ export/ share/ man

124.3 检查本地 N FS 服务器

(1)以超级用户注册服务器

(2)确信服务器能到达客机,即:

# ping sun20

sun20 is alive

(3)检查 nfsd 和 mountd 进程是否在运行:

#/ usr/ bin/ rpcinfo - u localhost nfsd

#/ usr/ bin/ rpcinfo - u localhost mountd

042

# ps - ef|grep mountd

# ps - ef|grep nfsd

125 如何通过 PC 机操作 Sun 工作站

有时,由于重重原因,一台 Sun 工作站无合适的图形显示卡或无合适的键盘和鼠标可用。

在这种情况下,如何才能操作 Sun 工作站 ? 通过另一台工作站或 PC 机操作该工作站是一种

有效的方法。下面是通过 PC 机操作该工作站的方法:

(1)找一条附有“ N U L L M O DE M”的串口电缆。

(2)用上述电缆把一台 P C 机和工作站连接在一起。

图 8 - 16 选择连接图标

(3)启动 P C 机至正常窗口界面。

(4)在 PC 机的程序(program )菜

单中选择→附件(accessories)→超级终

端( Hypertrm)→H ypertrm

(5)执行 Hypertrm,可以见到图 8

- 16 的界面。

(6)选择串口,如图 8 - 17 所示。

(7)选择通信参数(波特率选 9600

或 19200),如图 8 - 18 所示。

另外,也可使用另一台工作站代

替 PC 机。连接串口电缆后,在工作站

上执行 tip 命令即可操作缺少部件的

工作站。一旦工作站被配置后,用户

也可以通过网络系统操作缺少部件的

工作站,如可以使用 rsh、rlogin、telnet

或 ftp 命令等。

126 PC 微机如何向 U NIX 工作站传送文件

PC 微机向 U NIX 工作站传送少量文件可以使用软盘驱动器,但是如果有大量文件需要

传送就应该考虑使用网络系统。用户可以通过 H U B/ S W IT C H 把 PC 微机与 U NIX 工作站连

接为以太网络系统。网络连接完成后,有两种方法配置网络系统:一是使用 Window 95,二是

使用 PC - N FS。

(1)通过 Window 95 配置网络系统。步骤为:

1)启动 PC 进入 Window。

2)进入控制面板(Control panel)。

3)双击网络图标( Network)。参见图 8 - 19。

4)选择增加协议项,增加微软的 T CP/ IP 协议。指定 PC 机的 IP 地址(可参看工作站的

IP 地址)。见图 8 - 20。

142

图 8 - 17 选择串口

图 8 - 18 设置通信参数

5)重新启动 PC 机。

(2)通过 PC - N FS 配置网络系统。执行 PC - N FS 安装程序,根据菜单提示配置网络。

242

图 8 - 19 增加新的协议

最后重新启动 PC 微机。

网络配置完成后可以使用如下命令传送文件:

(1)使用 rcp 命令(仅限于 PC - N FS 配置),rcp 命令的格式为:

rcp dosfile server:目录

如果用户想把 C 盘上的 tm po 文件拷贝到 Sun60 工作站的/ tm p 目录,在微机上可执行远

程拷贝命令 rcp,即:

C > \ N FS \ RC P T M P O Sun20:/ tmp

注意:如果要拷贝的文件在软盘上,必须先将该文件拷贝到硬盘 C 上,再使用 rcp 命令拷

贝。

(2)使用文件传输命令 ftp:文件传送程序(ftp)是一个工业标准。它具有如下功能:

1)远程文件系统的操作(创建删除等);

2)将文件发送到远程系统上;

3)从远程系统上得到文件;

4)可对各种格式的文件进行操作;

342

图 8 - 20 指定 IP 地址

5)可在多文件多目录系统下执行文件传输。

例如,传输单个文件,可执行如下命令:

C > ftp [hostna me or IP address]

ftp > append dosfile [remotefile]

ftp > m put dosfile1 dosfile2...

同时,使用 ftp 命令,可以把 U NIX 工作站上的文件传送到微机,即:

ftp > get remotefile [dosfile]

ftp > recv remotefile [ dosfile] (传输单个文件)

ftp > mget remotefile remotefile2... (传输多个文件)

(3)设置虚拟硬盘(仅限于 PC - N FS 配置):把 U NIX 工作站的某一目录或文件出口给微

机,微机把该目录安装为 一个虚拟盘。然后,使用 D OS 的 C O P Y 命令在两个盘之间操作。假

定 U NIX 工作站的/ tmp 目录出口给 PC 微机,并安装为 H 虚拟盘。具体方法为:

1)出口工作站的/ tm p 目录。编辑/ etc/ dfstab 文件,增加如下行:

/ tm p - access = pc1,rw = pc1

2)在微机上,配置并安装虚拟盘:

442

a.执行 N FSC O N F 配置程序,安装工作站的/ tmp 目录到微机的 H 盘。

b.重新启动微机,安装 H 盘

3)拷贝文件到 H 盘,即:

C > C O PY tm p1 H:

或: C > C O P Y A:tm p1 H:

以上 3 种操作方法虽均可达到微机文件向 U NIX 工作站传送的目的,但只有第三种方法

可以直接把软盘上的文件传送到 U NIX 工作站; 同时,第三种方法在微机磁盘之间进行,方便

易操作,特别是对不太了解网络的用户,可以象使用 PC 机本地磁盘一样透明地访问工作站出

口给微机的虚拟盘。

127 什么是 Sun M anagement Center

Sun M anagement Center 软件是一种开放式、可扩展的系统监视和管理方案,它使用 Ja-

vaT M 软件协议和简单网络管理协议 (S N M P) 对整个企业的 Sun 产品及其子系统、组件和外

围设备提供完整、全面的管理。Sun M anagement Center 技术提供了一种扩展和增强 Sun 硬件

和软件方案的管理功能的解决方案。

127.1 Sun M anagement Center的结构

Sun M anagement Center 软件包含三个组件层:控制台、服务器和代理。这是基于管理器/

代理体系结构,其中:

(1)控制台:是用户界面,可用来进行交互操作以启动管理任务。

(2)服务器(管理器):执行管理应用程序,并向代理发送请求以代表用户执行管理任务。

图 8 - 21 Sun M anagem ent

Center 组件层

(3)代理(在所管理的节点上执行):访问管理信息,监

视本地资源并响应管理器请求。

三个组件层如图 8 - 21 所示。

主要的 Sun Management Center 层及其功能描述如下。

(1)控制台层。

同一 Sun M anagement Center 服务器可以有多个控制

台,服务于多个用户。控制台为用户提供:所管理对象(例

如,主机和网络)的直观表示;操纵与所管理的对象相关联

的属性和特性的能力(例如,创建警报阈值);启动管理任

务的能力(例如,动态重新配置)。Sun M anagement Center

控制台层是用户和 Sun M anagement Center 软件的其它

组件层之间的界面。

(2)服务器层。

服务器层通过控制台接受用户的请求,并将这些请求传递给相应的代理。然后,将代理的

响应转发给用户。例如,如果用户需要关于访问主机的用户数目的信息,服务器层将从控制台

接收此请求,然后发送给该主机上的代理。该代理找到答案,将答案发回服务器,服务器将该

信息传递给用户(通过控制台)。

542

类似地,如果一台主机上发生了错误,该主机上的代理向服务器发送关于此错误(事件)的

通知,服务器将该信息作为警报转发给用户(通过控制台)。

此外,服务器层还为控制台提供安全进入点以与代理接合。

服务器层包括如下 5 个组件(图 8 - 22):

Sun M anagement Center 服务器;拓扑管理器;陷阱处理程序;配置管理器;事件管理器。

图 8 - 22 Sun M anage m ent Center 服务器层

服务器组件是服务器层的核心。它基于 Java 技术且是多线程的,处理来自多个 Sun

M anagement Center 用户的多种数据请求。Sun M anagement Center 拓扑管理器提供的服务包

括对用户管理域的管理以及所管理对象的拓扑结构的管理。陷阱处理程序是集中式的 SN-

M P 陷阱接收器,它记录陷阱并将其转发给相关组件。正是此服务器层组件负责接收所有警

报通知。Sun M anagement Center 配置管理器为服务器和代理提供安全性服务。Sun M anage-

ment Center 事件管理器从代理接收事件信息并向其发送。这些事件可触发警报,警报将转发

给控制台。

(3)代理层。

代理层执行实际的信息收集、监视并管理由 Sun M anagement Center 软件管理的节点上

的对象。服务器层和代理层交互操作,以使用 S N M P 访问所管理的对象。Sun M anagement

Center 代理可调节、可扩展且基于 S N M P。它们通过加载针对系统的特定方面的模块,监视

并管理包括硬件、操作系统和应用程序在内的对象,以及应用程序运作情况和性能。代理使用

规则来确定所管理的对象的状态。当规则所指定的条件成立时,软件就自动按规则所指定的

要求生成警报或执行操作。

Sun M anagement Center 服务器环境定义为服务器层和代理层。启动控制台时,用户将登

录到特定的服务器环境。被管理的对象(其代理向同一服务器发送信息)也属于同一服务器环

境。被管理的对象可以属于同一服务器环境或远程服务器环境(在远程服务器环境中的被管

理的对象向其他服务器发送信息,而同一服务器环境中的被管理的对象向连接到用户的控制

台的服务器主机发送信息)。缺省情况下,Sun M anagement Center 软件管理同一服务器环境

中的对象,但仅监视远程服务器环境中的对象。

642

127.2 Sun M anagement Center的管理设备及功能说明

(1)硬件系统管理。

在硬件和操作系统级别监视和管理系统。可以监视和管理从 Ultra5 到 E10000 所有 SU N

公司的工作站和服务器产品,以及 S U N 的 A5000,A5100, A5200 磁盘阵列。对系统监视的硬

件包括系统板、磁带、电源和磁盘等,可对其进行故障预警,监控及故障检测。

(2)操作系统管理。

监视和管理 SO L A RIS 操作系统参数,包括系统负荷、资源使用情况、进程状态、文件系

统、磁盘空间和网络统计信息等,给出直观的图形显示和历史显示。

(3)应用程序和商业系统管理。

可用来监视商用应用程序,如数据库系统,贸易系统、会计系统、库存系统以及实时控制系

统。

(4)可调节性。

提供一种开放式、可调节而且灵活的方案以配置和管理分布在企业中的多个管理域(包含

多个系统)。本软件可由多个用户以集中或分散的方式配置和使用。

127.3 Sun M anagement Center软件安装环境

代理层:安装在要管理的 S U N 硬件平台上,25 M B 大小,支持的 OS:Solaris2.5.1,2.6, 7,

8,SP A R C 平台。

服务器层:安装在 S U N SPA RC 平台上,45 M B 大小,支持的 OS:Solaris2.6, 7, 8。

控制台层:可安装在 S U N Solaris2.6,7,8 平台和 Windows 95/ 98/ N T 平台上。

128 如何通过使用 rlogin 命令运行远程应用程序

在远程机器上运行联网应用程序的关键在于正确设置环境变量:

(1)远程机器上 shell 中 H O M E 环境变量必须设置为起始目录。

(2)远程机器上 shell 中 DISPL A Y 环境变量必须设置为本地屏幕。

(3)正确设置 Open Windows 库(/ usr/ openwin/ lib)。如 Open Windows 库未安装到 usr/ lib

或/ usr/ local共享库目录,则必须将 L D LIB R A R Y PA T H 环境变量设置为适当的目录(/

usr/ open win/ lib)。下面是用 rlogin 在远程机器上运行“命令工具”的例子。

128.1 远程运行 cmdtool

在此例中,起始目录装配在远程机器的/ home/ mydirevtory 上,且 Open Windows 软件位于

远程机器的/ usr/ open win 中。将变量 mydirectory 和 m ymachine 变更为适合安排。同时,用

要运行的应用程序名替换 cm dtool。

742

$ rlogin remotenachine

( The following com mands are execyted on the remote machine.)

$ H O M E =/ home/ m ydirectory

$ DISPL A Y = my machine:0 �

$ L D LIB R A R Y P A T H =/ usr/ openwin/ lib

$/ usr/ open win/ bin/ cmdtool &

输入最后一行后,“命令工具”窗口出现在屏幕上。

128.2 运行远程机器上的 ad mintool命令

具体命令为:

$ rlogin remotehost

$ setenv DISPL A Y =localhost:0 (cshell环境)

$ admintool&

128.3 运行远程机器上的应用程序

X 客户使用 DISPL A Y 环境变量的值以获取他们应连接的服务器的名称:

(1)在运行服务器的机器上,允许另一用户存取。根据您使用的授权协议,按照“当使用

M IT - M A GIC - C O O KIE - 1 时允许存”或“当使用 S U N - D ES - 1 时允许存取”其中一种所

述步骤进行。

(2)将 DISP LA Y 设置为运行服务器的主机名。

此例中,主机是 remotehost:

m yhost % setenv DISP LA Y rem otehost:0 �

(3)运行所示的客户程序。

myhost % client program &

129 如何向网络增加客户机

在一个正常的 NIS 网络系统中,新增一台客户机需要做如下工作:

(1)通过 H U B/ S W ITC H 连接网线。

(2)在服务器上执行 ad mintool实用程序。

(3)选择 browse 菜单中的 hosts 项。参看图 8 - 23。

(4)根据提示填写相应信息。如客户机 IP 地址和名字。

(5)退出 ad mintool。

(6)执行/ var/ yp/ make 命令

842

图 8 - 23 增加客户机

130 如何共享网络文件系统

在 Sun 工作站网络系统中,有些工作站(暂称为客户机)需要共享另外一台机器(暂称为服

务器)的文件系统。遇到这种情况,系统管理员可按如下方法处理:

(1)以超级用户注册服务器。

(2)编辑/ etc/ dfs/ dfstab 文件(参看下面该文件内容的一个例子)。在该文件中增加如下行:

share [ - F fstype] [ - o options] [ - d“ < text > ”] < pathname > [resource]

假如,客户机 sun60 需要共享服务器上的/ export/ home2 文件,该行可写为:

share - F nfs - o rw = sun60/ export/ home2

(3)保存并退出 vi编辑器。

(4)执行如下命令,开放文件系统的共享权:

# shareall

(5)以超级用户注册客户机。

(6)编辑/ etc/ vfstab 文件。在该文件中增加如下行(如安装 sunserver 上的/ export/ home2

文件系统到客户机的/ ho me 目录):

sunserver:/ export/ home2 - / home nfs - - -

(7)执行如下命令,安装服务器上的文件系统:

# m ountall

下面是一个/ etc/ dfs/ dfstab 文件的例子:

$ m ore/ etc/ dfs/ dfstab

# place share(1 M ) com mands here for auto matic execution

942

# on entering init state 3.

#

# share [ - F fstype] [ - o options] [ - d“ < text > ”] < pathname > [resource]

# .e.g,

# share - F nfs - o rw = engineering - d“ho me dirs”/ export/ home2

share - F nfs/ export/ home/ disk1

share - F nfs/ export/ home/ disk24

share - F nfs/ export/ home/ disk25

share - F nfs - o ro/ export/ share

share - F nfs - o ro/ opt

052

第九章 外部设备的管理和维护

131 不同版本 Solaris 使用管理打印机的区别

设置和维护打印机是系统管理员的重要任务。设置打印机有 3 个方面的任务:

(1)设置本地打印机;

(2)设置打印机服务器;

(3)设置远程打印机。

一旦打印机设置完毕,系统管理员余下的任务便是如何解决打印过程中的问题(诸如,打

印机卡纸等)。

在 Sun0S 5. X 以上系统下,打印服务是一种假脱机服务(Spooling service),也就是说,通

过一个后台进程组织控制打印队列。假脱机服务使得用户在打印文件的同时,可立即做别的

工作,而作业的打印被放在后台进行。

Sun0S 5. X 以上系统提供了一个配置远程打印机和打印机服务器的管理工具,该管理工

具在 Sun0S 4.X 中是没有的。

打印机,尤其是激光打印机,没有必要每台计算机配备一台,网上多台计算机共享一台打

印机是完全行得通的。配置打印服务器,要求连接打印机的计算机具有至少 16 M B 内存,

24 M B 交换区(虚存)。

在 Solaris 2.5 以上系统中,如果用户运行了 Sun0S/ BSD 兼容软件包,那么,Solaris 1.x 的

所有打印命令均可运行。否则,Solaris 1.x 的所有打印命令均不能运行。

Solaris 2.x 以上版本与 Solaris 1.x 提供的打印命令功能类似,但命令名字有较大改变。

见表 9 - 1。

表 9 - 1 Solaris 2.x 以上版本与 Solaris 1.x 提供的打印命令的差别

Solaris 1 �.x Solaris 2 *.5 功 能

lpr filena m e lp filenam e 用缺省打印机打印文件

lpr -Pprinter filenam e lp -dprinter file 用指定打印机打印文件

lpq Lpstat -o printer 查看缺省打印机等待队列

Check/ etc/ printcap Lpstat -d 查看缺省打印机名字

Check/ etc/ printcap L pstat -a 确定哪台打印机可用

Lpr m jobnu m ber Cancel jobid 删除缺省打印机上作业

Solaris 2.5 以上版本系统管理打印机采用了新的方法,即使用户运行了 Sun0S/ BSD 兼容

软件包,Solaris 1.x 系统也无法使用打印机管理命令。Solaris 2.5 以上版本用于打印机管理的

152

命令和数据库见表 9 - 2。

表 9 - 2 Solaris 2.x 与 Solaris 1.x 管理打印机的命令和文件的差别

Solaris 1 �.x Solaris 2 *.5 功 能

Lpc Lpad min 控制打印机工具

/ etc/ printcapter minfo 数据库和

/ etc/ lp/ printers/ printernam e定义打印机的文件

/ var/ spool / var/ spool/ lp 存储打印作业的目录

lp m ove 在打印机之间移动打印队列

lpc do w n reject 停止打印

lpsyste m 显示打印机情况

132 如何管理打印机

132.1 打印机配置信息

132.1.1 设备名(device name)

设备名是一个接口设备文件,对于串口设备,设备名为:/ dev/ term/ a 和/ dev/ term/ b,对

于并口设备,设备名为:dev/ lp1 至/ dev/ lp4。

132.1.2 打印机名(printer name)

打印机名是一个最多可由 14 个字母数字串或下画线组织的字符串。

132.1.3 打印机类型(printer type)

打印机类型是 terminfo 数据库或 termcap 文件(Sun0S 4.x)。

打印文件内容类型有如下几种:

(1)Postscript;

(2)A SCII;

(3)Postscript 和 A SCII;

(4) None(所有文件均需过滤(filered));

(5)Any(没有文件需过滤)。

132.1.4 注释(com ment)

对打印机进行解释性说明。

132.1.5 系统缺省(system default)

缺省打印机是用户预先指定的打印机。

132.2 增删打印机

增删打印机的前提是打印机硬件上已经连接到计算机。增加打印机的具体方法为:

(1)以超级用户注册。

(2)执行 ad mintool 程序。

(3)根据窗口提示选择“browse”按纽。

(4)在菜单中选择打印机选项。参看图 9 - 1 和图 9 - 2。

(5)根据提示输入有关信息(打印机是本地打印机还是远程打印机)。

(6)确认后,退出 admintool。

252

图 9 - 1 增加打印机

如需要删除打印机,系统管理员可以采取如下方法:

(1)以超级用户注册。

(2)执行 ad mintool 程序。

(3)根据窗口提示选择“browse”按纽。

(4)在菜单中选择打印机选项。

(5)用鼠标选中欲删除的打印机。参看图 9 - 3。

352

图 9 - 2 增加远程打印机

图 9 - 3 删除打印机

452

(6)在菜单 edit 中选择删除项。

(7)退出 ad mintool。

132.3 以命令行方式设置打印客户

本节介绍以命令行方式配置 System Ⅴ客户打印机的方法步骤。

设置打印客户可按如下方法进行:

(1)在打印客户机上,以超级用户注册。

(2) �识别客户的打印服务系统,即:

lpsystem -t s5 server-system-name

其中,server-system-name 是指服务器的名字。

(3)识别服务器系统的打印机,即:

lpadmin -p printer-name -s server-syste m-name

(4)指定打印机类型为 unknow n,即:

lpadmin -p printer-name -T unknow n

(5)指定文件系统的类型为 any,即:

lpadmin -p printer-name -I any

(6)创建 filter.install 文件,录入以下内容:

cd/ etc/ lp/ fd

for fin ’ls|sed ’s/ .fd$// ’’

do

lpfilter -f $f -F $f.fd

done

(7)安装过滤器,即:

sh filter.install

(8)执行“accept print-name”命令。

(9)执行如下命令:

lpadmin -p printer -name -D ″com ment″

lpadmin -d printer -name

lpstat -t

(10)执行打印命令,即:

lp filename

132.4 设置打印服务器

为了使网络上 Sun0S 5.x 和 Sun0S 4.x 客户机使用打印服务器,系统管理员必须对打印

服务器进行配置。配置打印服务器的方法如下:

(1)在服务器上,以 root 注册。

(2)配置“port m onitor”,使之接受服务请求。即执行:

sacad m -a -p tcp -tlisten -c/ par “/ usr/ lib/ saf/ listen tcp”-v ’nlsad min -v’-n 9999

(3)执行“sacadm - l”命令。

(4)为 lp 请求配置“port monitor”,即执行:

pmad m -a -p tcp -s lp -i root -m ’nlsadmin -o / par / var/ spool/ lp/ fifos/ listenS5’

552

-v ’nlsadmin -V’

(5)验证指定服务是否使能和初始化,即执行:

cat/ var/ saf/ tcp/ log

(6)识别打印客户,即执行:

lpsystem client-system

133 如何打印中文文件

通过下述 3 种类型的打印机,可以打印中文文件:

(1)内含中文字库的行式打印机。

(2)由运行带中文 PostScript 字库的 NewSprint 的系统提供服务的基于 PostScript 的打印

机。

(3)基于 PostScript 的打印机。

用户可以利用中文 Solaris xetops 实用程序在 PostScript 的打印机上打印含有中文文本的

文件。

中文 Open Windows 环境采用 E U C 代码集。它的打印应用程序(例如 DeskSet 工具集)生

成使用 E U C 的 PostScript 代码。如果使用不同的 PostScript 打印,要确认它具有相同的功

能。

在上述(1)和(2)所指打印机上,用下例中的命令打印 E U C 文件:

system % lp euc-filename

可以用下面的命令在一台支持 G B 格式文件的打印机上打印 GB 格式文件:

system % lp -T G B G B-filename

在上述(3)所指的打印机上打印文件,可使用 xetops 实用程序。xetops 实用程序将中文

文本转换成要打印的映像位图图像。其典型命令行如下:

system % rp filen mae | xetops | lp

其中,“filename”是指欲打印的文件。文件中可以包含中文,也可以包含 ASCII 英文字

符。

xetops 实用程序可以用基于 PostScript 的打印机打印中文字符。如果打印机服务器系统

没有安装具有 PostScript 中文字库的 New Sprint 程序,那么使用 xetops 将是中文 Solaris 应用

程序能打印中文字符的唯一方法。

134 打印机管理命令摘要

表 9 - 3 显示了有关打印机管理的部分常用命令。

652

表 9 - 3 打印机管理命令摘要

命 令 功 能

Ad mintool 配置打印机的管理工具

Lpad min -v devicena m e 用一个设备分配打印机

L pad min -T printertype 定义打印机类型(terminfo/ term cap)

Lpad min -D ″co m ment″ 定义描述

Lpad min -u allow :na m es 定义有权使用指定打印机的用户

Lpad min -d printerna m e 定义系统缺省打印机

L pad min -c printerclass 把一个打印机与打印机类联系起来

Lpad min -x printerna m e 删除打印机

A ccept printerna me 允许接收打印队列

Reject printernam e 停止打印机接收作业

Enable printnam e 允许 lpsched 传送作业到指定打印机

Disable printerna me 不允许 lpsched 传送作业到指定打印机

Lp m ove oldprinter new printer 把一台打印机的作业移到另一台打印机

Lpshut 停止一个任务

Lpfilter 安装定制过滤器

Lpforms 定义 form 的特性

Lpsyste m clientna m e 在服务器上,接受打印客户

L psyste m -r clientna me 在服务器上,删除打印客户

L psyste m -t type server 在客机上,识别服务器和它的 O S 类型

L psyste m -A 在 4 �.1 的客户上,看通用地址

Lpstat -t 列出打印队列的作业情况

Lpusers 设置用户最大优先级别

L p 打印作业

135 如何处理“printer queue is disable”错误

在 Solaris 2.x 环境下,打印机可设置为接受打印请求和拒绝接受打印请求两种状态。当

用户使用 lp 命令打印文件时出现类似“printer queue is disable”的错误信息时,说明打印机处

于拒绝接受打印请求状态。遇到此类问题,用户可请求系统管理帮忙。系统管理员可按如下

两种方法处理:

(1)启动 printer M anager 程序,利用 Edit 菜单的 M odify Printer 选项修改打印机配置,使

Enable Print Queue 和 Accept Print Jobs 均处于 Yes 状态。

(2)执行如下命令使打印机接受请求并使打印机可用:

# accept (打印机名)

# enable (打印机名)

752

136 磁带机类型和状态

用户可以使用 mt 命令的 status 选项查看磁带机类型和状态。

136.1 确定磁带机类型

mt 命令可以报告以下磁带机类型:

(1)E mulex M T - 02 ( QIC - 24);

(2) W angtek QIC - 150;

(3)Sysgen ( QIC - 24);

(4)Exabyte E XB - 8200;

(5)Xylogics 472;

(6)Archive QIC - 150。

确定磁带机类型的具体步骤:

(1)装载磁带。

(2)执行如下命令:

# mt -f/ dev/ rmt/ n status

(3)重复(1)、(2)步,显示所有磁带机类型。

例如:

# mt -f/ dev/ rmt/ 2 status

显示信息可能为:

/ dev/ rmt/ 2:no tape loaded or drive offline

# mt -f/ dev/ rmt/ 1 status

显示信息可能为:

Exabyte E X B - 8200 8 m m tape drive:

@sense key = unit attention residual= 0 retries= 0

file no = 0 block no = 0

另外,有一种快速查看磁带机类型的方法,即:

# for drive in 0 1 2 3 4 5 6 7

> do

> mt -f/ dev/ rmt/ $drive status

> done

屏幕显示可能为:

Archive QIC - 150 tape drive:

sense key (0x0) = unit attention residual= 0 retries = 0

file no = 0 block no = 0

/ dev/ rmt/ 1: No such file or dircetory

/ dev/ rmt/ 2: No such file or dircetory

852

/ dev/ rmt/ 3: No such file or dircetory

/ dev/ rmt/ 4: No such file or dircetory

/ dev/ rmt/ 5: No such file or dircetory

/ dev/ rmt/ 6: No such file or dircetory

/ dev/ rmt/ 7: No such file or dircetory

136.2 确定磁带机状态

显示磁带机状态也使用 mt 命令,即:

mt -f/ dev/ rmt/ n status

例如:

# mt -f/ dev/ rmt/ 0 status

显示信息可能为:

/ dev/ rmt/ 0:no tape loaded or drive offline

# mt -f/ dev/ rmt/ 1 status

显示信息可能为:

Archive QIC - 150 tape drive:

sense key = unit attention residual= 0 retries= 0

file no = 0 block no = 0

137 如何操作磁带

用户可以使用 mt 命令对磁带进行走带、倒带等操作。具体方法为:

(1)倒带:

# mt -f/ dev/ rmt/ n rewind

(2)走带:

# mt -f/ dev/ rmt/ n fsf n

其中,最后一个参数 n 表示走的块数。

138 怎样在无磁带机的机器上读取磁带文件

一般来讲,一个机房或网络上的工作站不会都安装磁带机,也没有必要都安装磁带机。只

要网上有一台磁带机,用户就可在任意一台上网工作站上读取磁带文件。其方法有两种:

(1)把磁带上的文件拷贝到安装有磁带机的机器上,然后通过远程拷贝命令 rcp,把该文

件再拷到目的工作站上。

(2)使用 rsh 命令和 dd 命令,即执行如下命令串:

# rsh hostname dd if =/ dev/ rmt/ 0|tar xvBpf -scripts

其中,hostname 为安有磁带机的工作站名。/ dev/ rmt/ 0 为磁带机名;scripts 为要读取的

目录或文件。

同样利用 dd 和 rsh 命令,也可向远程磁带上写文件, 即执行如下命令串:

# tar cvf -scripts|rsh hostname dd of =/ dev/ rmt/ o

952

139 如何在磁带和磁盘之间拷贝文件和文件系统

在磁带和磁盘之间拷贝文件和文件系统有多种方法,见表 9 - 4。

表 9 - 4 与磁带拷贝有关的命令

命令名 功 能 物理或逻辑拷贝 多卷拷贝 文件系统边界

V olcopy 创建文件系统的映象 物理 是 知道

Tar 创建磁带档案或从磁带档案中析取文件 逻辑 否 否

Cpio 拷贝文件档案或从文件档案中析取文件 逻辑 是 知道

Pax 拷贝文件到单个磁带 逻辑 是 知道

Dd 转换和拷贝文件 物理 是 否

Ufsdu m p/ ufsrestore 增量文件系统转储和恢复 逻辑 是 知道

(1)在两个文件系统之间拷贝目录。使用 cpio 命令可以拷贝整个文件系统、一组文件或

单个文件。在两个文件系统之间拷贝目录的步骤为:

1)变为超级用户。

2)改变工作目录至合适的地方。如:

# cd/ filesystem 1

3)拷贝目录树。如:

# find . -print -depth | cpio -pd m / filesystem2

其中: h

-depth w显示指定目录中的各子目录和文件

-p 创建一个文件清单

-d 创建一个目录清单

-m 设置正确的修正次数

(2)拷贝一个目录中的所有文件到磁带。方法为:

# ls | cpio -oc > / dev/ rmt/ n

其中:

cpio -oc 表明 cpio 以 A SCII 字符格式从标准输出读信息

> / dev/ rmt/ n 指定的输出文件,即磁带机的名字

(3)从磁带上列出由 cpio 命令拷贝的文件。方法为:

# cpio -civt < / dev/ rmt/ n

(4)从磁带上析取由 cpio 命令拷贝的所有文件。方法为:

# cpio -icv < / dev/ rmt/ n

(5)从磁带上析取由 cpio 命令拷贝的指定文件。方法为:

# cpio -icv“ * file”< / dev/ rmt/ n

例如析取以 chapter 结尾的所有文件,命令为:

# cpio -icv ″* chapter″< / dev/ rmt/ 0

(6)拷贝文件到一个远程磁带机。命令为:

062

$ tar cvf - files | rsh rem otehost dd of =/ dev/ rmt/ n bs = blocksize

例如:

# tar cvf - * | rsh sun1 dd of=/ dev/ rmt/ 1 bs = 126b

(7)从一个远程磁带机上析取文件。方法为:

# rsh remotehost dd if =/ dev/ rmt/ n | tar xvBpf -

140 如何使 PC 微机共享工作站系统上的网络打印机

在一个以 U NIX 工作站为主的网络系统中,经常会安装一台高档网络打印机。在网络系

统中,该打印机服务器有它自己的 IP 地址和名字。 U NIX 工作站用户可以通过系统管理工具

安装配置网络打印机。而 PC 微机用户又如何配置该网络打印机呢 ? 下面将以 H P 激光打印

机和运行 Windows 95 的 P C 微机为例介绍共享方法。

140.1 加载 IP X/ SP X 兼容协议

(1)在 Windows 95 的控制面板上,点击 network 图标。

(2)点击 add 选项。

(3)选 Protocol 项目中的 add。

(4)从 Microsoft 中选择 IPX/ SP X。参看图 9 - 4。

(5)确认,重新启动计算机。

图 9 - 4 增加 IP X/ SP X 协议

162

140.2 安装 H P 激光打印机管理软件 JetAdmin

如果 PC 机上有 CD - R O M 驱动器,直接执行 CD - R O M 上的 setup 或 install安装程序。如

果 PC 机上无 CD - R O M 驱动器,要先在带有 CD - RO M 驱动器的机器上制作一个 JetAdmin 软

件安装盘(制作的方法为:启动 JetAdmin 安装程序,选择 make diskettes,执行拷贝),然后再用软盘

安装 JetAdmin。

140.3 配置打印机

(1)启动 JetAdmin 软件。

(2)点击 device 项,选择 new。

(3)选择网络打印机的 IP 地址或硬件地址(可在打印机自测页中查找)。

(4)根据提示回答问题。

(5)选择 O K 或 finish。

140.4 在 PC 上增加打印机

在 Windows 95 控制面板点击 printer,然后增加新的本地打印机。打印机的接口是一个

新的 IP 地址。

262

第十章 电子邮件服务器软件介绍

141 IPlanet M essaging Server 有何特点

IPlanet M essaging Server (I M S)是 Sun-Netscape 联盟提供的重量级、高性能的邮件解决方

案。通过高性能、集中化的邮件存储和集成的目录服务提供“服务准备就绪”(Services-Ready)

的基础结构,允许服务供应商非常容易地在基于 W eb 的邮件系统和自成体系的邮件系统中提

供增值服务,允许在在线、不停止服务器情况下执行管理操作,如:配置系统、扩充容量和系统

备份等。提供集中式的管理,减轻管理成本;提供巨大的伸缩性和基于组件的体系结构,可以

伸缩系统支持数百万直至上千万的用户。

IM S 是为电信公司和 Internet 服务提供商(“服务提供商”)“量体裁衣”设计的重量级、高

性能的邮件解决方案,可以为群体用户和公司提供大容量、高性能和具备强管理能力的邮件系

统。它能快速为最终用户和公司的群体用户提供巨大伸缩、先进的邮件系统解决方案。

与 IPlanet Directory Server 的无缝集成允许服务提供商集中化的管理用户和帐号信息,单

一化、统一的管理大量服务的订阅用户。同时也允许快速的部署新服务,增加用户的满意度和

减少管理和维护的负担。

委派管理和虚拟域主机等关键特征使 IPlanet M essaging Server 成为健壮的可扩展平台。

服务提供者可以使用增值服务,包括外购、无线存取和统一的通信服务。

(1)智能通信平台。

IPlanet 智能通信平台为电信供应商、服务提供者、入口和企业提供开放、灵活和可扩展的

基础,在此之上为快速的语音,有线和无线网络产生新内容、协作和商业服务。

作为智能通信平台的关键组件,IPlanet M essaging Server 提供可升级的、高可靠性的基于

web 的通信和消息解决方案。例如 IPlanet Messaging Server 部署一体化的通信服务,将电话

服务、E-mail通知、传真、传呼和其他服务集成在一起,当用户存取 E-mail、地址簿和日历时,提

供一个改进的界面。

(2)巨大的伸缩性。

IM S 为重量级的邮件系统提供所需巨大的伸缩性和高可靠性。基于多进程、多线程的体

系设计允许在多处理器的服务器上纵向扩充。强大的缓存设计技术可以大量的减轻对目录服

务的负载。利用 M ail 多通道( M ultiplexor)技术可以在多个邮件存储服务器上实现横向扩充。

(3)增强的 W eb M ail 和个性化地址簿。

W eb M ail 服务具有高可扩展性、可定制性和可升级性,使服务提供者可以用广告和动态链

接设计自己的 mail 入口。 W eb M ail 提供完整的 mail 客户端,包括消息搜索,返回收条,多重

附件,基于 L D A P 的地址查找,文件夹管理,vCard 支持,消息签名和个性化地址簿。 W eb M ail

用户现在可以在服务器上存储个性化地址簿。这样即使他们的客户端是浏览器,也可以存取

这些信息。既然个性化地址簿是集中管理和存储的,它就可以被其他应用程序共享。个性化

362

地址簿包括系统管理和配置工具,可根据用户需要扩展和定制。

(4)服务器端规则。

基于 IE T F 标准 Sieve 语言的过滤规则,即使在用户没有登录到服务器时,用户仍能管理

他们的 mail。这些先进的过滤器对缺乏这类功能的客户端尤其有用。系统管理员可以编写基

于 Sieve 语言的过滤器,然后通过委托管理平台(Delegated A dmin)公布出去,这样允许用户通

过基于 W eb 方式的委托管理界面填写自己的过滤规则。

(5)开放的可扩展平台的关键特征———开放标准支持。

IPlanet Messaging Server 基于开放的 Internet 标准,包括 L D A P,S M T P,ES M T P, M I M E,

H T M L, IM A P4, PO P3, T CP/ IP 和其他标准。另外,IPlanet M essaging Server 提供开放的、

良好归档的接口,以便于扩展核心消息能力。例如,服务提供者有能力集成监控和记帐的应用

程序,这对外购商务模式尤其重要。

IPlanet M essaging Server 的 M T A 包括良好归档的 A PI,允许服务提供者或第三方产生他

们自己的服务和内容集成的通道。通过 API,这样的通道可以存取所有的 M T A 核心功能。

A PI 也包括监控界面和面向 mail 的子程序。

(6)无线访问消息数据。

IPlanet 无线服务器为蜂窝电话和便携机用户提供无线日历、消息和目录服务的基础。这

也可作为集成附加应用程序的平台,如定位服务可与日历和消息功能接合。

(7)高品质的运营级服务关键特征———经验证的高性能 M T A。

超过 14 年的开发和部署经验,证明 IPlanet M essaging Server M T A 是业界最灵活和可靠

的 M T A 之一。高性能 M T A 引擎利用模块化的成熟通道架构操作各种数据类型,包括

E-mail、传真、传呼、语音和视频。多线程设计为最大消息吞吐而优化,这意味着它对大量

m ailing、内容递送和电子商务服务是理想选择。灵活的 M T A 通道架构使服务提供者能很好

地控制 m ail 流的行为,为消费者创建新类型的服务。

(8)高可靠性。

IPlanet M essaging Server 集成了高可靠性集群软件,即使在硬件失效的情况下,仍能获得

持续的有效性和快速恢复。IPlanet M essaging Server 支持三种高有效性模式:失效恢复(不对

称),双系统(半对称)和 N + 1。服务器管理功能(如消息存储、备份和恢复用户文件夹)和管

理的配置能在不停机的情况下在线完成。

服务器管理的许多功能,如:扩充邮件存储设备的容量、用户信箱的备份和恢复、配置管理

等均可以在线完成,不必停止服务器。I M S 提供对高可靠性集群软件的支持能力。

1)允许在线运行状态下执行移动用户、更名信箱等信箱管理任务。

2)允许在线增加新的存储分区。

3)允许在线备份和恢复系统。

4)允许在线对服务器的大量配置进行管理。

5)支持 SN M P M A D M A N Mib。

6)提供对服务器有效进程进行“心跳”和响应时间监视的功能。

7)可以监视磁盘空间和队列的大小。

(9)集中管理。

IPlanet M essaging Server 能在 IPlanet 目录服务器上集中管理所有服务器配置,极大地简

462

化了配置任务。在基于 L D A P 的目录上集中用户和组管理显著地减轻了用户和组的管理压

力。既然这样的管理在消息环境中很普遍,所以简化功能可以戏剧性地降低费用。别的益处

还包括部署上的灵活性、易于同遗留系统共存以及大批管理的能力。可以通过基于 Java 的控

制台和 H T M L 实现在网络上任意地方管理所有服务器的能力。控制台引入几个简化多服务

器网络管理的能力,包括不能有一个以上用户同时管理的控制功能,定制界面和面向任务的、

多级别存取控制用户界面。集中用户管理也允许任务的简单设置,如创建基于 LD AP 用户分

布的动态邮件列表。

(10)灵活的委托管理。

服务提供者为了高效地递送 E-mail,他们需要强大的、易于使用的管理工具,为他们的消

费者提供合适的控制级别。IPlanet M essaging Server 包括 IPlanet 委派管理控制台,可以在保

留全部系统管理和职责的情况下,卸下对消费者的基本管理任务。IPlanet 委派管理控制台允

许许多任务的自动执行,为所有管理角色提供通用界面,可以定制界面。

基于角色,IPlanet M essaging Server 能分别提供每个用户、每个通道和系统范围的 mail 过

滤器,这可以用浏览器通过委派管理器进行管理。

(11)最大化安全性能。

安全是消息环境的关键问题。IPlanet M essaging Server 提供多级别的安全性能。在社团

级别,服务提供者为各种公司提供 E-mail 服务,需要确保 E-mail 只有合适的用户才能访问。

IPlanet M essaging Server 使用集成的基于 L D A P 的目录为用户指定访问权限。

在管理级别,IPlanet M essaging Server 通过 SSL 的管理会话和 T LS 支持,提供客户端和

服务器端高安全性连接。IPlanet M essaging Server 对 SSL 和 T LS 的支持,确保了 E-mail 客

户端和 mail 服务器端 I M A P 和 P OP 通信的安全。SSL 和 T LS 支持安全的服务器间通

信。

像 IPlanet 证书管理系统这样的 X.509 证书认证,可以提供个人用户级的安全。消息代

理服务器可以加强数据的安全性。代理服务器放在防火墙上,实际的消息服务器在其后,可以

防止对消息服务器上贵重信息的攻击。

1)为 S M T P 和 I M A P 提供 SSL 的支持能力。

2)为 S M T P 和 I M A P 提供基于证书的认证功能。

3)提供对 A-S M TP(认证 S M T P)支持。

(12)防止垃圾邮件。

IPlanet M essaging Server Hosting Edition 提供大量的功能,抵御不受欢迎邮件( U nsolicited

Bulk E-mail——— U BE)和垃圾邮件。服务器在网络层(T CP)提供过滤器,创建一道屏蔽层以抵

御有害系统的攻击。S M T P 层的插件系统允许服务提供商在 U B E 接收前即终止邮件。同

时,在邮件进入用户信箱之前, U BE 过滤器还能执行久经考验、基于内容的过滤任务。

1)提供 T CP-wrapper,如:用于接收/ 否决连接的连接过滤器。

2)通过域服从方式提交邮件,实现反转发功能。

3)提供 S M T P 级的过滤器,提供收件人限制、尺寸大小限制和本域发送限制等功能。

4)允许部署基于任何 E M TP 信头和内容的 S M TP 接收过滤器。

5)提供完整、全面的 S M TP 和 post-S M TP 插件 A PI,用于扩充垃圾邮件防护能力。

IPlanet M essaging Server 提供已被证实的工具来处理主动式大量 E-mail,这通常涉及

562

U BE 或“spam”。这些强大的工具能用作存取控制, mailbox 过滤,地址确认,实时黑洞列表,

接替调度和鉴定服务。既然 IPlanet M essaging Server 允许 mail进入 mail流或通道,每个通道

都可以依靠选定的 U BE 组合和不同的优先权被保护起来。

(13)虚拟主域支持。

IPlanet M essaging Server 包括虚拟主域支持,使服务提供者能在一个服务器上为几个公

司提供主机消息,因此降低 T C O,并允许消费者保持独立身份。虚拟主域支持包括域供应的

D C 格式树结构,域级对象,特性和管理控制,以及用户和 IP 地址域判定。

支持全称邮件地址。

允许为每个域配置用户名与域名之间的定界符。

允许建立主机名和 IP 地址间的映射关系。

(14)通用的邮件存储服务。

IPlanet M essaging Server Hosting Edition 可以提供由 I M AP、H T T P 和 P OP 等方式进行

集中化管理、高伸缩性的通用邮件存储的邮件访问服务。

对通用邮件存储服务的高性能并发存取有助于服务提供商提供高级的邮件应用,如:通过

H T T P 实现的无处不在的邮件访问服务等。

基于策略的邮件存储管理通过自动执行预建的规则可以极大的简化系统管理。预建的规

则可以包括作用于用户信箱的时间策略和作用于每个用户的信箱限额策略等。

(15)先进的 IM A P 功能。

提供先进的 I M A P 功能,如:集中化的共享文件夹管理和离线的邮件存取等,可以使服务

提供商为驻留的用户提供在 Intranet 邮件系统才具备的丰富的邮件服务功能。

(16)基于组件的结构。

基于组件的结构可以使服务提供商在部署邮件服务时,将邮件系统划分为转发、目录和邮

件存储等独立组件,合理的优化性能和最好的分配硬件投资。

1)为了灵活部署提供独立的 M T A、存储、目录和用户访问组件。

2)提供多个 M T A 的队列区,实现在磁盘系统上的负载均衡。

3)邮件存储系统的可以分布在多个磁盘系统上。

142 IPlanet M essaging Server 的结构及功能模块如何

图 10 - 1 是 IPlanet M essaging Server 的结构图。

(1)邮件存储模块( M essage Store)。

为了支持非常庞大的邮件数和信箱数,保证对用户响应速度不变,I M S 系统的邮件存取

是通过操作系统与文件系统直接进行的,并建立了高效的邮件索引,简化了系统的管理,且有

更高的系统稳定性。

对发给多个收信人的信件只保留一份拷贝,通过链接的方式由收信人共享,大大节省了存

储空间。它可根据从目录服务模块中获得的信息,为每个用户定义信箱大小( Q uotas)等参数;

可针对个别用户或整个系统进行备份,恢复和归档;支持定时增量备份。该模块还集成了一些

有效的管理工具,例如清理邮箱、强制清除、完整性检查和修复等等。为防止用户发送较大的

文件,在系统中还可限定邮件的大小,以节省网络带宽。

662

图 10 - 1 IPlanet M essaging Server 的结构图

IM S MessageStore 的设计十分类似与流行的关系型数据库系统,而用户又不必为了购买

那些大型数据库系统增加额外的开销。由于索引部分与邮件体部分的操作是相互独立的,对

信箱的更新十分高效,所有模块都以多线程方式运行。有些操作仅对邮件索引加以标记,例如

删除,而把实际更新信箱的动作(此时往往需要对文件加锁)安排在业务空闲时(如半夜)完成。

(2)邮件传输模块( M essage Transport Agency)。

来自于 Sun Internet M ail Server/ Innosoft 高性能多通道 M T A (P M D F)负责邮件的路由、

传输和发送。IM S 使用一个快速、可伸缩而且非常灵活的 Internet M T A。支持完全的

ES M TP 协议 (8bit, Pipelining, M essage Size, E T R N, N O T A R Y 等等)。可以配 置成支 持

Address rewriting;A nti-spam ming/ relaying; Virtual domains。 M T A 通常建立多个可管理队列

进行邮件传输,通过调整队列时序(多线程方式)来获得最佳的速度或处理更多的消息。它在

安全性方面的许多特性可以有效地抵御攻击(参见 IM S 的安全特性)。它的处理效率已能胜

任未来语音及视频邮件(telephony & video mail)的集成。通过类似于防火墙的功能定义规则,

我们可以实现禁止邮件的广播(anti-spam ming)和邮件中继(anti-relaying),提高了系统的安全

性。

(3)目录服务模块( Directory Services)。

集中存储原始信息,包括用户档案、分发列表和其他系统资源信息。IM S 产品本身包含

这样一个 L D A P 目录服务模块,也可使用其他兼容的目录服务。该版本目前提供的服务有:

1)一个 L D A P 核心模块,管理目录数据库文件,响应使用 L D A P 协议的客户程序请求。

2)一个 replication 服务模块,负责 L D A P servers 间的数据复制。

3)一个目录管理模块,提供用户友好的界面进行目录管理工作。

762

4)一个 L D A P/ H T TP gateway,使用户可以通过浏览器访问 L D A P 数据。

5)一个命令行接口和若干程序,帮助用户将 U NIX password 和 alias 文件直接转换成

L D A P 的信息格式。

6)一个 M A D M A N 兼容的 SN M P agent。

在目录服务器中集中化的管理所有服务器的配置管理。同时,集中化的用户管理可以使

管理人员轻松的设定基于 L D A P 用户属性的动态邮件列表。

所有服务器只需一个管理员,他可以在网络中的任何位置,通过基于 JA V A 的控制台对

服务器进行管理。

1)允许在中央目录上进行轻松的配置管理;

2)在网络中通过基于 JA V A 的控制台,为所有服务器提供单一地点的管理功能;

3)允许轻松的委托任务操作;

4)通过中央的目录管理用户和组;

5)允许创建基于目录属性管理的 A PI,插件, M T A Q 和基于 L D A P 服务器配置的动态邮

件列表等。

(4)虚拟域( M ail Hosting)和委托管理平台。

托管平台是对 I M S 的增强。它使得提供电子邮件服务的 IN T E R N E T 服务商可以将对

客户的域的管理代理给客户。这样客户通过代管平台可以对域内的用户和小组进行一系列规

定的操作和管理。

IM S 向一个域内提供全部的电子邮件功能,同时代管平台还可以使得这些客户去产生和

管理基于域一级的用户和邮件列表,以及在域内设置最终用户的个人喜好。

大容量邮件系统通常需要提供对用户的“委托”管理能力。IM S 采用基于目录服务器的

Delegate Ad ministrator 和 Admin Console 综合提供委托管理服务,不同用户组别的管理可以由

不同的管理员完成,这种设计方案为 ISP 及企业用户群组邮箱的设立提供了运行基础。不同

级别的管理员可以利用 Delegate Ad ministrator 提供的 W eb 管理界面完成如下管理任务:

1)可通过管理界面增加用户,所增加的用户即时生效;

2)可通过管理界面删除用户;

3)可通过管理界面修改用户组别,用户口令等资料;

4)用户组别可在管理界面中方便加入;

5)用户组别的资料可在管理界面中修改;

6)用户组别可在管理界面中删除,并可同时删除属于该组别的用户。

(5) M M P Server (PO P/ I M AP 代理服务器)。

M essage M ultiplexor (P O P/ I M A P 代理服务器)是 I M S 中提供的多路 P O P/ IM A P 代理服

务器,其主要任务是当有多台 M essage Store 服务器时,置于这些服务器的前端代理接受用户

的 P O P 或 IM A P 请求。 M M P 收到访问请求后,会通过 L D A P Slave Server (LD AP 副本服务

器)来确定所要访问的邮箱在后端哪一台 M essage Store 主机( M ailHost)上。由此实现对最终

用户的完全透明,即最终用户将感觉不到后端系统的升级和扩充。而且无论后端有多少个主

机,甚至发展为一个主机阵列(F A R M ),对于最终用户来讲只是一个统一的主机域名。

漫游用户如果通过 P O P 或 IM A P 收信,则可以通过登录到本地的 M M P 实现远端收信。

即北京用户如在上海,则通过上海的 M M P 多路复用器通过 LD AP 认证和查询用户 M ailHost

862

属性,将用户请求指向北京的用户邮箱所在的 M ailStore 服务器,由该 M ailStore 提供收信服

务,反之亦然。发信则可以通过本地的 Outbound S M T P 服务器实现,如北京用户在上海,则

可通过上海 Outbound S M TP 服务器发信,如果在上海的 OutBound S M TP 服务器上设置了抗

转中继(Relay-Blocking),即设置了只是上海用户发信,则可在上海的 OutBound S M T P 服务器

上设置 S M T P A uthentication(即 S M TP 认证,设置和实现详见 N M S 管理员手册),北京用户

可在上海认证身份后通过上海的发信服务器( OutBound S M T P Server)发信,以跳过上海发信

服务器的抗非法用户转发信件。

(6)统一消息服务( U nified M essaging——— U M )。

IM S 系统提供与多种电信服务相结合的 U M 接口,保证 ISP 可以为用户提供功能丰富、

一体化的 U nified M essaging 统一消息在线服务。

另外,I M S 中也提供 E N S (Event Notification Service 事件通知服务)模块这个系统在当用

户的邮箱内容改变时,比如,新邮件到达、邮件删除、邮件标记(Flag)改变等,即发起一个基于

事件的通知。用户可以通过基于 W E B 的托管界面 ( Delegated Administration)自己设定和配

置通知方式。

143 IPlanet M essenger Express ( W eb M ail) 5.1 有何特点

IPlanet M essenger Express 5.1 是 IPlanet M essaging Server 5.1 的主要新特征。它提供基

于 W eb 的电子邮件存取服务,使用户利用普通的 W eb 浏览器就可以收发邮件,不需要提供专

门的邮件阅读软件(如: Netscape M essager, Microsoft Outlook 等)。利用任何标准的 H T M L 浏

览器,用户可以在任何地点、任何时间安全的访问自己的邮件服务器。

采用 W eb 技术实现电子邮件服务对 ISP 及企业构造应用系统具有深远的意义。在大量

的 ISP 及企业业务应用中都要借助电子邮件服务来实现某些关键应用逻辑。采用 M essenger

Express 之后,由于邮件的访问完全基于 W eb 技术,开发人员可以直接利用 M essenger Express

提供的应用逻辑接口和 H T M L 模板构造出更加复杂的应用系统。

M essenger Express 支持以下流行的浏览器:

(1) Netscape Co m m unicator 4.x/ 5.x;

(2) Netscape Navigator 4.x/ 5.x;

(3) Netscape Navigator 3.x;

(4) Microsoft Internet Explorer 4.x/ 5.x;

(5) Microsoft Internet Explorer 3.x 。

M essenger Express 支持下列 Internet 开放标准:

(1) Hypertext Transfer Protocol ( H T TP) for web access;

(2)Internet M ail Access Protocol (I M A P4) for retrieving email;

(3)Sim ple M ail Transfer Protocol (S M T P) for sending email;

(4) M ultipurpose Internet M ail Extentions ( M IM E) for sending and receiving messages with

rich content types;

(5)Lightweight Directory Access Protocol (L D A P) for seamless director services 。

另外, Messenger Express 整个建筑于工业标准,比如 H T M L 和 JavaScript 之上。 M essenger

962

Express 5.1 (现含于 IM S 5.1 中)新的结构及功能,包括:

(1)广告使能,可连接广告服务器;

(2)高可扩展性;

(3)可客户化,基于用户需要定制。

关键 W ebmail 服务功能的支持,包括:

(1)在首次 login 时自动产生 Inbox、Draft、Sent、Trash 文件夹;

(2)可以阅读普通文本邮件、H T M L 格式邮件和携带附件的邮件;

(3)可以保存和查看邮件的附件;

(4)支持服务器端信箱文件夹的管理(添加、删除、改名等);

(5)支持在文件夹中移动和删除电子邮件等操作;

(6)支持按照发信人、收件人、正文和标题等方式查询邮件;

(7)可以回复和转发电子邮件;

(8)可以发送携带附件的电子邮件;

(9)支持将发送的邮件保存到 Sent 文件夹中,保留邮件底稿供今后查询;

(10)支持撰写邮件时的草稿保存,供以后修改发送;

(11)利用 L D A P 目录服务器,可以提供地址簿查询服务;

(12)提供方便灵活及个性化的 W eb 访问界面;

(13)可以查看个人邮箱对服务器磁盘空间的使用情况;

(14)在信箱容量接近磁盘空间限额时,用户可以获得通知;

(15)提供个人地址簿,允许个人管理自己的地址簿;

(16)提供邮件收集器,收集分布于其它邮件服务器上的邮件;

(17)提供邮件转发设定;

(18)提供自动回复邮件的服务功能;

(19)个人信息设定:口令,喜好的语言,reply to E-mail address, vcard, text signature,

forward E-mailinfo,vacation message;

(20)为用户提供个人邮件签名设定;

(21)支持多语言界面,并可以阅读多种语言的邮件;

(22)支持基于 P O P3 的邮件收集;

(23)支持多种邮件客户端软件的地址簿导出和导入,包括: Microsoft Outlook、Netscape

M essenger 等。

072

附录 用户使用工作站/ 服务器经验介绍

R1 Sun 系统故障分析经验小集

1 引言

Sun 工作站以其卓越的性能在油田上获得了广泛的使用,而保证系统的正常运转是系统

管理工作的重要内容。本文针对 Sun 系统的日常维护与管理,以故障分析为出发点,把系统维

护过程中出现的错误情况归纳成类,并对每类情况做了定位、查找故障方法的介绍,具体实例

的操作系统版本均为 Solaris2.6,希望对大家有所帮助。

2 引起系统故障的几种情况

根据实践经验把日常工作中出现的故障情况总结为以下 4 种:

(1)Solaris操作系统正常,系统某应用程序出现问题,但不影响机器正常工作。

(2)操作系统故障,出现 panics错,reboot 后系统一切正常。

(3)系统引导失败,如何定位查找故障。

(4)PO ST 上电自检失败,硬件和内存有故障,如何定位查找。

2.1 系统某应用程序出现问题但不影响机器正常工作

举两个例子:

(1)使用 ad mintool增加软件包时出现“an inco mpatible os release is being used”错误。

(2)使用 telnet 远程登录时出现“telnet:tcp/ telnet :unknow service”错误。

两种现象均拒绝工作却不影响系统正常运转,要想准确、快速定位问题,在这里为大家推

荐一种很好方法,即使用 truss 实用程序。

Truss:跟踪系统调用过程的实用程序,若系统某应用程序运行出现错误,均可采用 truss

命令跟踪,把程序运行过程调出来,以便查找问题所在,该方法允许普通用户使用。

2.2 操作系统故障,出现 panics错

panics 错:通常系统在执行过程中自己发现错误(如遇到非法指令),为防止错误继续扩散

而进行现场保留出现的一种错误,O S 采取的是一种保护措施,它会把保留的现场 du mp 下来,

reboot 时 savecore 实用程序就把 du m p 下来的 core 文件复制到/ var/ crash/ ’uname - n’目录

下,形成 unix.n 和 v mcore.n (n = 0,1,2,3,⋯) 两个文件,以后就可以根据它做 kernel core

dum p analysis,从而找出问题根源。

也许有人会说,reboot系统能用就行了,这只是表面解决问题,假若不查出 OS 是因为执行

哪条非法指令造成,下次运行该程序时还会导致 panics 错,那么其他用户正在做的作业就会

172

受损失,所以若 panics 错出现比较频繁,就需要找到出错的真正原因,并给予解决。

在 Solaris2.6 及以下版本,当操作系统出现 panics 错时,是不会自动生成 unix.n 和 v m-

core.n 文件的,要实现这个功能需修改/ etc/ init.d/ sysetup 脚本,把:

# savecore/ var/ crash/ ’uname - n’

该行的 # 去调,且要求/ var 空间足够大。

还有一点需说明的是:做 kernelcore dum p analysis 涉及知识多,困难大,若出现 panics 错,

自己不会分析,可做如下工作:

# cd/ var/ crash/ ’uname - n’

# iscda unix.0 vmcore.0 >/ tm p/ iscds.output

然后把 iscda.output 文件交给 Sun Service 人员帮助分析,找出问题根源。Iscda 是一个脚

本,存在于 sunsolve 光盘或从网上 download 获得。

2.3 系统引导失败,如何定位查找故障

这种情况指的是 PO ST 上电自检正常,系统在引导过程中出现错误,使系统未引导起来,

要定位查找故障必须弄清系统引导过程。系统引导过程可分 4 个阶段:

(1)Boot P R O M phase;

(2)Boot program phase;

(3)kernelinitalization phase;

(4)/ sbin/ init phase。

现以 S U N20 sun4 m 平台为例,阐述系统引导的详细过程。

O K (boot

Resetting⋯⋯

Sparcstation 20 (1x 390255),keyboard present R O M Rev 2.22,64 M B

memory installed,serial # 7643867

Ethernet address 8:0:20:74:a2:db, Host ID :7274a2db

Rebooting with co m mand:

Boot device :/ io m m u/ sbus/ espdma @ f,400000/ esp @ f,800000/ sd @ 3,0 file and args:

该阶段属 Boot PR O M phase,首先进行自检,成功则显示上述信息,然后 P R O M 监控程序

查找引导设备的引导程序,读取 bootblk 基本引导程序,再由它把二级引导程序 ufsboot 加入

内存:

S U N OS Release 5.6 Version Generic - 105158 - 05 [ U NIX� System V Release 4.07

该阶段属 Boot program phase ,由 ufsboot 程序引导 PR O M 加载内核:

Copyright � 1983 - 1997,sun microsystems . IN C.

该阶段属 kernelinitalization phase ,系统引导到此时,屏幕上看是停顿片刻,没有任何显

示,实际是 kernel 先读取/ etc/ system 核配置文件,再进行 kernel 初始化,若核心配置文件/

etc/ system 定义的 Boot device 有错误,就会导致系统运行不起来,以后不再进入/ sbin/ init 进

程阶段,并不停地重新 reboot。此时出现这种现象,可修改/ etc/ system 文件来解决问题。缺

省该文件都是注释行:

Configuring network interfaces : le0

Hostname : sun315

272

The system is coming up,please wait

Checking ufs filesystems

/ dev/ rdsk/ c0t2d0s2 : is clean

Starting router discovery

Starting rpc services: rpcbind keyserv done

Setting netmask of le0 to 255.255.255.0

Setting default interface for m ulticast and net 224.0.0.0.0 : gateway sun 315

Syslog service starting

Print services started

Volu me management starting

The system is ready

Sun 315 login

该阶段属/ sbin/ init 阶段,启动init 进程,读取/ etc/ inittab 文件,再根据该文件执行相应

rc 脚本,这些 rc 脚本(如/ sbin/ rcS)再去执行一系列/ etc/ rcS.d 下的脚本,从而完成检查文件

系统、挂接文件系统、启动进程、完成“清扫房间”任务,最后把系统带入缺省运行等级 3 交给用

户使用。

系统引导失败大多数情况都在/ sbin/ init 阶段,出现“ The system is co ming up , please

wait”信息表示运行等级 3 执行结束,下一步即将进入运行等级 2 并开始读取/ etc/ rc2.d 目录

下的所有 shell 脚本,且按顺序执行,明白这一点非常重要,你可通过按顺序检查 shelll 脚本来

确定问题所在,然后再通过一系列方法来解决问题。

2.4 PO ST 上电自检失败,如何定位查找

P OST 上电自检诊断查 cpu , mem 及盘的通路(总线)等硬件部分是否完好。正常情况下,

系统上电时不显示自检的详细过程,如果出现错误(如:键盘上 LE D 灯始终亮,不灭;黑屏,没

任何显示;错误代码等),我们很难去分析、诊断,那么如何让系统在上电时把自检的详细过程

列出来帮助我们分析、诊断呢 ? 这里给大家介绍又一个很好方法:使用 tip 实用程序。

方法如下:假设有故障机器名为“ bad”, 另一台好的机器名为:“good”:

(1)用一根串口线把两台机器连起来,bad 机用 A 口,good 机具体用 A 或 B 取决 bad 机的

/ etc/ remote 文件 hard wire 部分定义,缺省为 B 口。

(2)保证 eeprom 的 diag - switch ?参数为 true。

(3)保证 eeprom 的 diag - device 的值为 disk(即引导盘)。

(4)在 good 机做:

�% tip hardwire

connected

⋯⋯⋯.

⋯⋯⋯..

ttya initializd

从这行以后信息返回到 bad 机的屏幕上,这就是 bad 机自检的详细过程,根据此可通过一

定手段定位、查找故障。

372

3 常见故障原因及解决方法

3.1 现象:Setting defaultinterface for m ulticast and net 224.0.0.0: gateway sun 315 系统引导

时停在该行,不能正常进入运行等级 3 状态

根据前面讲的该故障属系统引导失败,且此语句出现在“the system is coming up, please

wait”后面,即当前该现象已进入运行等级 2 并按顺序执行/ etc/ rc2.d 目录下一系列脚本,这是

在读取 S73nfs.client脚本需要 mount 远程 server 资源时出现的一种故障,造成该现象的原因

是 server端要么瘫痪、要么未开机、要么网络不通,解决方法有如下几种:

(1) O K boot - s 进到单用户,编辑/ etc/ vfstab 文件 ,注释或删除 mount server 资源信息,

再 reboot 即可。

(2)O K boot - s 进到单用户,编辑/ etc/ vfstab 文件, 定位光标到 mount server 资源信息

那行,将 mount at boot 项值由“yes”改成 ”no”,以后 server 端恢复正常,再改回该值。即:

Server:/ home1 - / ho me1 nfs - no -

再 reboot 即可。

(3)建立自动挂接,编辑/ etc/ auto master 和/ etc/ auto d 文件,建立直接映像,把要共享的

server资源放在 auto d 文件里,而不是/ etc/ vfstab 文件里,只有真正需要 server 资源时才 mount。

若在限定时间不用会自动卸下 server资源,使用自动挂接在系统引导过程中会避免出现上述引

导错误。这样不仅节省网络资源,还降低故障率,是一种非常可取的好方法,过程如下:

1)client 端要做的工作:

# vi �/ etc/ auto master

/ net - hosts - nosuid,browse

/ - auto d

# vi �/ etc/ auto d

/ disk1 server:/ disk1

/ disk2 server:/ disk2

2)server 端要做的工作:

# vi �/ etc/ dfs/ dfstab

share - o rw / disk1

share - o rw / disk2

# shareall

以上三种方法可根据工作实际情况任选一种, 推荐使用“自动挂接”

3.2 现象:telnet 远程登录失败,系统出现 telnet:tcp/ telnet:unknow service 错误

这是操作系统正常,系统某应用程序出现问题情况,根据前面所述,采用 truss 方法来解

决。假定程 IP 地址是:10.60.12.17,从本机另打开一窗口,键入:

% truss telnet 10.60.12.17

则调用过程全部显示在屏幕上,阅读时你会看到下列信息:

open (”/ etc/ nsswitch.conf”, O R D O N L Y)

read (3,“ # \ n # / etc/ nss”.., 8192)

472

再启动一新窗口,查看/ etc/ nsswitch.conf 文件,发现 services 一行内容为 nis,因为当前

没有 nis 服务器,故不能使用 NIS 共享网上资源。

解决方法:vi/ etc/ nsswitch.conf

定位光标到 services 一行改成:

services files

存盘则 telnet 成功。

顺便介绍另一种 truss 格式, 即把调用过程存在某一文件里,如:

% truss telnet - o/ tmp/ telnettruss telnet 10.60.12.17

供日后参考。

当然,日常工作中 telnet 失败也可能是因为/ etc/ inetd.conf 文件有错误(如:telnet 一行注

释掉,在现实工作中笔者遇到过这类问题),从而造成 in.telnetd daemon 没启动;或在运行等级

2 状态,因某种原因/ usr/ sbin/ inetd 进程没自动执行,具体要视情况而定。

说明:

1)用 truss 跟踪调用过程时通常由后往前分析。

2)有时调用过程报错不一定是真正错,可根据错误现象加以分析判断,若不是再寻找其它

错误信息。

3)错误原因常常是因为权限不够、找不到文件、文件内容不对等造成,象刚才实例就是

nsswitch.conf 文件内容不正确。

4)具体错误码可到/ usr/ include/ sys/ errno.h 文件里查找。

3.3 现象:系统因修改 hostname 导致网络通讯失败

实际工作中有时会出现网络中主机名冲突问题,有的系统管理员认为只要把 hosts 表里

本机的 hostname 修改成需要的名字就可以了,笔者在 2000 年工作遇到过这个问题,该系统管

理员改完 hostname,reboot 后,ping 本机 IP 地址时出现 IC M P 错。

Solaris 系统的 hostname 体现在如下 6 个文件里 :

/ etc/ inet/ hosts / etc/ nodena me / etc/ hostna me.le0(或/ etc/ hostname.hme0)

/ etc/ net/ ticlts/ hosts / etc/ net/ ticots/ hosts / etc/ net/ ticotsord/ hosts

如:系统引导过程中 S30rootusr.sh 脚本在配置网络接口时要读取/ etc/ inet/ hosts 和/ etc/

hostname.le0 两个文件,hostname 的不一致使系统出现 configuring network interfaces:sun315:

bad address错误,若用 ifconfig - a 查看网络接口le0, 信息如下:

le0 : eflags = 842 < B R O A DC A ST, R U N NIN G, M U L TIC AST > mtu 1500

inet 0.0.0.0 netmask 0

所以单纯改动 hosts 文件的主机名,会导致网络的异常,ping 时出现 IC M P 错。

恢复系统方法:

(1)编辑上述 6 个文件,把主机名改成需要的即可。

(2) # reboot。

(3) # ifconfig - a 显示:

le0 : eflags = 842 < B R O A DC A ST, R U N NIN G, M U L TIC AST > mtu 1500

inet 10.60.14.95 netmask ff000000

这里再给大家介绍另外一种修改 hostname 方法: 使用 sys - unconfig ,具体如下:

572

(1)编辑 hosts 文件,修改主机名。

(2) # sys - unconfig 根据提示进入 O K 状态。

(3)O K boot。

则系统重新引导,交互式提示你键入一系列 sysidtool 信息,sysidtool 信息包含:language,

locale,IP,hostname,nameservice,time zones,regions date and time,rootpassword 等,按照提示往

下做即可成功地改变主机名。

(本文由大庆油田有限责任公司勘探开发研究院李建霞、王顺才和孟令霞等同志编写)

R2 U nix 系统多 IP 地址的配置

1 通常的网络配置方法

把一台计算机接入某个局域网时,通常的做法是在该机其中插入一块网卡,并为它分配一

个 IP 地址。而当这台机器需要作为内部路由连接两个局域网时,就需要在机器内插入两块网

卡,并分别为每块网卡配置一个 IP 地址。当然,如果连接多个局域网的话,这台机器就需要插

入多块网卡了。通常一台机器接入网络,要通过以下几步:(1)向网络管理员申请 IP 地址,为

系统分配一个名字;(2)系统去电停机;(3)插入网卡,连接网络;(4)启动系统,设置机器名和

IP 地址;(5)修改/ etc/ hosts文件,把主机名和 IP 地址添加到文件中;(6)重新启动系统;(7)用

ping 命令检查网络的连通情况;(8)用 netstat 命令检查路由表的设置情况。

2 多网卡的配置方法

如果一台计算机配置了多个网卡,可以把它设置成一台路由器,连接多个网段,实现 IP 包

的转发功能。

2.1 IRIX 操作系统多网卡配置方法

带有多个网络接口的主机,每个接口都有唯一的接口名,多个接口通常连接不同的子网,

每个接口分配不同的 IP 地址。缺省的网络启动文件/ etc/ init.d/ network 初始化网络接口名

和 IP 地址,接口配置参数存放在/ etc/ config/ ifconfig - < n > .options 文件中,其中 n代表 1,2,

3,⋯,分别对应接口 1,接口 2,接口 3,⋯⋯,其中的 4 个参数分别为网络掩码(netmask),广播

地址(broadcast),是否启用地址解析协议(arp、- arp),路由计数( metric)。大多数情况下,不需

要修改配置文件/ etc/ config/ netif.options中的内容,缺省的配置能够满足要求,如果有两个以

上的网络接口,需要修改这个文件。使用 vi 编辑器,打开/ etc/ config/ netif.options 文件,查找

如下的信息:

if1name = ef0 // 接口 1 的名字

if1addr = $H O ST N A M E // 取主机名 sgioct

:if2name =

:if2addr= gate - $H OST N A M E

对其进行修改,去掉 if2name 和 if2addr 前面的冒号(:),给出接口 2 的名字和机器名。保

672

存这个文件,并重新启动系统,就会看到正常工作了:

if2name = ef1 // 接口 2 的名字

if2addr = gate - $ H OST N A M E // 机器别名

2.2 Solaris操作系统

若是 10 M B 网卡其网络接口名为 le0,le1,⋯, 若是 100 M B 网卡其网络接口名是 h me0,

hme1,⋯,现以 10 M B 网卡为例说明 Solaris 系统中配置多块网卡方法:

(1)假设当前该机器的 hostname 为 sun1,IP 地址为:10.65.111.21, 编辑 hosts 文件增加

一行信息:10.60.11.130 sun2。

(2)使用熟悉的编辑器建立/ etc/ hostname.le1 文件,内容为: sun2。

(3) # touch/ reconfigure

(4) # init 0

(5)O K boot

系统成功引导后,用 ifconfig - a 命令查看,会看到有两个网络接口le0 和 le1 ,即:

le0: %flags = 863 < U P, BR O A D C AS T, N O T R AIL E RS, R U N NIN G, M U L TIC AS T > mtu

1500 inet 10.65.111.21 netmask ffffff00 broadcast 10.255.255.255

le1: %flags = 863 < U P, BR O A D C AS T, N O T R AIL E RS, R U N NIN G, M U L TIC AS T > mtu

1500 inet 10.60.11.130 netmask ffffffc0 broadcast 10.255.255.255

(6)用netstat - rn命令,列出地址信息,检查路由表,从中可看出该系统分别连接在

10.65.111 和 10.60.11 两个子网, Routing table 为:

Destination �Gateway �flags �Ref �Use {Interface

127.0.0.1 127.0.0.1 U H 0 14200 lo0

10.60.11.128 10.60.11.130 U 2 3651 le1

10.65.111.0 10.65.111.21 U 3 0 le0

224.0.0.0 10.65.111.21 U 3 0 le0

default 10.60.11.190 U G 01398378

说明: 多网卡配置完成后,一旦效验不成功,可键入:

# prtconf

通过该命令查看设备信息树以确定系统是否识别第二块网卡。

3 单网卡配多地址

如果一台计算机仅配置了一个网卡,而它需要连接多个网段,实现 IP 包的转发功能,就需

要为一块网卡配置多个 IP 地址。

3.1 IRIX 操作系统

在 IRIX 系统中,多 IP 地址的设置是通过网络接口的别名来实现的。假设一台装有 IRIX

系统的计算机,其内部插有网卡,并且分配 IP 地址为 10.60.12.12,掩码为 255.255.255.0,用

hinv - c network 命令,查看网络接口的名字:

Sgioct1{liuw w} 5 % hinv - c network

Integral Fast Ethernet: ef0, version 1, pci 2

772

从上面可以看出,该网卡设备接口文件名为 ef0。若要对该接口设置多个 IP 地址,具体步

骤如下:

(1)使用ifconfig 命令,给 ef0 接口分配别名。在/ etc/ sys id 文件中的地址作为主地址,即

与主机名相关联的地址,别名分配的地址为从地址,也可以把别名写入/ etc/ hosts 文件中,用名

字代替地址,命令格式如下:

# ifconfig interface alias address [netmask m ask nu m ] [broadcast address]

例如:设置该机器的第二个 IP 地址为 10.60.14.14,掩码为 255.255.255.0,下面的两条

命令是相同的:

# ifconfig ef0 alias 10.60.14.14 netmask 0xffffff00 broadcast 10.60.14.255

# ifconfig ef0 alias sgioct2 netmask 0xffffff00 broadcast 10.60.14.255

用ifconfig 命令查看,会看到 ef0 拥有两个 IP 地址:

sgioct1{root} # ifconfig ef0

ef0: flags = �410c43 < U P, BR O A D C AS T, R U N NIN G, FIL T M U L TI, M U L TIC AST,

LIN K0,IP A LIA S >

inet 10.60.12.12 netmask 0xffffffc0 broadcast 10.60.12.63

inet 10.60.14.14 netmask 0xffffff00 broadcast 10.60.14.255

(2)建立一个别名文件/ etc/ config/ ipaliases.options 。当每次系统重新启动时,启动文件

会自动读取这个文件的内容,别名会自动配置。使用熟悉的编辑工具,建立这个文件,文件的

格式如下:

ef0 10.60.12.12 netmask 0xffffffc0 broadcast 10.60.12.63

ef0 10.60.14.14 netmask 0xffffff00 broadcast 10.60.14.255

(3)打开 ipaliases 标志:

Sgioct1{root} # chkconfig - fipaliases on

(4)重新启动网络:

Sgioct1{root} #/ etc/ init.d/ network stop

Sgioct1{root} #/ etc/ init.d/ network start

(5)用 netstat - rn 命令,列出地址信息,检查路由表。从路由表中可以看出,该系统分别

连接 10.60.12 和 10.60.14 两个子网,其中 10.60.12.12 为主地址,主机名为 sgioct1,10.60.

14.14 为从地址,别名为 sgioct2:

Sgioct1{root} # netstat - rn

Destination �Gateway �Netmask 'Flags �Refs �Use �Interface

default 10.60.12.62 U G 1 1255 ef0

10.60.12 link # 1 0xffffffc0 U C 0 0 ef0 = >

10.60.14 link # 1 0xffffff00 U C 0 0 ef0

10.60.12.12 127.0.0.1 U G HS 0 69 lo0

10.60.14.14 127.0.0.1 U G HS 0 6 lo0

127.0.0.1 127.0.0.1 U H 15 8051 lo0

3.2 Solaris操作系统

在 Solaris 系统中,多 IP 地址的设置是通过虚拟网卡实现的,对一块 10 M B 网卡其网络接

872

口名为 le0, 虚拟网卡的网络接口名则为 le0:1,而对一块 100 M B 网卡其网络接口名是 h me0,

虚拟网卡的网络接口名却是 h me0:1,现以 100 M B 网卡为例说明 Solaris 系统中单网卡配多地

址方法:

(1)假设当前该机器的 hostname 为 ultra52 ,IP 地址为:10.60.12.18, 编辑 hosts 文件再

增加下列信息:

10.60.12.19 ult52 - 1

10.60.14.168 ult52 - 2

(2)使用熟悉的编辑器建立/ etc/ hostname.hme0:1 文件,内容为:ult52 - 1。

(3)使用熟悉的编辑器建立/ etc/ hostname.hme0:2 文件,内容为:ult52 - 2。

(4)重新启动系统 reboot,完成网络接口设备的配置。

(5)系统成功引导后,用 ifconfig - a 命令查看,会看到 有三个网络接口:

hme0: �flags = 863 < U P, BR O A D C A ST, N O T R AILE R S, R U N NIN G, M U LTIC AST > mtu

1500 inet 10.60.12.18 netmask ffffff00 broadcast 10.60.12.255

hme0: �1:flags = 863 < U P, B R O A D CA ST, N O T R AIL E RS, R U N NIN G, M U L TIC AST >

mtu 1500 inet 10.60.12.19 netmask ffffff00 broadcast 10.60.12.255

hme0: �2:flags = 863 < U P, B R O A D CA ST, N O T R AIL E RS, R U N NIN G, M U L TIC AST >

mtu 1500inet 10.60.14.168 netmask ffffff00 broadcast 10.60.14..255

(6)用 netstat - rn 命令,列出地址信息,检查路由表,从中可看出该系统分别连接在

10.60.12和 10.60.14 两个子网:

Destination �Gateway ]flags kRef IUse 7Interface

10.60.12.0 10.60.12.19 U 4 13 h me0:1

10.60.14.0 10.60.14.168 U 4 13 h me0:2

10.60.12.0 10.60.12.18 U 4 3 h me0

127.0.0.1 127.0.0.1 U H 0 186 lo0

default 10.60.12.62 U G 0 31

说明: v虚拟网卡配好后,日后卸掉、再增的方法为:

# ifconfig hme0:1 down

# ifconfig hme0:1 up

4 结束语

实际应用中,可以把仅有一个网卡的主机配置多个 IP 地址,使其承担路由器的功能。有

时,为了满足某种特殊的需要,也要配置多 IP 地址。例如:有些软件的许可证与 IP 地址相关

的,如果由于网络的改造,需要更换 IP 地址;或者,有时需要进行现场处理,主机搬到现场,既

需要同现场的网络相连,又需要保持 IP 地址不变,这时可以为主机分配两个 IP 地址,一个用

于绑定许可证,保证应用软件的正常运行,另一个用于现场联网,保证网络畅通,确保协同工作

正常进行。关于 SC O U nix 和 Windows系统,也都可以实现多 IP 地址的配置,本文不再讨论,

有兴趣的读者可以查阅相关资料。

(本文由大庆油田有限责任公司勘探开发研究院于敏和李建霞编写)

972

R3 U nix 程序自动维护工具 make 的原理及其使用技巧

1 引言

在 U nix 系统中,一个中、大型软件项目涉及到大量的模块和程序,将这些程序彼此链接

起来才能生成最终的软件。如果由于某些因素而修改了部分程序,例如:改正了某些程序中的

错误后,则需要重新进行编译、链接。倘若将所有程序都重新编译链接一次,自然能正确生成

完整的软件,但毕竟太费时了。最好的方法是只编译那些被修改的程序和受这些程序影响的

部分,手工完成这项工作不仅非常繁琐,更糟糕的是很容易发生错误,而 U nix 提供的程序维

护工具 make 则可以自动处理这类问题。

2 m ake 的基本工作原理

m ake首先从指定的文件(通常称为 make 文件,其默认名为 M akefile 或 makefile)中获取

关于可执行程序及程序模块间的相互关系的信息,然后根据文件的最后修改日期找出那些经

过编译、但却已经“过时”的模块,这里,“过时”是指用来生成这些模块的源文件已经被在改过

了,但这些模块本身却未被更新;最后, make 将针对每一个“过时”的模块,按其相互关系中所

给出的命令对该“过时”模块进行更新操作。

3 依赖关系的描述

在 make 中,目标和生成该目标的源文件之间的关系称为依赖关系。一个目标的状态完

全取决于它所依赖的那些对象的状态,一旦依赖对象的状态发生改变, make 就执行依赖关系

中所定义的那组命令来重新生成该目标。在 make 中,描述依赖关系的语句是放在 make 文件

中的,其语法格式为:

object :source list

[ @ ]cm d list]

其中,object 是被定义的目标,source list是它所依赖的对象,object和 source list 之间用冒号

分隔,当包含多个依赖对象时用空格将它们分隔开,cmd list 是一组命令,它告诉 make 如何

将 source list 生成 object,如果在某条命令前加上字符 @ ,则表示执行时不显示该命令。当

然,cm d list是可以省略的。需要注意的是:object前面不能有空格(可以有制表符 Tab),cm d

list 前面也只能有制表符,而不能有空格,否则, make 认为有语法错误。

如果可执行程序 example 是由 main.o、input.o 和 print.o 按下述方式生成的:

cc main.o input.o print.o - o exam ple - lm - lX11

则,exam ple 和 main.o、input.o、print.o 的关系在 make 文件中就可以描述为:

example : main.o input.o print.o

cc main.o input.o print.o - o exam ple - lm - lX11

082

如果input.o 是由 input.c 所生成的,而input.c 又包含头文件 const.h,则, make 文件中最

好应加入下面的依赖语句:

input.o:input.c const.h

4 m ake 的内部转换规则

内部规则的作用是描述如何将一类源文件转换成另一类文件(通常称为目标文件)。由于

同类文件的后缀一般是相同,因此,内部转换规则又称为后缀转换规则,图 1 是 make 默认的

后缀转换路径。

图 F - 1 make默认的后缀转换路径

由图 F - 1 可以看出: make 将一个名为 vhd1.y 的文

件转换成目标文件 vhdl.o 的过程分两步进行,它首先将

vhdl.y 转换成文件 y.tab.c,然后再将 y.tab.c 转换成目标

文件 vhdl.o。

如果你希望了解 make 将一个后缀为.y 的文件转换成

后缀为.o 的目标文件的具体过程,可以执行命令:

make - f/ dev/ null - p

该命令将显示 make 的所有后缀转换规则和内部宏定

义,你只要找出描述目标.y.o 的命令就知道了具体的转换过程。

5 建立简单的 make 文件

一旦清楚了生成目标的各种依赖关系及具体的生成过程,就可以着手建立 make 文件。

你只要用 U NIX 的正文编辑软件(vi,emacs 等),将所有的依赖关系语句输入到文件 M ake -

file 或 makefile 中即可。

在 make 文件中,你还可以使用 make 内部的伪目标名.IG N O R E,. D E FA U L T 和. SI-

LE N C E。下面是这些伪目标名的含义:

(1)IG N O R E:obj list obj list 是由空格分隔的目标名,如果 make 在生成某目标时发现

了错误, make 将停止继续生成别的目标,而该伪目标名则表示:即使在生成 obj list 时出现了

错误,仍继续生成别的目标。

(2)D EF A U L T:

cmd list

如果 make 文件中的某些目标既无内部依赖规则可循,而 make 文件又无明确说明,则执

行 cm d ist 中的命令。

(3)SILE N CE:obj list 生成 obj list中的各目标时不显示如何生成它们的具体命令。

6 注释与宏

在 make 文件中,以字符 # 开头的行是注释行,这同 Shell 程序中的注释行是一样的。在

大型软件中,描述依赖关系是一件比较繁琐的事,为了减轻编写 make 文件的工作量, make 提

182

供了宏和内部规则等两种机制,本节介绍 make 中的宏,至于 make 的内部规则将在下一节中

介绍。

(1)宏的定义、替换与引用。

m ake 文件中的宏定义、宏替换与宏引用都非常简单,和别的语言一样,只有已定义的宏才

能被引用。下面是一个实例:

C FILES = main.c input.c print.c

O BJS = $(C FILES:.c = .o)

example :$( OBJS)

@ cc $( OBJS) - o example - lm - IX11

其中,第 1 行是定义一个 CFIL ES 宏;第 2 行是定义一个 O BJS 宏,这里使用了宏替换,

$(CFIL ES:.c = .o)的含义是将宏 CFIL ES 中的所有字符串.c 替换成.o,即,该语句等价于:

O BJS = main.o input.o print.o

在 make 文件中,宏替换的语法格式为:

$( marco name:old string = new string)

其含义是将 marco name 中所有的 old string 替换成 new - string。特别应注意的是不

能使用正则表达式。至于宏引用则与 Shell语言类似,在 make 文件中,$( macro name)和

${ macro name}都表示引用宏 macro name 的值,这两种表示是完全等价的。

(2)内部宏。

在 make 文件中,你还可以使用内部宏。内部宏包括$ * 、$ @ 、$ < 和$ ?,主要用来表

示目标文件的转换规则。我们将举例说明这些内部宏的含义。

$ @ 表示当前的目标名,例如:

example:$( OBJS)

cc $ ( OBJS) - o $ @ - lm - lX11

它和下面的语句是等价的:

example:$( OBJS)

cc $ ( OBJS) - o example - lm - lX11

$ < 表示比目标文件版本更新的依赖文件的名字,它只能用于描述 make 的内部转换规

则,或用于伪目标. D EF A U L T 中,例如:

.c. O :

cc - g - c $ <

假设当前目录中包含 cfile1.c,cfile2.c 和 cfile3.c,文件 cfile1.o 和 cfile2.o 的最后修改时间

分别比 cfile1.c 和 cfile2.c 早,而 cfile3.o 的最后修改时间比 cfile3.c 晚,则上述语句中$ < 就

代表 cfile1.c 和 cfile2.c。

$ * 表示去掉当前目标名的后缀,例如:若当前目标名为 example.o,则$ * 就代表 ex -

ample。

$ ?表示比目标文件版本更新的依赖文件的名字,它只能用于用户定义的依赖关系中。

例如:

libspec.a : input.o print.o graph.o table.o

ar ru $ @ $ ?

282

如果只有文件 print.o 和 graph.o 比 libspec.a 新,则该依赖关系中,$ ? 就代表 print.o 和

graph.o。

在 make 文件中,有些宏名在定义内部规则时已经被使用了,因此你可以通过修改这些宏

的值来改变一些内部规则,下面是几个常用的宏名及其作用:

宏名 �作用

A R FL A GS 用命令 ar进行档案库管理时的选择项

C FL A G S 用 cc将 C 程序编译为目标文件的命令选择项

C PPF LA GS C 语言预处理程序 cpp 的命令选择项

L D LIBS 链接程序ld 默认的档案库名

(3)引用 Shell的环境变量。

在 make 文件中,还可以引用 Shell的环境变量,例如:

ex mple: main - o input.o print.o

cc main - o input.o print.o - o$( H O M E)/ bin/ $ @ -lm - lX11

假如你的注册目录为/ usr/ thom pson,则该语句等价于:

example: main.o input.o print.o

cc main.o input.o print.o - o/ usr/ thornpson/ bin/ $ @ - lm - lX11

7 m ake 命令的使用方法

m ake 命令的使用方法是相当灵活的,下面是其语法规则:

m ake [f m kfile][ - n][ - p] [ - e] [ - i] [ - t] [ macro = def][target list]

该命令的作用是生成 target list所指定的各目标,target list 是 make 文件中定义的目标名,

当有多个目标名时用空格分隔;如果不给出 target list,则默认的目标名是 make 文件中所定

义的第 1 个目标。其余各选择项的含义为:

- f m kfile:将 m kfile 作为 make 文件。当不给出该选择项时, make 文件名为 M akefile 或

m akefile,而且,如果当前目录中既有文件 makefile,又有文件 M akefile,则采用文件 makefile。

- n:只显示生成指定目标的各命令,但并不执行这些命令。当需要检查 make 文件有无

错误时常常采用该选择项。

- p:显示 make 文件中的所有宏定义和所有的内部规则。

- e: 取消对 Shell环境变量赋值的宏定义。

- I:忽略命令所返回的错误码,这使得 make 在出现错误后仍然继续进行,该选择项比伪

目标.IG N O R E 所覆盖的面更广。

- t:更新目标的最后存取时间,但并不按依赖关系的定义生成目标。

m acro = def:定义宏 macro,def 是宏 macro 的值。

8 关于 make 的一些高级技巧

能引用环境变量只是 make 与 Shell结合的一种简单方式。其实,在 make 文件中,你还可

以使用if- else 等 Shell语言。 make 和 Shell的结合大大提高了 make 的适应能力。下面将通

382

过两个具体实例来说明这一点。

下面是一个名为 sunor286.c的程序,该程序中使用了条件编译语句以便既能适应 SunO S

4.x,又能适应 i80286 的系统:

# include < stdio.h >

# ifdef Sun OS

extern char * ptr;

# else

extern char far * ptr

# endif

Routine(){⋯)

如果是在 SunOS 4.x 系统上编译该程序,则必须定义 Sun OS;如果在别的系统上编译则

不能定义 SunOS。因此, make 文件中,sunor286.o 的依赖关系应当写成:

sunor286.o: sunor286.c

if[‘uname’- eq ”SunOS″]; then \

cc - c - DSunOS sunor286.c; \

else \

cc - c - M 2em sunor286.c; \

fi

这是一个 make 的嵌套应用实例。假设 SPICE 的源程序安装在/ usr/ local/ spice3f4 目录

下,该目录又包含子目录 C K T, FT E, D E V,SP 和 M ISC 等目录。在编写 make 文件时,目录/

usr/ local/ spice3f4 下的 M akefile 文件是依次到各子目录中去执行一次 make 命令(该命令将根

据相应目录中文件 M akefile 的指示进行软件维护),该文件的内容为:

IN C X = �- I/ usr/ X11/ include - I/ usr/ X11/ include/ X11 \

- I/ usr/ X11/ include/ X11/ X m u - I/ usr/ X11/ include/ X11/ Xaw \

- I/ usr/ X11/ include/ X11/ X w

LIB X = - L/ usr/ X11/ lib - lXaw - lXt- lXext -lX mu - lX11

# com piler options

C FL A G S = - g

# End on 12/ 19/ 2000

C C = cc

L D FL A G S = - lm - ltermlib

# To Propagate any other‘ make’variables ,add them to“A L LFL A GS”,as below

A LLF L A GS = IN C X =″$(IN CX)″LIB X =″$(LIB X) \

C FL A G S = ”$(CF L A G S)”C C = ”$(C C) \

SH EL L =″$(S H E LL)”R A N LIB =″$( R A N LIB)″M A K E =″$( M A K E)″\

L D FL A G S =″$(L DF LA GS”“A R L O C A L = $(A R L O C A L)”

# E N D O F T U N AB LE V A RIA BLES

SH EL L =/ bin/ sh

All: !

482

@ date

@ $( M A K E) recurse P U RP OSE = all A L LFL A G S =‘$(A LLF L A G S)’\

$(A LL FL A G S)

@ echo $( P A R E N T) done.

@ date

P U R P OSE = all

P A R E N T = spice3f4

S U B DIRS = C K T D E V M ISC SP F TE

Recurse:

- @ for xx in $(SU BDIRS); do \

cd $$ xx; \

echo M aking \″$(P U RP OSE) \″in $(P A R E N T)/ $$xx ; \

$( M A K E) - k$(P U R P OSE)PA R E N T = $(PA R E N T)/ $$xx \

A LLF L A GS = ’$( A LLF LA GS)’$(A LL FL A G S); \

cd ..; \

done

当然,还必须在 C K T,SP, D E V, M ISC 和 F TE 等子目录下建立相应的 M akefile 文件。在

完成这些工作后,只要在/ usr/ local/ spice3f4 目录下执行 make 命令即可更新 SPIC E 软件。

9 结束语

掌握 make 工具的使用是 U nix 软件开发的第一步,首先要理解 make 的工作原理,然后要

弄清楚依赖规则、内部转换及宏定义规则、make 文件的建立方法和使用方法等,如果能把

Shell语句有机地组合到 make 文件中,效果就会更好。

(本文由大庆油田有限责任公司勘探开发研究院网络室张越峰、马嘉琳、吴钧、袁威和苏庆

林等同志编写)

R4 Solaris网络管理经验谈

1 引言

辽河油田经过 30 年的勘探开发,已进入新的阶段,随着勘探程度的加深,难度也越来越

大,先进的设备和技术也必然成为科研生产的主要工具和手段。为了适应难度越来越大的勘

探工作,必须提高勘探工作的科技含量。我们已由手工解释、处理转移到工作站平台上,利用

具有国际水平的应用软件进行工作。在日常的应用过程中,经常用到网络技术,积累了一些经

验,就 SO L A RIS 2. X 网络的基本配置、系统引导、基本应用、故障管理等和大家一起交流学

习。

582

2 网络基本配置

一台主机要加入一个网络,必须了解该网络的拓扑结构,配置要求,根据需要,选择下列文

件,进行必要的基本配置。

(1)/ etc/ nodename 中加入主机名称。例如,主机名称为 Sun1,就在文件中加入 Sun1:

# m ore/ etc/ nodename

Sun1

(2)对每一个网络接口,创建一个对应的文件/ etc/ hostname. < interface > ,文件中存放网

络接口对应的 IP 地址或者主机名称,例如/ etc/ hostname.h me0 中存放 Sun1:

# m ore/ etc/ hostname.h me0

Sun1

(3)/ etc/ hosts文件中写入每个接口的 IP 地址及其对应的主机名称、子网内每个 IP 地址

及其对应的主机名称。文件中每行的格式为:

ip - address hostname nickname # com ment

其中 �ip - address为 IP 地址;

hostname 为主机名称;

nickname 为主机的别名,可选项;

# com ment 为注释部分,可选项。

(4)/ etc/ hosts.equiv,在该文件中加入可信任的主机名称列表(该主机名称要与/ etc/ hosts

文件对应起来),对应用户列表。系统级配置文件。文件中每行的格式为:

hostname [userna me]

(5)$ H O M E/ .rhosts,在该文件中加入可信任的主机名称列表(该主机名称要与/ etc/

hosts文件对应起来),对应用户列表。用户级配置文件。文件中每行的格式为:

hostname [userna me]

(6)/ etc/ defaultdomain,如果使用域名管理,需写入主机的全域名称。

(7)/ etc/ defaultrouter,如果使用了路由器,需写入缺省路由器名或 IP 地址;如果写入名

称,需要在/ etc/ hosts中加入路由器的 IP 地址及名称。

(8)/ etc/ netmasks 文件,在建立子网时,要把 IP 地址中的一部分指定为子网地址,由 sub-

net mask 确定。Netmask 与 IP 地址以按位逻辑与的方式产生出网络号、子网号、主机号。文

件格式为:

Network N um ber Netmask Nu m ber

例如: vnetmasks:10.0.0.0 255.255.255.0

IP:10.70.36.8

则网络号:A 类,10.0.0.0;

子网号:10.70.36.0;

主机号:8。

(9)/ etc/ nsswitch.conf文件中配置数据库的搜索顺序。有 4 种信息来源:files,nis,nis-

plus,com pat。files 用于本地/ etc 中的文件;nis和 nisplus分别用于 NIS 和 NIS + ; com pat 指示

682

使用本地/ etc 下文件,但文件中含有引发 NIS 的“ + ”和“ - ”条目。如果指定了多个信息来

源,系统将按顺序搜索。每个来源的搜索都返回一个状态: S U C CESS, U N A V AIL, N O T-

F O U N D 和 T R Y A G AIN。S U CC ESS 说明已经找到; U N A V AIL 说明信息来源不可用; N O T-

F O U N D 说明信息来源中没有要找到的信息; T R Y A G AIN 说明信息来源正忙。例如:

passwd: �files

group: files

hosts: files dns

networks: files

protocols: files

rpc: files

ethers: files

netmasks: files

bootparams: files

publickey: files

netgroup: files

automount: files

aliases: files

services: files

send mailvars: files

(10)/ etc/ resolv.conf,域名解析配置文件。文件格式为:

search lh.cnpc.com.cn 上级域名称

nameserver 10.69.1.1 主服务器 IP 地址

nameserver 10.70.35.10 从服务器 IP 地址

(11)/ etc/ networks,把网络名映射成网络号,允许应用程序使用网络名而不是网络号。

netstat 程序使用这个文件产生状态表。文件格式为:

network na me network nu mber nickname # com ment

其中 �network na me 为网络名称;

network nu mber 为网络号;

nickname 为网络别名,可选项;

# com ment 为注释,可选项。

(12)/ etc/ ethers,把主机名映射为 M A C 地址,供 R A R P 使用。文件格式为:

Ethernet address host name # co m ment

其中 �Ethernet address 为以太网地址( M A C);

host na me 为主机名称;

# com ment 为注释,可选项。

(13)/ etc/ protocols,所有 IP 协议及其协议号的列表,由系统自动产生。

(14)/ etc/ services,是 T CP 和 U DP 服务及其对应端口与协议的列表,由系统自动产生。

(15)/ etc/ netconfig,网络配置数据库,由系统自动产生。

还有许多专用配置文件,用来支持 D NS, NIS, NIS + ,D H CP 和操作系统安装服务器等。

782

3 系统引导

为了进一步了解网络的配置,方便管理,下面将系统引导时,有关网络部分加以说

明。

当主机启动操作系统时, U nix 核执行/ sbin/ init, 然后执行启动命令文本/ etc/ rcS. d/

S30rootusr.sh,这个命令文本的运行完成很多系统启动任务,包括为 diskless和 dataless系统建

立最小的主机和网络配置,还装载/ usr 文件系统。如果本地数据库文件包含必要的配置信息

(/ etc/ nodename、/ etc/ hostname. < interface > 和/ etc/ hosts), 就使用 它,如 果没有, 就使 用

R A R P 协议从同一网络上的 bootparams 服务器获得主机的 IP 地址。有了 IP 地址,系统就能

用 bootparams RP C(romote procedure call)协议从同一网络上的 bootpara ms 服务器获得主机名

称、域名、缺省路由器地址。

/ etc/ rcS.d/ S30rootusr.sh 执行完后,/ etc/ rc2.d/ S69inet 开始执行,完成配置 IP、路由器和

设置域名等任务;继续执行/ etc/ rc2. d/ S71rpc,启动 NIS 或 NIS + 或 D N S;最后运行/ etc/ r

c2.d/ S72inetsvc,启动一些依赖名字服务的服务,启动服务进程 inetd,用于管理用户服务,如

telnet 等。

4 网络的基本应用

网络使用基本分为远程登录、文件传输、远程运行、文件共享、license 浮动等。

远程登录有 telnet 和 rlogin 两种方式,当用户想启动远程主机的图形界面时,无须直接面

对想要操作的主机,只需在当前的工作站上运行:

(1)/ usr/ open win/ bin/ xhost + ;

(2)telnet或 rlogin;

(3)setenv DISPL A Y 本机:0.0;

(4)所要运行的软件。

这种方式解决了多位用户同时使用一台机器,造成的冲突问题。

telnet 是通过本机的 telnet 命令,利用 T EL N E T 协议和远程机器上的 in.telnetd 服务进

程,进行远程登录。它的命令格式为:

telnet [ - 8ELcdr] [ - e escape char] [ - l user] [ - n file] [host[port]]

相关文件为:/ etc/ hosts,$ H O M E/ .telnetrc。

(1)rlogin 是通过本机的 rlogin 命令,和远程机器上的 inetd 服务进程,进行远程登录。它

的命令格式为:

rlogin [ - L] [ - 8] [ - e c] [ - l username] hostname

相关文件为:/ etc/ hosts 、/ etc/ hosts.equiv 和$H O M E/ .rhosts。

文件传输有 ftp 和 rcp 两种方式,可进行二进制文件、A SCII 码文件等多种格式的文件传

输。

(2)ftp 是通过本机的 ftp 命令,利用 F TP(File Transfer Protocol)协议和远程机器上的 in.

ftpd 服务进程完成的。命令格式为:

882

ftp [ - dgintv] [hostname]

相关文件为:/ etc/ ftpusers、$ H O M E/ .netrc

(3)rcp 是通过本机的 rcp 命令,利用 R CP( Rem ote Copy Protocol) 协议和远程机器完成

的。命令格式为:

rcp [ - pr] filename. . . directory

相关文件为:/ etc/ hosts 、/ etc/ hosts.equiv 和$H O M E/ .rhosts。

远程运行为 rsh,通过它解决了使用远程磁带机等问题。

本机的 rsh 和远程机器上的 inetd、in.rshd 服务进程来实现的。它的命令格式为:

rsh [ - acefhiknprstuvx] [argu ment. . .]

相关文件为:/ etc/ hosts 、/ etc/ hosts.equiv 和$H O M E/ .rhosts。

通过网络文件系统 N FS( Network File System )。远程用户可以象本地用户一样访问共享

的文件和目录。实现了数据共享、文件共享、硬盘共享、光驱共享。

服务器端:

(1)启动/ etc/ init.d/ nfs.server start;

(2)share - F nfs 共享的文件或目录。

客户端:

(1)启动/ etc/ init.d/ nfs.client start;

(2) mount - F nfs 共享的文件或目录挂接点。

一些应用软件有license 浮动问题,有两种解决方式,一种是将license 文件拷贝到本机上,

设 L M LICE NSE FIL E 变量值为$PA T H/ license;另一种是直接设 L M LICE NSE FIL E

变量值为license port @ 服务器名称。

相关文件为:/ etc/ hosts 、/ etc/ hosts.equiv 和$H O M E/ .rhosts。

5 故障管理

网络故障分为两大类:线路故障和主机故障。

(1)线路故障。

诊断这种故障可用 ping,traceroute(tracert)检查线路远端的主机,找出具体位置,以便进

行线路维修。

(2)主机故障。

常见的现象就是配置不当,IP 冲突,或根本不在该子网范围内;另一种故障就是安全故

障,没有控制 finger,rpc,rlogin 等服务,或系统中存在 bug,遭到恶意攻击,一般可以通过监视

主机的流量或扫描主机端口和服务来防止可能的漏洞。如果是一台主机的某项网络服务不能

正常使用,检查相关的守护进程和配置文件。

为了便于故障的查找和排除,下面介绍几个常用命令:ifconfig,ping,netstat,arp,route,

traceroute,ndd,snoop,finger 等。

(1)ifconfig:用于显示和配置网络接口。命令格式如下:

1)ifconfig - a:显示接口配置情况。

2)ifconfig interface [address family] [address [dest address] ] [up] [dow n] [auto - re-

982

varp] [netmask mask] [broadcast address] [ metric n [ mtu n] [trailers | - trailers][private | -

private][arp | - arp] [plu mb] [unplu mb ]:进行端口配置。

(2)ping:利用 IC M P 协议向指定的主机发送 packet,并请求应答,来测试是否能够建立正

确的连接。命令格式为:

ping [ - s] [ - dlLnrRv] [ - iinterface] [ - I interval][ - t ttl] host [packetsize][count]

(3)netstat:用来显示网络的状态信息和协议的统计信息。命令格式为:

1)netstat - s:显示每个协议的统计信息;

2)netstat - i:显示网络接口的统计信息;

3)netstat - r:显示路由表。

(4)arp:IP 地址解析显示和控制。命令格式为:

1)arp - a:显示 arp 表;

2)arp - d ip:将该ip 项从 arp 表中删除;

3)arp - f ip ether address:手工将该ip 项加入到 arp 表中。

(5)route:手工管理路由表。命令格式为:

route [ - fnvq] add | change | delete | get [host | net] destination [gateway [ args]]

(6)traceroute:查看路由路径,命令格式为:

traceroute ip

(7)ndd:查看和配置 T CP/ IP 驱动参数。命令格式为:

ndd [ - set] driver parameter [value]

(8)snoop:捕获网络包并显示其内容。经常使用 snoop,可以熟悉系统的正常行为情况,并

有助于发现和诊断以后可能出现的问题。命令格式为:

snoop [options][expression]

其中 �options:

- d device:选择接口,device 可以是 le ?,h me ? 等;

- v:详细显示;

- ifile:从文件 file 中读取已捕获的包;

- o file:将捕获的包输出到文件 file 中。

(9)finger 显示登录的用户信息,简单检测是否有非法入侵。命令格式为:

1)finger:显示本机登录的用户信息;

2)finger- l:详细显示本机登录的用户信息;

3)finger @ 主机名称:显示所选主机登录的用户信息。

(10)dfshares 查看远程主机共享的文件系统;对应的命令是 dfmounts 查看哪些远程文件

系统。命令格式为:

dfshares 主机名称

dfmounts

(11)show mount:查看网络文件系统利用情况。命令格式为:

show mount - a 主机名称:查看该主机挂接了哪些远程文件系统;

show mount - d 主机名称:查看该主机的哪些文件系统被远程挂接;

show mount - e 主机名称:查看该主机共享了哪些文件系统;

092

(12)如果不能浮动 license,首先检查网络正常否;然后检查 license 许可套数;最后检查服

务器/ 客户两端的日期是否一致(date - u ),基本就能解决问题。

6 结束语

总之,网络管理是一项复杂的系统工程,它不仅涉及到组成网络的各种网络设备(线路、主

机、交换机、路由器等),还涉及到管理这些不同网络设备的标准。每一个拥有计算机网络的部

门或单位,都希望能够充分发挥网络的作用,保证网络能够持续、稳定、安全可靠同时又高效地

运行。随着网络规模的扩大和网络应用范围的扩展,网络复杂性和异构性的特点日益突出,使

得网络管理问题上升到网络建设的战略性地位。

(本文由辽河油田勘探开发研究院孙兆宽、李松辉、张天亮和马凤凯等同志编写)

R5 工作站/ 微机数值模拟平台应用研究

1 引言

目前,我们进行数值模拟主要是使用服务器进行计算,利用工作站进行数模结果的处理。

工作站最大的特点是其有强大的图形、图像显示处理功能,使数值模拟的科研人员从繁杂的数

据堆里得以解放,提高了数值模拟→编制开发方案→开发方案实施的周期。

但是,随着油田开发方案编制愈来愈精细,对一些数值模拟结果处理要求愈来愈高,而现

在运行的工作站只能显示图形图像和一些简单的编辑。要对数值模拟结果进行编辑处理,工

作站和服务器还没有现成的应用软件,它的优越性体现在大容量的存贮器和高分辨率图形、图

像显示。对于图形、图像的编辑处理工作站和服务器明显是个缺撼,对微机来说应用软件发展

非常迅速,许多成熟软件相继发布,如 Photostudio,Surfer Excel等。为了能将工作站数值模拟

结果图形、图像进行编辑处理,充分利用工作站的图形图像显示清晰和微机软件丰富可用优

势,这就需要我们深入研究工作站的图形图像功能如何和微机的丰富软件相配套,使图形图像

的处理更能符合开发方案所要求的结果。从目前的数值模拟发展看,数值模拟工作有两个发

展方向,其一是大型化并行算法,用于解决精细数模的巨大节点数模型,其二是微机化发展,主

要特点是方便,快捷,适用于小模型节点数在 5 万以下。工作站处理数值模拟图形、图像结果

非常普遍,用微机小型化技术目前尽管还不太完善,但随着各种应用软件的发展,上述两种发

展方向所产生的数值模拟图形、图像结果都是非常庞大的,要想处理精细的数值模拟图形、图

像结果,工作站/ 微机一体化处理数值模拟图形、图像结果必将是今后的一个发展方向。我们

现有高性能的工作站和使用微机的丰富经验为我们进行此项研究提供可能,该问题的研究成

功,将对油田的数值模拟图形图像结果处理有很大帮助,为油田开发方案的编制提供更为准确

的参数。

192

2 数值模拟结果的数据形成及结构

数值模拟通过计算机的计算后,产生的是一些离散的数据点,数据量是非常庞大的,没有

可视化之前,靠油藏工程及数模人员进行分析对比,与实际结合进行拟合的,引入可视化技术

后,对产生的数据进行处理、存储和管理,将原始数据经过变换处理成几何数据,利用计算机绘

图学绘制成数模人员和油藏工程人员可以直观可视的图像数据。

我们研究数值模拟结果处理的工作站/ 微机的一体化,就必须分析数值模拟计算结果的数

据形式。具体到我们所应用的数值模拟软件( VIP,C M G, EC LIPS,热采),逐一分析各个数值

模拟软件计算后所产生的结果。只有这样我们才能对产生数值模拟图形图像的离散数据有足

够的认识。如果我们不对油藏数值模拟结果的数据形式与结构进行研究,或者原始资料不准

确,进而导致数值模拟图形图像结果与实际地质状况相差太远,工作站/ 微机数模结果一体化

研究就失去意义。数模结果所表现出来离散数据是我们的主要研究对象。首先要对数值模拟

计算结果在数据文件中的存储方式及结构有准确的认识;其次是清楚每一数据所代表的实际

物理意义,能从它的存储文件中将其取出。

我们对数值模拟结果的形成及结构做深入的研究,在其图表及曲线等各类输出的基础上

进行考虑,让数模的图形图像结果既能用工作站显示又能利用微机软件编辑处理,继而统一在

同一台工作站上;使其数值模拟处理后的图形图像更适合油藏工程人员的要求,利用优越的设

计思想和先进的处理方法将关键格式输出的数据转化为标准格式的、统一的、易于工作站/ 微

机识别的 ASCⅡ格式,使数模结果的功能得到进一步发挥。

3 工作站图形、图像功能及不足

工作站自问世以来,尤其以大容量和图形图像功能著称,目前,随着微型计算机及磁盘阵

列的发展,工作站的大容量已经显示不出其优越性了,但是工作站的图形,图像显示功能以其

高分辨率,高显示速度而著称,就目前的工作站来说,无论是 SGI 或是 Sun 系列,它们的显示

图形、图像功能均能满足我们油藏数值模拟输出可视化结果的需要,但是它的图形、图像编辑

处理功能是相当弱的。以我们所使用的 Sun 工作站为例,目前 Sun 工作站的高档 ultra 系列的

图形、图像处理功能也只有显示和快照这两个应用工具,因为我们数值模拟要给方案所提供的

参考是压力、饱和度等图表的综合对比,随着要求的不断精细,需要对图形、图像的编辑愈来愈

多,单就这两个工具及其表现的功能是远不能满足油藏数值模拟的需要。过去从”文件”菜单

中选择”打开为”来指定。图像显示工具可以打开的图形文件有很多,但这些图形文件编辑对

工作站来说困难。

目前工作站在图形、图像方面有不少功能,但是局限性也很大,它的功能主要表现在显示

查看,谈到编辑,明显表示出不足,如图形、图像文件的修改、美化等,对于油藏数值模拟结果的

对比研究及方案组合都不能很好地满足。在数值模拟结果的对比研究中,目前工作站也是无

法满足的。而随着目前微机的发展,各种应用软件的成功推出,使得这些已成为可能。我们所

使用的 PhotoStudio,Sufer Excel等微机工具软件和工作站结合起来,将会提供给我们数模结

292

果图形、图像处理的先进方法。

4 实现微机/ 工作站一体化的 SunP Ci技术

4.1 SunPCi技术简介及技术要点

SunP Ci是一种基于微机和工作站基础上考虑 Windows 和 U nix 不同操作系统集中于同

一机器的硬件和软件技术。让用户使用工作站优点同时,不用牺牲 D O S 和 Microsoft Win-

dows 应用程序的功能,而且在一台工作站中运行数模的大型计算软件和后处理软件时运行编

辑处理数值模拟图形、图像结果的 Windows程序。

提供两种目前使用人数最多的应用软件支持技术, 让 Windows 的应用程序和 Solaris 的

应用程序均能在一台 Sun UltraT M 工作站上一起运行。通过文件系统的共享、剪切、复制、粘

贴和网络资源的共享使 Solaris操作环境和 Microsoft Windows 之间实现真正的互用性。

通过采用 400 M Hz A M D K6 - 2 处理器和 64 M B 到 256 M B 集成于 Sun Ultra 高档工作站

工作站硬件上的专用内存,提供 PentiumII 级的性能。为 Ultra 60 工作站提供一个 PC 协处理

器接口提供低成本、单系统的解决方案,以运行 Windows 和 Solaris 操作环境应用程序。使数

模用户拥有对 Windows 应用程序环境的本地直接控制。提供 O SF/ M otif 等编程工具的技术

支持,保证数模结果的数据成功转换。

SunP Ci全面兼容 Windows 和 Solaris 操作系统;操作环境/ PC 互用性环境/ PC 互用性;

400 M Hz A M D K6 - 2 处理器;运用 SunPCi 技术可集成于 Ultra 高档工作站工作站上 64 M B

到 256 M B 的 R A M ; U SB(通用串行总线架构)并联和串联端口;24 位图形、监视器端口;与

SoundBlaster 兼容;音频输入/ 输出端口。

将 Ultra 高档工作站工作站集成到不同结构的应用体系中,不仅可以安装常用的 Office

办公工具,而且也可以安装大型数值模拟的计算程序。允许经由相同的监视器、键盘和鼠标访

问 Windows和 Solaris不同操作系统环境下的各种应用程序,允许在 Solaris 操作环境和 Win-

dows 或 dos 环境之间共享文件、数据和剪切、复制、粘贴功能。在 PC 环境内使用 Solaris 环境

资源和外围设备。节约了桌面系统及系统管理成本的实际投资。以原有的、Pentium II 级别

的速度运行微软 Windows N T/ 95 和 D OS 应用程序 。运行多个 PC 应用程序不受内存限制,

工作站内存一般比微机大,而且还有数量可观的缓冲内存。为 PC 应用程序提供专用内存,专

用内存不够时可以利用工作站的缓冲内存。具有良好的扩容性,可随我们的工作的需要而扩

充其性能。为连接新老器件提供标准端口:键盘、鼠标、多媒体设备、打印机等,提供可选择的

第二监视器接口,以满足 24 位 1280×1024 图形 P C 环境的需要。

4.2 SunPCi的系统构架和选择依据

SunP Ci技术提供在 Sun 工作站上运行 PC Windows 应用程序的解决方案,硬件环境除

Ultra 高档工作站工作站的基本配置外,还需要一个基于 SBus 的 Sun 工作站设计的协同处理

器。软件环境需要安装 SunPCi软件和支持 SunPCi技术的 Solaris Patches,然后利用 M otiff编

程技术对所有接口进行连接,进而实现数值模拟微机/ 工作站一体化。解决微机/ 工作站一体

化问题,主要让终端服务器允许用户在 Windows N T/ 9 X 上运行 D OS 或基于 Windows N T/ 9 X

的应用程序,并将显示窗口以 X 显示窗口模式送回到工作站上。结果为在同一工作站上运行

Solaris 系统下的大型数值模拟计算程序和微机 Windows 操作环境的图形图像处理工具。

392

SunP Ci提供 PentiumII 以上级别的性能,并且允许用户对 PC 环境进行完全的控制。所以

SunP Ci是我们的理想选择。

在 SPA R C SY ST E M P CI(扩展平台)以上为硬件环境运行示意,通过 A M D 的微机处理器

和 Ultra 高档工作站工作站的可利用存储器实现数据及程序的存取;再通过内部桥接器和

SP A R C S Y ST E M PCI 相连以实现硬件的一体化。本身设备带有 C O M 1 串行输出端口、LP T

串行输出端口、U SB 高速串行总线、SoundBlaster16 兼容音频线输入、输出和麦克风输入。

在 SPA R C SY ST E M P CI 以下是软件环境示意,首先是 SunPCi及 Windows 和 Solaris 的

接口,使 SunPCi技术能够驱动工作站 Solaris 的应用程序和微机 Windows 的应用程序,使微机

和工作站的结果数据能够互相调用。解决了这些问题不论是工作站 Solaris 下的应用程序或

微机 Windows 9X/ N T 下的应用程序所处理的数值模拟结果都可以在同一台工作站上显示,

而且可以在相同的外部设备上进行输出。

5 微机/ 工作站数模平台一体化的实际应用

在数值模拟工作中,通常是先进行主模型运算,当历史拟合达到方案所要求时,观察其图

形、图像结果,以验证实际情况和计算结果的差异。一般情况下我们最关心的是剩余油的分布

情况和剩余油的饱和度。

5.1 C M G 数值模拟软件及处理结果在平台的应用

C M G 是我们近段时间使用的数值模拟软件,它具有方便易学、运行速度快等优点,我们可

以在工作站上同时运行其主模型,又可以利用微机/ 工作站数模一体化平台进行图形图像结果

处理。

在同一工作站机器上我们既运行了大型数值模拟计算软件 C M G 又运行了微机的 W PS

图文编辑工具。我们可以将同类型多幅图进行合并编辑、无逢连接。

5.2 Eclipse 数模软件及处理结果在一体化平台上的应用

Eclipse 数值模拟软件是我们最近引进的、先进的数值模拟软件,它的优点是软件适用性

广,考虑条件多,我们通过它可以计算的模型多,既可算稀油又可计算聚合物等。同样我们可

以在同一台 Ultra 高档工作站工作站上运行 Eclipse 数模软件,也可以运行微机的用软件。运

行数值模拟软件对工作站来说是常见的,我们主要看看微机应用软件的运行情况。Eclipse 数

值模拟软件计算的图形、图像结果均可以通过一体化的数模平台显示在和其他作业同时运行

的工作站上,还可以轻松地对这些图形、图像处理结果进行编辑。可以对不同数值模拟软件计

算结果的图形、图像进行编辑处理。例如 Eclipse 数值模拟软件计算结果的图形、图像和 C M G

数值模拟软件计算结果的图形、图像一起进行编辑,可以对不同类型软件结果进行比较分析。

5.3 应用效果

通过以上研究主要有以下几方面体会:

(1)解决了工作站/ 微机共享接口问题,使工作站数值模拟图形图像微机能不通过网络直

接公享,进而用微机软件进行编辑处理。

(2)让工作站的所有资源作为微机的强大后援。

(3)实现了一体化,让原本工作站和微机都要使用的两个工作环境,节约为一个,从而降低

了使用成本,提高了工作效率。

(4)该一体化平台可以安装到所有 Sun20 以上工作站,支持各种数值模拟软件使用。

(本文由河南石油勘探开发研究院宋腾、李玉梅、吕正芳,苗自贵等同志编写)

492


Recommended