分类:
2007-05-21 15:45:50
à 启动与退出
n 可通过openboot prom 设置引导内核,修改系统配置参数,如引导盘等,测试网络连接,还可在引导前编写执行FORTH程序等
n x86可在shell下用eeprom命令修改,配置存与/boot/solaris/bootenv.rc中
n 通过高效的内核设计和用户应用模型来最大限度的提高系统正常运行时间,很少需要重新引导系统,它的应用程序与系统配置选项在逻辑上是分开的。许多硬件级的安装配置都不需重新启动系统,许多tcp/ip选项可通过#ndd /dev/tcp来配置
à 系统初始化
n 从openboot启动引导后系统可以有多种不同的操作模式,即运行级别run level,也叫init状态
n 每个运行级别对应一个运行控制脚本,而每个脚本对应一个运行控制脚本目录,负责运行该目录所有脚本
n 目录中定义了该运行级别运行哪些服务或者进程以及启动和关闭的顺序,/sbin/rc0负责/etc/rc0.d目录的所有脚本运行
à 系统启动
级 | 脚本 | 目录 | 用户状态 | 描述 |
0 | Rc0 | /etc/rc0.d | 控制台访问 | 硬件维护模式,每个脚本都存在/sbin目录中,在/etc下只是个符号链接 |
1 | Rc1 | /etc/rc1.d | 单用户 | 管理状态,只能使用root文件系统,通常即slice0,S级别可能挂载/ /usr /proc等 |
2 | Rc2 | /etc/rc2.d | 多用户 | 无NFS,网络资源不可用 |
3 | Rc3 | /etc/rc3.d | 多用户 | 最常用状态 |
4 | N/A | | 自定义 | |
5 | Rc5 | | 控制台访问 | 电源关闭 |
6 | Rc6 | | 多用户(重起) | 重新引导系统 |
S | RcS | /etc/rcSd | 控制台访问 | 管理任务和受损文件系统恢复等,如# /usr/sbin/fsck;CTRL-D退出S进入正常引导 |
n /sbin/init进程专门负责控制进程启动,在OPENBOOT完成内核引导后,Init读取/etc/default/init中的系统环境变量如时区变量等,并对当前运行级别进行设置,然后读取/etc/inittab文件,根据该文件的initdefault项设置init状态级别
n init读取了inittab中所有项并生成所有进程后进入等待状态,知道收到一个改变系统init状态的信号,就重新读取inittab文件,可用命令 # init q 来强行重新读取/etc/inittab
n init S;执行该命令之前最好执行sync;确保目前所有数据操作全部结束,以免损害文件系统
à 系统关闭
#Shutdown –i 5 –g 60 “system will be power off,logout now” | 进入级别5(0156S可选),60秒后等待root用户确认关机 |
#reboot –l -- -r 重新引导进入默认级别 | -- -r表示使用boot命令参数-r重新识别硬件,-l不记录系统停机信息 |
#poweroff –n 强行关闭电源 | -n 表示不刷新超级块,通常要刷新保证数据操作完成以免文件系统受损 |
#halt -q 强行进入OpenBoot PROM监视器 | -q 不作任何操作直接执行命令;三条命令都支持-lnq选项 |
à 脚本编写
n 脚本基本格式/etc/init.d下可看许多脚本范本,system V建议所有脚本都放在init.d目录,
n #ln –s /etc/init.d/webserver /etc/rc3.d/S99webserver-------------webserver需要在init3运行,就在rc3.d目录建立符号链接
n #sh /etc/rc3.d/S99webserver start|stop------------------------------有些不用敲sh
à /etc/inittab文件详细解说
ID | Runlevel | Action | command |
p3: | s1234: | powerfail: | /usr/sbin/shutdown –i 5 –g0 >/dev/msglog 2<>/dev/msglog |
n ID:2位唯一标识
n Runlevel:s、a、b、c、1、2、3、4、5、6,如果所有运行级别都要运行则不用指定此项
n Action:所执行命令的进程特征,可解释为系统如何运行该程序
n Action:initdefault、sysinit、boot、respawn、initdefault、wait、powerfail、powerwait
n 例如respawn当一个应当运行的进程没有运行时,该项确保让init重新生成该进程
n 例wait在启动进程后会一直等待它的执行完成并进入指定的运行级别,但在同一运行级别重新读取inittab时该项被忽略
n Command:要运行的程序名称
à 涉及的命令和文件
Drvconfig | devfsadm的前身,作用认知新设备 |
/etc/motd | 登陆系统时的欢迎和提示信息 |
Wall | 对当前已登陆的所有用户终端发出信息,换行;CTRL+D结束输入;CTRL+C结束和退出 |
Write rainfox | 向当前用户rainfox发出信息 |
Talk user@host | Talk rainfox;talk rainfox@s10a;请求和rainfox用户进行通话 |