从Openboot启动时(boot),solaris有几种不同的操作模式(运行级别,run level)。与Linux类似,这些初始化脚本一般作为sh脚本在/etc/init.d目录中创建,然后被符号链接到各个运行级别的目录。0 进入PROM状态(OK状态) ,进入硬件维护模式,脚本目录/etc/rc0.d
1 管理状态(所有文件系统都挂上的单用户模式,禁止其他用户登录),脚本目录/etc/rc1.d
2 多用户模式(没有网络文件共享服务), /etc/rc2.d
3 多用户模式(有网络文件共享服务) , /etc/rc3.d
4 未使用
5 退出操作系统并关机,电源关闭固件状态,/etc/rc5.d
6 重新启动机器 ,OS挂起等待重新启动,单用户,/etc/rc6.d
S, s 单用户模式 ,管理任务和修复文件系统。 /etc/rcS.d
使用init 可以在不同级别间手工切换:
#init 6
#who –r 查看当前运行级别
/etc/inittabinittab定义了: (1)系统缺省运行级别 (2)系统进入新运行级别需要做什么;
控制脚本和目录
每一个控制脚本目录下都包括与服务启动文件相关联的一组符号联接,每个链接的脚本都以字母S(Start)或者K(kill)开头。当系统引导时,进程启动;当系统关闭时,进程被杀死。如在/etc/rc0.d目录下,显示的都是以K开头的脚本文件。
另外,脚本按数字顺序执行,如脚本/etc/rc3.d/s20 dhcp总是比/etc/rc3.d/s2lsshd先执行。
例如,可以手工执行某一个启动脚本:例如,升级一个web站点,需要关闭web server几分钟,可以执行:
#/etc/rc2.d/s99webserver stop
然后重新启动:
#/etc/rc2.d/s99webserver start
实际上在/etc/init.d目录下包括了所有的运行控制脚本,并创建符号链接到相应的rc4.d和rc3.d目录下。如:
#vi /etc/init.d/webserver
在上述脚本中添加必要的内容后,可以建立符号链接:
#ls –s /etc/init.d/webserver /etc/rc2.d/S99webserver.
启动过程
solaris有八种运行级别,但是常用的只有五种:运行级别S,级别2、3、5、6
在S模式下,常使用以下命令招待管理任务和修复破损文件系统:
#/usr/sbin/fsck
关闭过程
在系统运行时可以进行以下操作:drvconfig命令来识别大多数的新型硬件设备,而不用重新启动。
#shutdown 用于改变操作系统运行级别。
#shutdown –i 5 –g 60 “System will be powered of for maintenance. Logout now.”
系统将在60秒后重新启动进入级别5.
#halt 进入0运行级别
#poweroff 关闭系统并切断电源
#reboot 重新启动系统,进入默认的级别。
在系统养老前,可以采用多种方法来警告用户,一种是编写日志文件/etc/motd,用户在每次通过shell登录后,就会显示这条信息。另一种方法是使用“写全部”命令,它向所有已登录用户发送信息,
#wall
System server will be shutdown at 5 p.m. 2/12/2009.
Exptected downtime : 1hour
^d
注上面^d代表ctrl+d结束输入。
#who
查看有哪些用户不在。
#write user1
dear user1,
….
Ctrl+d
上面是直接通知某一用户user1。
也可以使用talk:
#talk user1
命令参考:
/sbin/init
/etc/inittab