linux 引导流程二

grep -v  “^#” /etc/inittab | more

提取etc文件中的有效行。

用命令man 可以获得配置文件和命令的帮助信息。配置文件必须是系统的配置文件或系统默认安装的某个服务的配置文件,而不是第三方安装的某个服务。

Man  inittab 注意不能写路径名。直接写文件名即可。

Id:runlevels:action:process

在这个配置文件中就是包含这四部分,用冒号分割了这四部分。

Inittab 文件剖析

在inittab中,,所有条目采取以下格式:

id : runlevels : action : process

Id: 标识符,一般为两位字母或数字,1-4位的字母或数字都可。

Runlevel: 指定运行级别,可以指定多个, 不写表示全部级别可执行。

Action: 指定运行状态

Process: 指定要运行的脚本/命令  (核心部分),前三部分是process的修饰。

Action常用取值

Initdefault:指定系统缺省启动的运行级别

Sysinit:系统启动执行process中指定的命令

Wait:执行process中指定的命令,并等其结束再运行其他命令

Once:执行process中指定的命令,并不等待其结束

Ctrlaltdel:按下ctrl+alt+del时执行process指定的命令

Powerfail:当出现电源错误时执行process指定的命令,不等待其结束

Powerokwait:当电源恢复时执行process指定的命令

Respawn:一旦process指定的命令中止,便重新运行该命令

Id:5:initdefault:                     指定系统缺省启动的运行级别。系统缺省启动的运行级别由这条语句定义,这条语句将其定义为5。如果希望将电脑成为服务器,并不希望启动图形化界面。可将运行级别改为2或3。但不要将其改为1或6

Si::sysinit:/etc/rc.d/rc.sysinit   只要系统启动就会执行,完成系统服务程序启动,如系统环境变量设置,设置系统时钟,加载字体,检查加载文件系统,生成系统启动信息日志文件等。是一个shell脚本。如果有一个操作或是脚本命令在系统每次启动时都需执行则可写入此文件。

L0:0:wait:/etc/rc.d/rc 0

L1:1:wait:/etc/rc.d/rc 1

L2:2:wait:/etc/rc.d/rc 2

L3:3:wait:/etc/rc.d/rc 3

L4:4:wait:/etc/rc.d/rc 4

L5:5:wait:/etc/rc.d/rc 5

L6:6:wait:/etc/rc.d/rc 6      /etc/rc.d/rc 此脚本判断系统的缺省运行级别,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置。缺省的运行级别执行第几行。

/etc/rc.d/rc[0123456].d 分别存放对应于运行级别的服务程序脚本的符号链接,连接到init.d目录中的相应脚本。如果缺省启动级别是3,那么会找到/etc/rc.d/rc 条目,读取/etc/rc.d/rc3.d下的脚本,完成后续引导。在/etc/rc.d下有如下 init.d  rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d

Rc.sysinit rc.local  rc

在rc[n].d中保存了启动的脚本,这些脚本分为两类。一种S开头一种K开头。s表示start  k表示kill  S是启动的 K是不启动的。再运行级别切换时判断开启关闭。数字表示启动的顺序,小的优先,接下来是脚本名称。

一个基本的原则是授予用户最少的权限,启动最少的服务。因为这样可以保证系统的安全性和性能。比如S03vmware-tools 是linux下的虚拟机服务。如果不适用则可将其禁用。禁用方法为改名:mv  S03vmare-tools  s03vmare-tools  只要不是大写的S此服务就不会被启用。

s只是标记为我们改的,便于以后改回。删除虽然也可,但日后使用变得麻烦。

1:2345:respawn:/sbin/mingetty   tty1

2:2345:respawn:/sbin/mingetty   tty2

3:2345:respawn:/sbin/mingetty   tty3

4:2345:respawn:/sbin/mingetty   tty4

5:2345:respawn:/sbin/mingetty   tty5

6:2345:respawn:/sbin/mingetty   tty6

在2345级别下启动终端。Ctrl+alt+f1-f6可启动按ctrl+alt+f7回到图形界面。Respawn表示用命令exit退出后,终端并未被中止。而是被初始化。

Inittab的主要选项有如下几个:

Grep -v  “^#” /etc/inittab

Id:3:initdefault:

Si::sysinit:/etc/rc.d/rc.sysinit

L0:0:wait:/etc/rc.d/rc 0

L1:1:wait:/etc/rc.d/rc 1

L2:2:wait:/etc/rc.d/rc 2

L3:3:wait:/etc/rc.d/rc 3

L4:4:wait:/etc/rc.d/rc 4

L5:5:wait:/etc/rc.d/rc 5

L6:6:wait:/etc/rc.d/rc 6

Ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Pf::powerfail:/sbin/shutdown -f -h +2 “power failure: system shutting down”

pr:12345:powerokwait:/sbin/shutdown -c “power restored;shutdown cancalled”

1:2345:respawn:/sbin/mingetty   tty1

2:2345:respawn:/sbin/mingetty   tty2

3:2345:respawn:/sbin/mingetty   tty3

4:2345:respawn:/sbin/mingetty   tty4

5:2345:respawn:/sbin/mingetty   tty5

6:2345:respawn:/sbin/mingetty   tty6

目录/etc/rc.d/rc3.d有对应的目录 /etc/rc3.d 此目录都是软连接目录。

在系统启动后如何启动关闭某些服务可使用/etc/rc.d/init.d  目录下的脚本。此目录包含各个运行级别的服务程序脚本。Linux安装时所安装的服务的启动脚本都在此目录下。

/etc/rc.d/init.d/sshd  直接回车显示此脚本的使用方法

/etc/rc.d/init.d/sshd start  启动此服务

Stop  停止此服务

Restart  重启此服务,先执行stop再执行start

Reload  不需重启服务,只是重新读取读取配置文件

Condrestart  检测服务是否在运行,在运行则执行restart,没有不会执行。

Status   显示服务的状态运行或停止。

/etc/init.d   软连接目录

/etc/rc.d/rc[n].d 里边是软连接文件,原文件在/etc/rc.d/init.d中

如何自启动一个新的服务?

Vi  /etc/rc.d/init.d/msg.script

Chmod u+x  /etc/rc.d/init.d/msg.script

Ln -s /etc/rc.d/init.d/msg.script  /etc/rc.d/rc3.d/s100msg.script在运行级别3启动此脚本

将现有服务启动或关闭

将大写的S改为s或k

将大写的K改为S

用命令

Chkconfig  --list  列出所有服务

Chkconfig  --list  ssshd 列出特定服务

Chhkconfig  --levels  2345  sshd   off  将服务2345在级别2345 上关闭

Ntsysv  --level 3

Ntsysv 当前

Dmseg    列出的是内核驱动硬件的信息

Dmesg  | grep eth0  查看网卡

Dmesg  | grep eth1  查看网卡

Dmesg  | grep sdb  查看硬盘

Linux下所有的日志文件都存放在 /var/log中,其中有一个文件messages,发现启动过程中某个服务出现异常,可以查看此文件

Grep  sshd   /var/log/messages  查看此服务在文件中的信息

上一篇:《杜增强讲Unity之Tanks坦克大战》2-场景设置


下一篇:3D坦克大战游戏源码