|
|
|
第十一章 系统启动和关闭 正常的shutdown: 在根用户下敲入命令:shutdown –g 900 –y 其中,-g :指定shutdown开始的秒数。-y:在没有任何进一步提示下,进行shutdown,关闭系统并提示: “Hit any key to reboot”, 敲任意键,重新引导系统。 如果系统是处于网络状态,要想快速关闭系统,可以使用命令: shutdown –y 这里,命令没有指定任何延迟时间。 如果系统是处于单用户模式,要关闭并重新引导系统,使用命令: shutdown –i6 –y shutdown命令在被执行时,使用文件/etc/default/shutdown中存放的默认值。在这个文件中,系统默认的命令延迟执行的时间为零分,即: grace (宽限期)=0 如果已经在/etc/default/shutdown文件中定义了新的grace的值,那么要快速关闭系统,可以使用-g选项来忽略/etc/sefault/shutdown中所设置的grace默认值,使用命令: shutdown –g0 –y 或使用命令: shutdown –go –i6 –y 系统引导: ●把核心程序/stand/unix装入内存 ●安装root文件系统。如果有必要,在安装root文件系统前,先对这个文件系统进行清理与修复。 ●确定操作系统的运行模式。 系统引导的其它选择: 如果需要引导的核心不是/stand/unix,或者需要进入单用户模式,那么必须: Starting Unixware … 信息在屏幕上出现时,或者在SCO公司的图标(logo)显示时,做出相应的回应。 1)引导其它的核心:在系统引导时,UnixWare 7的logo屏首先显示。这时可以中断自动的引导过程,只要按回车键,UnixWare 7引导提示出现。屏幕显示: Bootstrap Command processor Ready for boot command…[? for help] [boot] 如果再敲回车键,系统会引导默认的核心。 如果默认的核心不能正确的装入内存,可以装入另外的核心。例如,要引导unix.old,在[boot]提示后面,敲入: [boot] BOOTPROC=unix.old [boot] boot 回车后,unix.old核心引导开始。 2)引导到单用户状态:要引导系统进入单用户模式,在[boot]提示后面敲入: [boot] INITSTATE=S [boot] boot 回车后,系统引导开始,接着,屏幕上会出现提示: UX:init:INFO:SINGLE USER MODE Type Ctrl –d to proceed with normal startup, (or give root password for Single User Mode): 敲入root口令,系统进入单用户状态。 3)进入网络状态:只需在boot提示符后面敲入: INITSTATE=S 这个语句的作用是把系统初始化为单用户状态。系统两种最普遍的状态是: 1,S 单用户状态 3 网络状态 从系统的单用户状态进入正常的系统启动(网络状态),在“#”提示符下,敲入Crtl-d,回车后,屏幕提示: ENTER RUN LEVEL (0-6, s or S): 在提示后面输入3。 如果系统当前处于网络状态,想进入单用户状态,命令: shutdown –i1 –g300 –y 这里,-i1表示单用户状态,也被认为是运行级1。 在shutdown命令执行完成后,以root身份注册。要再次使系统返回网络状态,shutdown系统并重新引导它。 把其它操作系统装入内存: 如果在第一块硬盘上除UNIX分区以外的其它分区上安装有其它可引导的操作系统,比如DOS或Windows,要在UNIX分区是活动分区的情况下,引导DOS系统,可以在[boot]提示符下,敲入: b hd (0,DOS) 在/stand/boot文件中,可以设置boot参数,也可以对现有的boot参数进行修改。当处于BCP(Boot Command Processor引导命令处理器,即[boot]时的状态)时,可以使用命令显示当前boot参数的值,在[boot]提示下,敲入命令: show 由boot程序识别的参数: 在文件/stand/boot文件中。 1)BOOTPROG=filename 这里filename是文件名字。此参数确定把哪个核心装入内存。默认装入/stand/unix。如果在/stand目录提供了其它UNIX核心,那么可以对这个参数进行修改。例如要装入核心/stand/unix.old,则可以设置BOOTPROG=unix.old。 2)BOOTDEV=device 这里device是设备名字。此参数定义了从哪个设备装入由参数BOOTPROG指定的文件,其普通格式为: hd (unit [parition] [, slice]) 前面已经看到,要引导DOS系统,敲入: b hd (0,dos) 3)AUTOBOOT=YES|NO|num 指示boot程序是立即装入核心,还是进入交互的系统引导会话过程。Num值是在装入BOOTPROG指定的文件要等待的最小时间(单位为秒)。默认为5秒钟。 4)TEMEOUT=number 此参数定义在装入核心前,boot程序等待来自用户手工干预的时间(单位为秒),默认为0秒。 5)CONSOLE=device 屏蔽主控台设备的默认配置。默认情况下,此参数设置为PC控制台: CONSOLE=kd (0) 可修改此参数,以指定连接到COM端口的终端。例如,要修改用于COM2的参数,假如不使用流控、38400波特率、没有奇偶校验、1位停止位: CONSOLE=iasy (5,B38400) 应注意,只能是COM1或COM2修改CONSOLE参数。 由unix核心处理的参数: 下面是直接传递给unix核心,并且不能由boot程序识别的参数: 1)DISABLE_CACHE=(YES/NO) 如果为YES,则关闭i486和i486以上CPU的外部及内部的内存缓冲区(CACHE)。 2)ENABLE_4GB_MEM=(YES/NO) 如果为YES,开启4GB以上内存的检测。 3)IGNORE_MACHINE_CHECK=(YES/NO) 如果为YES,将忽略硬件检查条件。这个参数允许忽略机器故障检测而不是关闭系统。 4)INITSTATE=systate 此参数指定在系统引导后系统所进入的状态。前面已经看到,在[boot]提示下,敲入INITSTATE=S,可引导系统进入单用户模式。 定义boot信息的参数: 这些参数定义的信息将屏蔽存放在/stand/bootmsgs文件中作为默认的那些信息。 1)AUTOMSG=string 引导系统自动重新引导时,默认信息为AUTOmatic Boot Procedure。 2)BOOTMSG1=string 改变在UnixWare 7引导时,默认引导为Starting UnixWare…。 3)BOOTMSG2=string 改变用来表明交互引导会话过程开始的默认字符串: Bootstrap Command Processor Ready for boot commands…[? for help] 上述三个参数中等号右边的string是作为替代系统默认信息的字符串。 还可以改变如下一些参数所定义的信息: COPYRIGHT=string 改变默认的版权信息行 DEVICENAMES=string 改变连接到SCSI总线的设备清单 REBOOTMSG=string 改变信息:Press any key to reboot STARTUPMSG=string 改变信息:The system is coming up. Please wait… 改变系统运行级: 可以在敲入init命令以前,首先使用wall命令给用户发出警告信息,例如: 1)敲入wall 2)回车后,接着敲入System will shut down in 15 minutes 3)回车后,敲Ctrl-d,回车后,屏幕出现提示,表明此信息作为广播信息发给系统中所有用户,告诉他们15分钟内系统将关闭。 要在5分钟内使系统进入单用户模式,命令: shutdown –g300 –y –i1 显示当前系统状态,命令: who –r 要改变文件/etc/conf/init.d/kernel中的控制台注册提示记录,步骤: 1)把/etc/conf/init.d/kernel文件拷贝到/etc/conf/inid.d/kernel.save文件。 2)编辑/etc/conf/init.d/kernel文件,并且改变下面记录中的单词Console Login: co:12345:respawn:/usr/lib/saf/ttymon –g –p “Console Login:” –d /dev/confole –l console 3)保存对这个记录的修改。 4)在/etc/conf/cf.d目录中,创建一个新的inittab文件,命令: /etc/conf/bin/idmkinit 5)把/etc/conf/cf.d/inittab文件拷贝到/etc/inittab文件中。 分析/etc/rc2.d目录中的脚本: 该目录中包含了各种各样系统程序的默认启动脚本,还包含了清除临时文件以及日志文件的脚本: 下面是当系统进入多用户模式时,通过init执行的部分重要的脚本: S01MOUNTFSYS 安装非boot文件系统 S02autit 开启系统审计 S05RMTMPFILES 删除临时文件 S69inet 启动TCP/IP S70Pnw 启动NetWare服务 S93scohelpttp 启动SCOhelp守护进程 S99dtlogin 启动图形login 分析/etc/dinit.d的脚本: S70UUCP 清除UUCP锁、状态和临时文件 S75cron 启动cron时钟守护进程 S80lp 启动lpsched守护进程 在应用中,有时可能要在/etc/rc2.d目录中增加用户自己所需要的系统初始化过程,或者对现有的脚本进行某些修改。如果要这样修改,需要遵守: ●不要把用户自己脚本(完成用户自己所需要的初始化过程)的记录项放在文件/etc/inittab中,而应该把这样的脚本文件存放在/etc/rc2.d目录中,在这里,这个脚本将与其他脚本文件一起被执行。 ●从命令行对用来完成所需功能的脚本进行测试,保证脚本的正确 ●脚本文件的名字要大写字母S或K作为开头。S或K的意义是根据进入的新的系统状态来确定这个进程(即该脚本进程)是应该被启动(S start),还是应该被杀死(K kill)。 在这个目录中,脚本文件被执行的顺序是重要的: ●脚本文件名字的第一个字符必须是S或K。 ●脚本文件名字的第二个字符和第三个字符必须是数字。这些数字保证脚本文件按着数字从小到大的顺序被执行。比如,脚本文件S01xxx先于脚本文件S02xxx被执行。 ●在系统运行状态进入运行级别2时,以S字符作为文件名字第一个字符的那些脚本文件被通过start选项启动执行。 ●脚本文件名字按照ASCII字符排序的顺序,相应的脚本文件被依次执行。 ●当系统运行状态进入运行级0时,以K字符作为文件名字第一个字符的那些脚本文件,被通过stop选项启动运行。除了K20nfs文件是在/etc/rc2.d目录下以外,其他文件名字以K打头的全部脚本文件都被存放在/etc/rc0.d目录下。 ●如果脚本文件名字的第一个字符不是S或K,这些文件被忽略。即将其名字命名为小写的s或k就可以使它们不自动运行。 在系统启动时执行命令: 用户除了编写定制的系统启动脚本来影响系统的初始化,还可以在系统进入多用户初始化期间在后台启动一些单个命令运行: 要在多用户初始化期间执行一个命令,可以创建文件: /etc/rc2.d/S89USRDEFINE 把要执行的命令加到这个文件中,步骤: 1)创建/etc/rc2.d/S89USRDEFINE文件。 2)把相应的命令加到这个文件的最后一行,命令的形式为: command & 这里的command是要执行的文件名字。 3)保存对这个文件所做的修改,并退出vi。 4)通过shutdown系统,并重新引导来激活这个命令的执行。 为了安全,先将原文件进行备份。
第十二章 文件系统和硬盘管理 UnixWare 7文件系统含有一些专门的数据结构,包括数据块、i节点和超级块。 数据块:块是硬盘上存放数据的单位。某些文件系统使用可边的块长度,以最大限度地使用存储空间。Vxfs文件系统能支持1024字节、2048字节、4096字节和8192字节共四种逻辑块长度。数据块既可以包含目录项,也可以包含文件数据。目录的目录项由i节点号和文件名组成。 i节点:UNIX核心中的文件系统代码,借助文件的i节点号对文件进行访问。在一个文件被创建时,系统便给这个文件指定一个i节点号。i节点是信息节点(information nodes)。系统使用: ●节点0表示已被删除的文件和目录。 ●节点1表示本节点未被使用。 ●节点2(root目录),作为每个被安装的文件系统的层次结构的顶层。 显示某文件的i节点号和文件名字,命令: ls –id 超级块:是文件系统中一个特殊的数据块,它包含了关于这个文件系统的全部信息。超级块包含的信息对安装文件系统和访问它的数据是必须的,这些信息包括: ●文件系统的长度 ●自由i节点的数量 ●文件系统中可用自由空间的数量 当文件系统被安装时,系统把文件系统超级块中的信息读入内存。 块设备特殊文件: 在/dev目录下,使用命令:ls –l 或者命令:l 列出特殊设备文件清单时,在单个权限字段前的第一列如果是字符b,则表明是块设备特殊文件,文件系统是使用块设备的实例。如果是字符c,则代表是字符设备,它包括串口、并口、硬盘驱动器和磁带机等(后两个设备同时也是块特殊设备)。 裸设备接口:绝大多数块特殊设备还有一个称为字符设备的接口。这个接口被称为裸(raw)设备接口。裸设备是字符设备,也就是到一个现有块设备的字符接口。如果运行命令ls可以辨认裸设备接口,当文件名或子目录有一个前缀字符r时(例如,软盘的裸设备接口是/dev/rdsk/f03ht),它就是这个设备的裸设备接口。另外,裸设备接口文件权限字段前的第一列也有一个字符c。裸设备接口允许有效传送大于1KB的数据。 主设备号和次设备号: 每个特殊设备文件都有与它相关的主设备号和次设备号。UNIX的核心使用特殊设备文件来访问硬件设备。主设备号和次设备号一起表示一种设备驱动程序代码。设备驱动程序代码是核心访问硬件设备需要的。主、次设备号的意义为: ●主设备号决定哪个设备驱动程序被访问(选择设备驱动程序) ●次设备号用来对这个设备驱动程序处理给定的设备所使用的不同操作模式进行选择。 主设备号:每个给定类型的设备都有一个唯一的主设备号,例如: ●硬盘驱动器具有主设备号7679 ●软盘驱动器具有主设备号1 ●磁带驱动器具有主设备号111 应该注意,一个系统的主设备号可能与另一个系统的主设备号不同。 次设备号:主设备号使用次设备号来进一步标识要访问的这个物理设备。次设备号指定由这个设备使用的子程序。例如,磁带机的主设备号是111,它的几个不同的设备文件访问的虽是同一个设备,但完成不同的功能。下面主设备号号和不同的次设备号表示同一磁带机的不同磁带设备文件: 111,0 非重新拉紧,倒带设备(设备文件/dev/rmt/ctape1)。 111,1非重新拉紧,非倒带设备(设备文件/dev/rmt/ntape1)。 111,4 关闭时卸载设备(设备文件/dev/rmt/utape1)。 要观察磁带机的主设备号和次设备号,命令: l /dev/rmt | more 创建特殊的设备文件: 绝大多数特殊设备文件是在系统安装过程中自动地为设备创建的。如果特殊设备文件被删除,必须重新创建丢失的特殊设备文件。可使用mknod命令: mknod device_name [c | b] major minor 其中,device_name是设备名字,major为主设备号,minor为次设备号。方括号中的c和b分别代表所创建的设备文件或是字符设备文件或是块设备文件。 例如,要重新创建磁带驱动器设备文件/dev/rmt/ctape1,使用命令: mknod /dev/rmt/ctape1 c 111 0 不过,使用mknod命令重新创建设备文件后,常常还必须修改其权限字段内容、主和组等,使它们与原文件一致。 可将/dev目录下设备文件的原始信息作为系统日志保存起来,以方便可能需要的设备文件重新建立。要打印/dev目录的付本,命令: l –iR /dev lp 设备数据库文件:/etc/device.tab 该文件保存的有关每个设备属性的清单。当新设备被加到系统,这个设备数据库文件便自动地修改。可用命令getdev得到一个在设备数据库文件中定义的设备清单。该清单将给出可以使用devattr命令的设备列表。比如,要观察第一个硬盘的属性,命令: devattr –v /dev/rdsk/c0b0t0d0s0 devattr命令也可以识别作为命令行参数的设备别名。例如,第一个设备别名可以: ●硬盘是disk1 ●软盘是diskette1 ●CD-ROM是cdrom1 ●磁带机是ctape1 可使用prtconf命令显示系统配置的内存数量和所配置的设备。 /etc/default/vxfs文件的内容包括:(包含diskadd所使用的文件系统默认值) BLKSIZE=1024,2048,4096,8192(在创建文件系统时,选择文件系统的块大小) MNTOPT=mincache=closesync(用来安装文件系统的mount命令的选项) MKFSTYP=4(vxfs文件系统的类型(1-4)) LABELIT=YES(文件系统的名字(disk#,partition#,slice#等)) MAXSIZE=2147483648(文件系统的最大长度) /etc/vfstab文件包含的安装文件系统时的信息: /dev/dsk/device_name 块设备文件 /dev/rdsk/device_name 由fsck使用的裸设备文件 /directory_name 用来安装文件系统的目录 vxfs 文件系统类型的名字 l 数字项,告诉fsck这个文件要自动的被检查 yes/no yes表示这个文件系统在系统启动时,被由mountall自动的安装。 这些默认的mount选项也包括: micache=closesync 指明在文件被关闭时,数据被立即写到硬盘上。由于需要额外的时间进行写盘操作,这些特性可能影响系统性能。要优化系统的性能,可以从/etc/vfstab文件中将这个记录删除。在这样做之前,先拆卸文件系统。在完成对/etc/vfstab文件修改后,重新安装这个文件系统。 虽然不能对文件/etc/vfstab增加一些字段(字段设为置是固定的),但是可以给第7个字段增加mount选项。例如,为了安装开启大文件处理能力的文件系统,则可在字符串mincache=closesync的后面加上逗号“,”以及字符串largefiles,使这行成为: mincache=closesync,largefiles 增加大文件支持: 在默认情况下,所创建的 vxfs文件系统支持的文件尺寸最大到2GB。vxfs文件系统能够支持文件尺寸大于2GB的文件。使用mkfs命令可以决定vxfs文件系统是否支持大文件系统。例如,如果 /home文件系统驻留在/dev/rdsk/c0b0t0d0s4上,可以使用命令: mkfs –m /dev/rdsk/c0b0t0d0s4 敲入这个命令后,如果这个文件系统对大文件是: ●支持的,执行该命令后,将在屏幕上显示字符串:largefiles ●不支持的,执行该命令后,将在屏幕上显示字符串:nolargefiles 只有vxfs的第四版才支持大文件。应注意,在完成大文件支持时,有些第三放厂家的后备程序可能不能后备大的文件。 下面是使用命令mkfs创建文件系统并增加largefiles支持的步骤: 1)、后备文件系统中的数据 2)、运行mkfs –m命令,以确定创建文件系统所使用命令的语法结构。 3)、拆卸这个文件系统 4)、运行mkfs命令,创建文件系统,把nolargefiles选项改为largefiles。例如,重新创建/home文件系统,命令: mkfs –F vxfs –o ninode=65536,bsize=1024,version=4,inosize=256,logsize=1024,largefiles /dev/rdsk/c0b0t0d0s4 7936110 5)、安装这个文件系统 6)、恢复用户数据。 检查和修复文件系统: 在root文件系统上,必须是单用户模式下运行fsck命令;对于非root文件系统,运行fsck命令时,文件系统必须是拆卸的;当运行fsck命令时,如果没有指定文件系统的设备名字,那么/etc/vfstab文件中列出的全部字符文件中,那些具有fsckdev和fsckpass字段记录项的文件才被检查。 如果在运行fsck命令时指定了文件系统的 设备名,那么还必须指定文件系统的类型。不是fsck的全部功能都可用于每一个文件系统。 可以使用-F选项指定文件系统类型。例如,要说明驻留在第4片上的文件系统为vxfs文件系统类型,使用命令: fsck –F vxfs /dev/rdsk/c0b0t0d0s4 下面仅讨论vxfs文件系统上运行fsck命令: 1、快速文件系统检查: 可以使用命令: fsck –F vxfs /dev/rdsk/c0b0t0d0s4 在进行快速文件系统检查时,如果不需要重放意向日志,屏幕上将显示如下提示: file system is clean – log replay is not required 如果需要重放意向日志,屏幕信息会提示: log replay in progress replay complete – marking superblock as clean 经过这样的检查后,如果文件系统仍然标记为“clean”(没毛病的),那么就必须进行完全的文件系统检查。 2、完全的文件系统检查: 在root文件系统上运行fsck命令,应该首先拆卸所有其他文件系统。例如,要检查和修复安装在/dev/rdsk/c0b0t0d0s4上的/home文件系统,可以按照下面两种方法中的一种进行: ●运行fsck命令并且对fsck所提出的全部问题都回答yes,命令: fsck –F vxfs –y /dev/rdsk/c0b0t0d0s4 在指定了-y选项时,运行了意向日志重放之后,fsck将进行完全的检查(如果需要的话)。 ●运行完全的检查,命令: fsck –F vxfs –ofull /dev/rdsk/c0b0t0d0s4 如果fsck发现root文件系统已被修改,它将返回一个值指示或者重新安装root文件系统,或者自动地重新引导系统。只有在被破坏度较轻的情况下,root文件系统才被重新安装。 3、运行ncheck命令: 如果fsck命令报告文件出错,最好退出这个命令的运行,并运行ncheck命令,该命令把i节点号与文件名字联系起来。 有些时候是i节点的问题,不是当前文件的问题。要解决这样的问题,可以拷贝这个文件,以建立一个新的i节点号,然后再删除原始文件。 要在root文件系统上运行ncheck命令,使用命令: ncheck –i inode_number /dev/root 如果要使用这个命令检查其他文件系统,也需要在命令中指定这个文件系统的裸设备名字。如果在命令中没有指定文件系统,ncheck将对文件/etc/vfstab中列出的全部文件系统进行检查。 配置附加硬盘和文件系统: 硬盘设备名字约定:对于SCSI和非SCSI硬盘设备名字的约定,包括它们的块设备文件名字和字符设备文件名字。硬盘的块设备的目录项位于/dev/dsk目录下;硬盘的字符设备的目录项位于/dev/rdsk目录下。 硬盘设备的文件名有以下两种形式: /dev/[r]dsk/c#b#t#d#s# /dev/[r]dsk/c#b#t#d#p# 其中: c # 是SCSI主接口卡或IDE控制器号 b # 是HBA总线号。对IDE硬盘#总是0 t # 是SCSI目标控制号(也称目标ID号),对于第一个IDE硬盘,#是0,对于第二个IDE硬盘,#是1。 d # 是SCSI硬盘的逻辑单元号。对于IDE硬盘,#总是0。 s # 是UNIX分区中的片号 p # 是硬盘分区号。p0对应的是整个硬盘。 例如,/dev/rdsk/c0b0t1d0s0 这个设备文件名代表的是一个硬盘,具体含义:这是一个连接到第一个主机接口卡、在第一条总线上并且其目标ID为1、逻辑单元号为0的硬盘。在具有MPIO(多路舒服/输出)的系统中,它描述对存贮设备的处理。实际上是给存贮介质呈现的第一个通道。 例如,在目标0(即目标ID号为0)上的硬盘,被认为是/dev/rdsk/c0b0t0d0s0。 使用diskadd配置硬盘: 在硬盘被正确的挂接到系统后,UNIX系统便能识别它。但要使用它,还必须通过diskadd命令对它进行配制: 1)、调用fdisk,创建硬盘分区(partition) 2)、调用disksetup: ●完成介质表面分析 ●创建VTOC表 ●建立硬盘的坏道表和坏扇区表(作为坏道表的替换) ●创建分区片(slice) ●发出mkfs调用,创建文件系统和lost+found目录 ●创建文件系统安装点 ●安装文件系统 ●修改/dev/vfstab 增加硬盘的具体步骤: 1)、作为root在系统上注册 2)、敲入命令:diskadd 如果增加的是系统上的第二块硬盘,那么硬盘的盘号应为1。对以后增加的硬盘,则必须使用完整的硬盘设备名,其形式为:/dev/dsk/c # b # t # d # 。例如,要在第一块主机接口卡上增加第3个SCSI硬盘,应该使用命令: diskadd /dev/dsk/c0b0t2d0 在提示处敲入y,继续命令的执行。这时diskadd调用fdisk。 3)、创建分区: ●根据提示,敲入y,建立单个UNIX分区(把整个硬盘都划分给UNIX系统)并标记被激活状态。 ●根据提示,敲入n,创建分区。 4)、进行介质表面分析: ●根据提示,敲入y,跳过表面分析 ●根据提示,敲入n,进行表面分析 5)、敲入在这个硬盘上要创建的片数(文件系统数量) 6)、敲入用来安装这个文件系统的目录名字。目录名字必须是绝对路径名。如果这个目录不存在,应该创建它。 7)、敲入文件系统类型或按回车符,选择系统默认的vxfs。 8)、选择块的大小,按回车键使用默认的1024字节作为块的大小。 9)、敲回车键,则在系统重新引导时,自动的安装这个文件系统;敲入no,则不在系统重新引导时自动的安装文件系统。 10)、如果选择了安装一个以上文件系统,要再次进行第6至第9步。 11)、以柱面为单位指定文件系统的大小(1MB空间大约是一个柱面)。如果选择安装更多的文件系统,将提示要求指定附加的文件系统的长度。 12)、根据提示,敲入y,对文件系统长度进行确认。如果回答n,则必须重复第5至第11步,重新创建文件系统。 13)、敲入节点数量。 ●按回车键,为文件系统分配系统默认的节点数量 ●不使用默认值敲入节点数量 这样操作后,就可以为这个新的文件系统创建或移动文件到这个新的文件系统中。 管理VTOC表: 使用命令prtvtoc显示PDINFO(Physical Disk information物理硬盘信息)。可以在任何硬盘上运行这个命令,但它必须总是在片0上运行,格式: prtvtoc –p /dev/rdsk/c0b0t0d0s0 VTOC表还包含了片信息(片可以是文件系统、交换空间或由应用空间保留下的空间,比如留给数据库的空间等)。UNIX分区中,16片是默认创建的。与每片相关的信息包括: ●它的起始扇区和起始柱面 ●文件系统长度(或片的长度) ●片的类型(如root、boot、swap和stand) ●权限 默认情况下,prtvtoc命令显示片信息,命令: prtvtoc /dev/rdsk/c0b0t0d0s0 在命令中使用-f选项指定一个文件名,目的是把命令输出重新定向到这个文件中,命令格式为: prtvtoc –f /tmp/vtoc /dev/rdsk/c0b0t0d0s0
第十三章 控制用户和进程 运行命令: exce cal 执行这个命令后,屏幕上显示出本月日历并返回login提示。其中exce是一个shell命令,它不是系统命令,也不是系 统调用,它的功能是执行它后面给出的系统命令,但不创建新的进程。 轻型进程LWP(Light Weight Processes):要显示一个进程中各个LWP的状态,使用命令: ps –eL 轻型进程既可以是系统进程,也可以是用户进程。 系统进程:当使用ps命令显示系统中的进程状态时,tty字段的内容是问号“?”,则都是系统进程(守护进程)。它们与终端设备和用户都没有关系。下面几个是重要的守护进程,其ID号是固定不变的: sysproc PID 0 init PID 1 ifor_pmd 及 syslogd 用户进程:一般地都与终端设备关联,并通过唯一的ID号来标识。 使用ps –elf显示进程的详细信息,如下图:
F(Flag) 数字值表示一个或多个标志的组合。图中sysproc进程的值是3,它是标志1和2之和,即总是在主内存(1)被装入,并且是由它的父进程(2)跟踪的进程。 S(State of the process) 一个进程可以是下面几种状态中的一种: ●S 进程正在睡眠 ●R 处在准备运行的状态 ●O 进程正在CPU上运行 ●X 由于缺少内存,进程处于等待状态 ●Z 僵尸状态(进程死亡) ●I 正被创建的进程 ●T 正被跟踪的进程 CLS 这个进程的调度类别 PRI(Priority of a process)进程的优先级,取值范围为0——127。 NI(Nice value of the process)在进程被调度到CPU上运行时,这个值直接影响到进程状态优先级的计算。Nice值的取值范围为0——39,进程的默认nice值是20。 TIME 进程占用CPU的时间,表示格式为: 分:秒 COMD 进程的名字。 sar命令:默认情况下,显示的是在多处理器上跨全部CPU所计算出的平均值。使用-p选项,显示每个CPU的信息。 使用-u选项检查系统是否由于失去控制引起运行速度的下降,如下图:
%usr 表示运行用户进程所占系统时间的百分比 %sys 表示运行系统进程所占系统时间的百分比 %wio 表示由于进程等待I/O完成操作,系统处于空闲所占时间的百分比 %idle 表示没有可运行进程操作,系统处于空闲所占时间的百分比 如果%idle的值一直低于30%,可能存在CPU处理能力不足的问题。这时,可以运行ps命令,检查一下是否是由于失控的进程运行而导致CPU超常的使用。排除了这种可能,便可认为是由于CPU处理能力不足引起的%idle的值偏低。 要确定是否有不可接受的进程集结等待在处理器上运行,使用-q选项的sar命令可查看(图及解释略)。从显示的结果中,如果runq –sz的值大于2,并且%runocc大于90%,则表明CPU的负载较重,其直接后果,可能使系统的响应速度降低。解决的办法是更换CPU,使用功能更强的CPU或者增加多CPU。这将有助于改善系统响应时间。 要以60秒为间隔采集10分钟之内有关处理器活动的数据,使用命令: sar –q 60 10 sar命令的输出,可以直接在屏幕上显示,也可以重新定向到一个文件中。 timex命令:快速确定一个程序所使用时间的命令。例如,显示花在查询文件/etc/termcap中ansi标记所使用的时间,可以使用命令: timex grep ‘ansi’ /etc/termcap
第十四章 TCP/IP基础及网卡配置 这部分的东西都很简单的。也贴上来吧。
网络上每个节点都由一个IP地址来唯一标识。IP地址包括两个部分:网络号(标识每个简单网络)和网络上主机号。 在IP地址中,每个字节对应的十进制数范围是0-255,其中网络部分包括一个或一个以上字节,主机部分包括一个或一个以上字节。 A类:0—127 B类:128—191 C类:192—223 D类:224—239 E类:240—247 应该注意,IP地址的网络部分既不能每位都是“0”,也不能每位都是“1”。因此,A、B、C三类地址的网络部分取值范围(也是允许的网络数量)为: A类:1—126 B类:128.1—191.254 C类:192.0.1—223.255.254 网络掩码表明在一个IP地址中有多少位可以用于网络地址,有多少位用于主机地址。它决定了网络地址。在使用的掩码中,“1”表示网络地址位,而“0”表示主机地址位。网络掩码与IP地址对应位进行逻辑“与”(AND)运算,所得结果便是网络地址。 网络地址用来把网络划分成逻辑组,它是在路由表中使用。下表包含了A、B、C类IP地址、掩码和所产生的网络地址: 类 IP地址 网络掩码 网络地址 A 110.1.2.3 255.0.0.0 110.0.0.0 B 132.147.1.2 255.255.0.0 132.147.0.0 C 200.100.50.1 255.255.255.0 200.100.50.0 每一类网络,还可以进一步来划分为子网。这可以通过把IP地址中的主机地址某些位分配给网络地址来实现。网络掩码可以表示IP地址中有多少位被用于网络地址。子网通常被用来简化网络管理并且使拓展网络拓扑结构变为可能。 在网上,主机使用广播地址给网络上的全部主机发送数据。例如,如果网络接口的IP地址是132.147.20.17,它的网络掩码为255.255.255.0,那么,这个网络接口的广播地址就是:132.47.20.255。 可用的主机地址:一个网络上可以存在的主机数量取决于IP地址类型和它的网络掩码。可用下面的公式计算出一个网上最多可以允许的主机数量: 主机数量=2(32-n)-2 其中,n为IP地址中网络地址所占的位数。 例如,默认情况下: ●一个A类IP地址所支持主机数量为:224-2=16777214 ●一个B类IP地址所支持主机数量为:216-2=65534 ●一个C类IP地址所支持主机数量为:28-2=254 在计算主机数量的公式中,通过减2对理论值进行了修正。这是因为主机地址与网络地址有同样的要求,既不能每位全为“0”,也不能每位都为“1”。如果主机地址中的主机部分全为“0”,相当于这个IP地址只有网络地址,而没有主机地址;如果IP地址中的主机部分全为“1”,相当于网络的广播地址。 多目地址:应该切记,正常情况下,广播信息包不能通过路由器再次进行广播。这就意味着不能利用广播地址给多个不同网络上的主机发送报文。多目地址允许应用在多个不同网络上给选择出的一组主机发送数据。它是D类IP地址,地址范围从244.0.0.0到239.255.255.255。其中地址244.0.0.0被系统保留,地址244.0.0.1被指定给all hosts group。all hosts group包括全部主机和参与多目地址广播的全部路由器。 /etc/hosts文件是一个ASCII字符的文本文件。每一行描述网上的一个单一主机。每一行由两个或多个字段组成,字段之间由任意数量的空格或制表符(tab)隔开,形如: IP_address name [aliasname…] 使用这个文件的那些子程序将忽略这个文件的注释行(以“#”字符开头的文件行)和空行。 在该文件中,localhost(其中IP地址为127.0.0.0)是每台机器上一个专门的名字。它被用来检测TCP/IP软件和通过TCP/IP到同一系统(使用loopback网络接口)的通信。在使用编辑程序对/etc/hosts文件进行编辑时,不能修改这一行。 如果要经常删除某些节点或增加某些节点,都要修改该文件,非常麻烦,可以使用下面方法取代对/etc/hosts文件的作用: ●可以使用域名服务(DNS:Domain Name System)把主机名字解析为IP地址。 ●或者使用网络信息服务(NIS:Network Information Service)把主机名字解析为IP地址。 可以对地址解析程序进行适当配置,使它可以利用包括/etc/hosts文件、DNS和NIS等全部资源进行主机名字到IP地址的解析。 /etc/netconfig 网络配置数据库文件。 /etc/resolv.conf 名字解析配置文件。 把IP地址转换为硬件地址: 当用户从本地主机连接到另一个主机时,需要指定这台主机名。接着,通过/etc/hosts文件把这个主机名变换为IP地址。然后,IP地址还必须被变换为这个远程系统的硬件地址,这是由地址解析协议(ARP)完成的。 在/etc/inet/inet.df文件包含了一些控制地址解析协议的参数,修改这些参数可以影响到地址解析协议的特性。这些参数有: arpprintfs 用于ARP调试,它控制来自内核ARP驱动程序的告警信息。这些主控信息显示在主控台上。如果参数值为0(默认值),调试信息(即出错告警)则不出现在屏幕上。 arp_maxretries 在解析地址时重试的最大次数。超过这个数值将放弃本次地址解析。默认值为5,最小值为1,最大值为128。 arp_down 如果ARP检查失败,要保留这个不完整记录项多长时间。默认值20秒,最小和最大值分别为1秒和600秒。 arp_keep 设置有效记录项在ARP cache中保留的时间。默认为1200秒,最小和最大值分别为1秒和2400秒。 arp_prune 定期扫描ARP表,以确定哪些记录项陈旧过时了。该参数用来定义这个扫描间隔时间。默认为300秒,最小和最大值分别为1秒和1800秒。 注意,文件/etc/inet/inet.df1文件中的参数是由参数inconfig执行过程中自动进行修改的。而不能通过手工编辑的方法来改变这些参数。 arp 命令:可以查看ARP cache的内容。主要功能是显示和修改internet到Ethernet的地址变换表。格式: arp [-options] hostname 其中,hostname是主机的名字。可选项如下: -a 显示从核心表读出的当前全部ARP记录项。 -d hostname 删除指定主机的记录项。 -f filename 读filename指定的文件,按照这个文件的内容建立ARP表中的多个记录项。文件中的记录项的格式应该是: hostname hardware_addr [tmp] [pub] 其中,tmp、pub在-s选项中定义。 -s hostname hardware_addr [temp] [pub] 为选项中指定的主机创建具有硬件地址hardware-addr的ARP记录项。其中,如果没指定temp,则表明这个记录项是永久性的。如果指定了pub项,这个记录将被公布。就是说,这个系统将作为一个ARP服务器,响应对hostname指定的主机的请求。 -S 显示有关ARP的统计信息。对调试网络出现的问题有用。 端口:在文件/etc/inet/services中被定义。端口号小于1024的是特殊端口,只有root用户可以在这些端口上监听。如果新服务使用的端口号小于1024,那么这个服务器进程必须在root用户下执行。这样可能对系统产生潜在的影响。如果端口号大于或等于1024,这个服务器软件则可以在任何用户下运行。 TCP/IP层: Application layer(应用层) Transport layer(传输层) Internet layer(网际层或Internet层) Date link layer(数据链路层) physical layer(物理层) 在不同协议层上发送的数据具有不同的名字,这些名字是: messages(报文)在应用层和传输层之间传送 packets(信息包)在传输层和网络层之间传送 IP datagram(IP数据抱)在网络层和数据链路层之间传送 frames(帧)在数据链路层和物理层之间传送 配置网卡容错: 如果想知道某个驱动程序是否与IP容错兼容,可以查看系统上的文件:/etc/inst/nd/mdi/;/*.bcfg 这里,;是这个设备驱动程序的名字。 在这个目录中可以找到一个或多个.bcfg文件,如果这个文件包含了一行: FALLOVER=true 那么这个驱动程序就支持IP容错。 配置容错网卡的步骤为: 1)、使用Network Configuration Manager配置第一块容错的网卡。 2)、配置第二块作容错的网卡。当协议清单出现在配置窗口上时,选择“Backup device”协议。 3)、指明哪个网卡将用刚加的网卡做备份。选择在第1步所配置的网卡。 要强行启动容错,起用备份网卡,步骤: 1)、启动Network Configuration Manager 2)、从窗口中选择主网卡 3)、选择HardwareàSwitch to backup 要使通信重新回到主网卡,步骤: 1)、启动Network Configuration Manager 2)、从窗口中选择备份网卡 3)、选择HardwareàReuse Primary 要绕过网络接口的软件分量并测试网卡是否真正的工作,步骤: 1)、启动Network Configuration Manager 2)、选择这个网卡 3)、选择HardwareàTest Network Connectivity 如果屏幕提示的最后一行显示“Success”,表明一个信息包已经被加载到这个网卡,发送到网络上并且读回。因此,可以判断硬件是工作的。 Network Configuration Manager利用交互程序ndcfg管理网卡容错。ndcfg是一个通过命令行方式使用的程序。使用方法是运行ndcfg,并在屏幕提示下敲入: echo test net0 或 failover net0 或 failback net0 就可以完成前面的操作。net0代表第一个经过全面配置的网络接口。如果是路由器并且具有两个经过全面配置的网卡,则需要两个备份网卡。第二块主网卡的名字为net1。 在inconfig命令中,备份网卡的信息不被显示,是由于备份网卡没有配置IP协议栈。
第十五章 路由 一、把一个系统配置为路由 有两个子网,既net1和net2,路由器具有两块网卡,它们分别与子网net1、net2连接。每块网卡都有自己的主机名和IP地址。通过路由,IP信息包可以从一个网络传输到另一个网络上去。 1、安装附加网卡 使用Network Configuration Manager进行配置。注意在“Modify protocol configuration”配置后选择“Advanced options”项,在出现的窗口中选择“Act as router?”设置为yes 2、核心参数 ipforwarding和ipsendredirects,这两个参数包括在/etc/inet/inet.df1中。使用下面命令开启路由: inconfig ipforwarding 1 inconfig ipsendredirects 1 当ipforwarding被设置为1时,这个系统将按照一定的路线在它自己的不同网卡之间传送信息。例如,net0连接到150.200.75上,net2连接到150.200.76上。如果这个路由从网络150.200.75接收一个目的为网络150.200.76的信心包,那么这个路由器就会把这个信息包从net0发送到net1。 当ipforwarding被设置为0时,这个系统不会在它自己的不同网卡之间传送信息包。即一个网络上的系统在没有注册到路由器上之前,就不能访问其它网络上的任何系统(可以这样)。这使得网络管理员能够对允许哪些人访问网络进行控制。只有那些在路由器上拥有帐号的用户才能够访问其它网络。 应注意,在为一块网卡设置了参数后,就不必再为路由器上的其它网卡设置这个参数了。当明确要Network Configuration Manager配置gateway时,会把ipforwarding设置为1;否则,会把这个参数设置为0。 二、配置路由 1、直接的和间接的路由: Direct 一台主机不需要通过路由器就可以向另一台主机发送IP信息包。 Indirect 一台主机给另一台主机发送信息包时必须借助一个路由器时。 2、核心路由表,它所包含的字段为:目的网络IP地址(Destination)、网络掩码(Netmask)、下一跳(gateway)和网络接口(Interface)。 3、使用命令netstat –r可以查看核心的路由表;使用netstat –n选项来显示数字的IP地址代替名字。 4、修改路由 1)、手动修改路由、route命令 route命令格式: route [-nqv] keyword keyword-specific-arguments 其中: -n 在使用命令报告活动状态时,不使用主机名和网络名的符号形式。 -q 压缩全部显示输出 -v 使显示内容更详细 keyword可以是: add 增加一个路由 change 修改路由的某些方面,如它的gateway delete 删除指定的路由 flush 从路由表中删除全部的gateway记录项 get 查看并显示到目的地的路由 monitor 持续地报告有关路由的基本信息、路由查找失败、可疑的网络划分等方面的变化情况。 2)、默认的路由:分临时性路由和永久性路由 临时性路由:使用route命令配置。比如: route add default 150.200.75.3 永久性路由:使用以下其中的一种即可。 ●将路由作为文件/etc/inet/config的一个记录项。这样在起动系统加载ISL(Initial System Load)时,加入/etc/inet/config的记录项作为指定的默认路由。例如,要利用文件/etc/inet/config在主机1或2上创建默认的路由,在这个文件中加入下面一行: 4c : /usr/sbin/route : : y : : add default 150.200.75. 3 ●如果系统上运行着routed路由守护进程,可以在文件/etc/inet/gateways中增加相关的记录项,配置永久性默认路由。例如,要利用/etc/inet/gateways文件在主机1或2 上创建默认的路由,将下面一行记录加入到这个文件: net 0.0.0.0 gateway 150.200.75. 3 metric 1 passive 应该注意,在使用netcfg命令修改TCP/IP协议配置年个 设置一个默认路由时,这个路由也被以类似的方式记录在/etc/inet/gateways文件中。
| |
阅读(463) | 评论(0) | 转发(0) |