当前位置:操作系统 > Unix/Linux >>

Solaris培训第六章:启动过程

启动有四个阶段

  Boot PROM 阶段

  Boot program 阶段

  Kernel 初始化阶段

  /sbin/init 阶段

  启动过程:

  自检、显示系统信息、读取启动设备的0扇区、在启动设备寻找启动程序、加载启动程序、启动内核、运行/sbin/init。

  /sbin/init程序

  读取/etc/inittab文件。Init程序执行/sbin/rc*脚本。

  系统有多种运行级别,不同的运行级别所启动的服务不同。

  系统运行级别有8种,分别为:

  运行级别 意义

  0 进入PROM状态(OK状态)

  1 管理状态(所有文件系统都挂上的单用户模式,禁止其他用户登录)

  2 多用户模式(没有网络文件共享服务)

  3 多用户模式(有网络文件共享服务)

  4 未使用

  5 退出操作系统并关机

  6 重新启动机器

  S,s 单用户模式

  who命令查看运行级别

  # who -r

  . run-level 3 5月 10 17:03 3 0 S

  可得到的信息:当前运行级别是3,系统启动的时间是5月10日17:03.

  /etc/inittabinittab定义了:

  系统缺省运行级别

  系统进入新运行级别需要做什么

  /etc/init.d目录包含了系统的一些启动脚本

  /etc/rc1.d目录包含进入运行级别1所需要运行的一些脚本

  /etc/rc2.d目录包含进入运行级别2所需要运行的一些脚本

  ...

  ...

  这些目录下包含两种文件:

  以K打头,后面跟两个数字以及一些字符串:表示系统到这个运行级别时所需要停止的一些服务,系统将以stop调用这个脚本。

  以S打头,后面跟两个数字以及一些字符串:表示系统到这个运行级别时所需要开始的一些服务,系统将以start调用这个脚本。

  增加启动控制脚本

  1.Identify the run level for the service

  2.Determine which services are needed by the new process

  3.Change to /etc/rc#.d and identify startup script

  4.Repeat the process for the directory containing the shutdown script

  5.create the startup (shutdown) script in /etc/init.d

  6.create hard links to appropriate /etc/rc#.d directories

  7.test

  改变运行级别

  init命令用于改变操作系统的运行级别。

  命令格式:

  init [ 0123456Ss ]

  # init 0

  INIT: New run level: 0

  The system is coming down. Please wait.

  System services are now being stopped.

  

  Print services stopped.

  Stopping the syslog service.

  syslogd: going down on signal 15

  Aug 14 14:54:30 snmpdx: received signal 15

  The system is down.

  syncing file systems... done

  Program terminated

  Type help for more information

  ok

  shutdown

  用于改变操作系统运行级别。

  命令格式:

  shutdown [ -y ] [ -g seconds ] [ -i init-state ] [message]

  选项:

  y 系统提示时默认回答为YES

  g 过多长时间改变

  i 想要的运行级别

  message 给所有登录用户的信息

  # shutdown -y -g 0 -i 0

  Shutdown started. Mon Dec 15 15:13:57 PST 1997

  Broadcast Message from root (console) on mcmurdo Mon Dec

  15 15:13:57...

  THE SYSTEM IS BEING SHUT DOWN NOW ! ! !

  Log off now or risk your files being damaged

  Changing to init state 0 - please wait

  ok

  halt
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,