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 查看此服务在文件中的信息