电脑技术学习

Solaris 引导与初始化

dn001


  任何时候,系统处于以下8种可用的运行级别中:0~6、S=s。/sbin/init 或/etc/telinit(link)的主要功能是根据/etc/inittab文件中的定义创建其子进程。
   操作系统引导期间,init进程被激活并从/etc/default/init读取有关时区和语言等的环境变量,随后检查/etc/inittab(如不存在,则提示用户输入)中的缺省level,并spawn("孵化")该级别定义的所有进程。
   初始化结束后,init进程进入等待状态,等候以下事件发生:定义为respawn类型的子进程终止;电源失败信号;其它init进程改变系统的运行级别。
   /etc/inittab文件中可以加入新的条目,可以用init -q来强制init进程立即重新查看该文件中的信息。
   收到改变运行level请求后,init进程向每个未被目标level定义的进程发出警告信号SIGTERM,并再5秒后发出SIGKILL信号强行终止这些进程
   进程被创建时在/var/adm/wtmp中有记录,终止时在/var/adm/utmp有记录。
   收到SIGPWR信号后,init进程检查/etc/inittab中有关powerfail 和powerwait类型的条目,并立即执行。
sync命令可以同步硬盘缓冲。

运行等级包括(常用到的有3、S、0、6):
   0:firmware,可以安全关机。
   1:系统管理员状态,mount所有文件系统,保留一小部分基本的内核进程,无用户登录。
   2:多用户状态
   3:扩展多用户状态,所有资源在网络上可用
   4:可被定义为可选的多用户状态,
   5:为关闭电源而将系统shut down
   6:停止OS并reboot到缺省的level.
   S=s,单用户状态,仅有root自己登录。

  命令init的参数还有:
   a,b,c:执行inittab中的特定命令但不改变当前运行等级。
   Q=q,重新检查/etc/inittab
   shutdown命令可以进入S等级

关机:
   通常情况下,系统是被设计连续运行的,但是当发生以下情况时可能需要关闭系统:在S等级下进行系统维护;改变系统的硬件配置;发生系统崩溃等严重故障;进行环境调整需要停电等。
   shutdown 命令发出后,系统以约定的格式发出7200、3600、1800、1200、600、300、120、60、30秒警告。
   缺省为在60秒后进入状态S,可以使用的参数有:
   -y 跳过提示确认
   -i 进入制定的等级状态
   -g 关机等待时间
   在系统停止响应后,应首先尝试以下控制键序列:^Q、^C、^D、^X;然后可试图用kill方法杀死挂起的进程,不得已时才使用紧急关机。
   紧急关机时,首先尝试STOP-A,进行硬盘同步并重新启动;最后尝试直接关闭电源。

无用户帐号可登录:
   #boot -s
   修改 /etc/default/login文件

忘记root口令:
   #boot cdrom -sw
   cd /
   mount /dev/dsk/c0t0d0s0 /mnt
   cd /mnt/etc
   修改shadow
   umount /mnt
   reboot


标签: