Solaris 的引导与初始化
发布时间:2006-10-14 8:47:48   收集提供:gaoqian

  任何时候,系统处于以下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


 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50