SMIT 是什么?
系统管理界面工具(通常称为 SMIT)是 AIX® 中附带的一种交互式工具。几乎任何系统管理任务都可以通过使用 SMIT 屏幕来完成,通常采用层次的方式对这些屏幕进行逻辑分组,以便能够方便地进行导航。可以使用与各种功能相关联的快捷路径 直接转到相关的屏幕。
SMIT 中最重要的特性之一是,您可以准确地查看它在执行相关命令之前或之后执行了哪些命令。SMIT 并没有对操作系统使用任何特殊的挂钩。它所执行的所有操作都是通过标准的 AIX 命令和 Korn Shell 函数完成。尤其是当您需要为重复性任务实现自动化时,这种特性非常有价值,您可以使用 SMIT 创建合适的命令行序列,然后在自己的脚本中使用这些命令。
基本用法
SMIT 是基本操作系统中的一部分,/usr/bin/smit
命令位于 bos.sysmgt.smit 文件集。有两种版本的 SMIT:全屏幕文本模式版本和图形 X Windows® 客户端。如果设置了 DISPLAY 变量,那么 AIX 将自动运行 GUI 版本。要使用文本模式版本,甚至在设置了 DISPLAY 变量的情况下,那么可以运行 smitty
命令,或运行 smit -a
。
如果启动 SMIT 时没有指定快捷路径,那么将显示主菜单。在所有的 SMIT 屏幕中,都可以使用箭头键在所显示的选项中向上或向下移动。回车键用来选择当前高亮显示的项目。要返回一个级别,可以按 F3 或 Esc + 3。
四种屏幕类型
SMIT 使用四种类型的屏幕来进行交互并为用户显示相关信息:菜单、对话框、选择器和命令状态屏幕。
菜单
菜单 屏幕显示了任务列表,只能选择其中一项。如果 SMIT 启动时没有指定快捷路径,那么将显示主菜单(有关文本模式版本的内容,请参见清单 1)。
清单 1. SMIT 文本模式版本中显示的主系统管理屏幕
System ManagementMove cursor to desired item and press Enter. Software Installation and Maintenance Software License Management Devices System Storage Management (Physical & Logical Storage) Security & Users Communications Applications and Services Print Spooling Problem Determination Performance & Resource Scheduling System Environments Processes & Subsystems Applications Installation Assistant Using SMIT (information only) F1=Help F2=Refresh F3=Cancel F8=ImageF9=Shell F10=Exit Enter=Do |
图 1 显示了该工具 GUI 版本 SMIT 的主菜单。
图 1. SMIT GUI 版本中显示的主系统管理屏幕
对话框
对话框 屏幕由特定任务的选择而产生。不同的符号表示每个字段可以接受的信息条目的类型。您在这些字段中输入的数据将用来生成 SMIT 所执行的命令。
清单 2. SMIT 对话框屏幕具体来说,即 Change/Show Characteristics of a User 屏幕
Change / Show Characteristics of a UserType or select values in entry fields.Press Enter AFTER making all desired changes. [TOP] [Entry Fields]* User NAME root User ID [0] # ADMINISTRATIVE USER? true + Primary GROUP [system] + Group SET [system,bin,sys,securi> + ADMINISTRATIVE GROUPS [] + ROLES [] + Another user can SU TO USER? true + SU GROUPS [ALL] + HOME directory [/] Initial PROGRAM [/usr/bin/ksh] User INFORMATION [palatino root] EXPIRATION date (MMDDhhmmyy) [0][MORE...37]F1=Help F2=Refresh F3=Cancel F4=ListF5=Reset F6=Command F7=Edit F8=ImageF9=Shell F10=Exit Enter=Do |
选择器
选择 屏幕需要用户选择一个目标,通常是将在后续对话框屏幕中使用的设备。选择器通常作为弹出式 窗口出现,重叠在前一个屏幕的文本之上。
清单 3. SMIT 选择屏幕,要求选择单个逻辑卷
LOGICAL VOLUME name Move cursor to desired item and press Enter. Use arrow keys to scroll. [TOP] fslv00 jfs 64 128 2 open/syncd /ora-dat fslv01 jfs 64 128 2 open/syncd /u06 fslv02 jfs 64 128 2 open/syncd /u07 lv07 jfs 11 22 2 open/syncd /SUL_ora paging05 paging 32 32 1 open/syncd N/A fslv05 jfs 320 640 4 open/syncd /u08 fslv06 jfs 24 48 2 open/syncd /w01 fslv07 jfs 16 32 4 open/syncd /local/a lv11 jfs2 128 128 1 open/syncd /mkcd/mk fslv09 jfs 128 256 2 open/syncd /u02 [MORE...51] F1=Help F2=Refresh F3=Cancel Esc+8=Image Esc+0=Exit Enter=Do /=Find n=Find Next |
命令状态
命令状态 屏幕显示 SMIT 所执行的命令的输出。屏幕最上面的内容表示了当前状态(Running、OK 或 Failed),并且还显示了是否向 STDOUT 或 STDERR 写入了任何数据。
清单 4. SMIT 命令状态屏幕,显示了列出文件集包含的文件的输出
COMMAND STATUSCommand: OK stdout: yes stderr: noBefore command completion, additional instructions may appear below.File Fileset Type------------------------------------------------------------------/usr/bin/smit bos.sysmgt.smit FileF1=Help F2=Refresh F3=Cancel Esc+6=CommandEsc+8=Image Esc+9=Shell Esc+0=Exit /=Find n=Find Next |
导航
因为 SMIT 功能的层次结构的本质,所以很容易向下逐层展开到 希望执行的任务。如果您发现从菜单中选择了错误的项目,可以按 F3(或 Esc + 3)返回到前一个屏幕。
快捷路径
SMIT 中的每个菜单和对话框屏幕都具有相应的快捷路径,它可以用来直接转到该屏幕。要确定特定屏幕的快捷路径,可以导航至该屏幕,然后按下 F8 或 Esc + 8。弹出的窗口中将列出快捷路径,并将当前屏幕的内容 写入 SMIT 日志文件。
清单 5. SMIT 选择屏幕,要求选择单个逻辑卷
PRINT SCREEN Press Enter to save the screen image in the log file. Press Cancel to return to the application. Current fast path: "mkuser" F1=Help F2=Refresh F3=Cancel Esc+8=Image Esc+0=Exit Enter=Do |
快捷方法
SMIT 提供了一些键命令,可用来快速地在冗长的、滚动的输出屏幕中进行导航。尽管这些键盘输入在命令状态屏幕中最有用处,但它们可以在所有的屏幕中使用(请参见表 1)。
表 1. 用于导航的键盘命令
键盘输入 | 操作 |
---|---|
向下箭头 | 向下滚动一行 |
向上箭头 | 向上滚动一行 |
Control + V (或 PageDown) | 向下滚动一页 |
Escape + V (或 PageUp) | 向上滚动一页 |
Escape + > (或 End) | 跳至输出或清单的末尾 |
Escape + < (或 Home) | 跳至输出或清单的开头 |
日志记录
每个 SMIT 会话都会在两个文件中记录相关条目:smit.log 和 smit.script。这些文件将会写入到 HOME 环境变量指定的目录,而不是在 /etc/passwd 中指定的该用户的实际 home 目录。
SMIT 不会覆盖现有的日志文件,如果这些文件已经存在,并且可以由当前用户进行写入,它通常会尝试在这些文件后追加信息。如果 SMIT 不能写入这些文件,它会显示一则警告消息,然后继续执行相应的功能而不再进行日志记录。
请注意,尽管任何用户都可以运行 SMIT 可执行文件,但是它完成所需任务时执行的许多 AIX 命令需要 root 或其他受限的权限。如果未授权的用户试图完成其中的任务,那么任务将会失败。因为 SMIT 通常由 root 运行,所以应该对 SMIT 日志文件进行监视和清理,以确保它们不会变得过大并占用 / 文件系统中所有的可用空间。
smit.log
smit.log 文件包含关于使用 SMIT 执行的操作的详细信息。对于每个 SMIT 会话,它将记录 SMIT 启动的日期和时间、访问的每个菜单屏幕的记录(以及该屏幕的快捷路径)、SMIT 执行的所有命令和这些命令的输出。
在确定对系统进行了哪些更改以及这些更改的具体发生时间时,对 smit.log 进行监视非常有用。然而,该日志文件将不会反映任何直接通过运行系统命令所进行的更改。
smit.script
smit.script 文件包含 SMIT 执行任务时实际运行的 AIX 命令。该文件以 Korn Shell 语法书写,所以它可以作为命令序列本身 执行,这样做可以重复原来由 SMIT 执行的所有任务。
smit.script 的常见用法之一是,复制跨系统的大量的任务。如果使用 SMIT 实现对一个系统的所有更改,那么可以将 smit.script 复制到其他的系统,并且加以执行,这样可以实现所有系统的更改,而无需编写任何代码。
使用 SMIT 脚本的一个示例
现在,让我们将 SMIT 应用于一个实际的 AIX 示例。假设您需要为 10 个或 100 个 AIX 系统分别添加一个 4 GB的文件系统。您可以手动地完成这项操作,但是最后可能会感到非常厌倦,并且反复地进行输入增加了出现错误的可能。您可以将合适的命令组织在一起,并使用各种参数和标志,然后在每个系统中运行它们。或者,可以让 SMIT 为您编写这些命令。
在下面的示例中,使用 SMIT 创建一个 4 GB 的增强 JFS (JFS2) 文件系统,该文件系统在系统重启时自动装入到装入点 /fs01,并使用内联 JFS 日志。然后,将 SMIT 编写的脚本复制到其他的系统,并在其中运行该脚本以创建文件系统。
启动 SMIT 的第一步是使用命令:smit -s /tmp/mknewfs.ksh crjfs2std
。-s
标志告诉 SMIT 将其脚本输出写入到文件 /tmp/mknewfs.ksh,而不是缺省的文件 /smit.script。具体的操作将被记录到 /smit.log。通过指定快捷路径 crjfs2std,您可以直接转到 Add an Enhanced Journaled File System 对话框屏幕。在显示该屏幕(如清单 6 中所示)之前,您需要在其中选择一个卷组以创建新的文件系统。
清单 6. Add an Enhanced Journaled File System SMIT 对话框屏幕
Add an Enhanced Journaled File SystemType or select values in entry fields.Press Enter AFTER making all desired changes. [Entry Fields] Volume group name datavg SIZE of file system Unit Size Gigabytes +* Number of units [4] #* MOUNT POINT [/fs01] Mount AUTOMATICALLY at system restart? yes + PERMISSIONS read/write + Mount OPTIONS [] + Block Size (bytes) 4096 + Inline Log? yes + Inline Log size (MBytes) [] # F1=Help F2=Refresh F3=Cancel F4=ListF5=Reset F6=Command F7=Edit F8=Image F9=Shell F10=Exit Enter=Do |
在按 Enter 键使得 SMIT 执行清单 6 中的命令之前,清单 7 中的脚本将写入到文件 /tmp/mknewfs.ksh。
清单 7. /tmp/mknewfs.ksh
## [Sep 06 2006, 17:46:28]#x() {LIST=FLAG=0for i in "$@"do case "$i" in Megabytes) FLAG=1;; Gigabytes) FLAG=2;; 512bytes) ;; size=*) case "$FLAG" in 1) LIST="$LIST \"$i\"M" FLAG=0;; 2) LIST="$LIST \"$i\"G" FLAG=0;; 0) LIST="$LIST \"$i\"" ;; esac ;; *) LIST="$LIST \"$i\"" ;; esacdoneeval crfs -v jfs2 $LIST}x -g'datavg' 'Gigabytes' -a size='4' -m'/fs01' -A''`locale yesstr | awk -F: '{print $1}'`'' -p'rw' -a agblksize='4096' '-a logname=INLINE' |
剩下来的工作是,将上面的脚本复制到其他的 AIX 系统,并运行它。可以通过许多方法来完成这项任务。最简单(尽管不是很安全)的方法是,根据这些系统进行循环,对该脚本执行 rcp 操作,然后使用 rsh
来执行它(请参见清单 8)。
清单 8. 对脚本执行 rcp 操作并使用 rsh 执行它
For host in host1 host2 ... hostN; do \rcp /tmp/mknewfs.ksh $host:/tmp/mknewfs.ksh ; \rsh $host ksh /tmp/mknewfs.ksh ; \done |
接下来的步骤
对于任何 AIX 管理员,SMIT 都是一种功能强大的工具。与大多数工具一样,熟练掌握其操作步骤的最好方法是使用它。尽管 SMIT 可以在活动的 系统中执行相应的操作,但是却没有提供撤销 功能,了解这一点非常重要。对于一些操作(但不是所有的操作),SMIT 会发出永久删除信息的警告,并且需要进行确认以便继续执行。
更安全的使用 SMIT 应用程序的方法是,使用 -x
标志调用它。当在命令行中指定了 -x
标志时,SMIT 表面上工作正常,但实际上却没有执行任何命令。相反,它会把在正常操作过程中将要执行的命令写入到 smit.script 文件。
SMIT 菜单和对话框屏幕中的许多选项和输入字段都提供了内置的帮助特性,可以使用箭头键高亮显示或选择该项目来加以访问,然后按 F1(或 Esc + 1)。这时将显示一个弹出 窗口对所选项目进行详细地解释。
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |