inittab文件剖析[CentOS 5.X](第二版)
inittab文件剖析[CentOS 5.X]
grep -v “^#” /etc/inittab | more #过滤掉以#开头的行
inittab文件格式
id:runlevels:action:process
id: 标识符,一般为两位数字或字母
runlevels: 运行级别,可以指定多个,若为空,则表示从0~6各个运行级别都执行
action: 指定运行状态
process: 制定运行的脚本或命令,最重要
/etc/inittab正文分析
语句1:
id:5:initdefault:
initdefault: 系统指定缺省启动的运行级别,系统默认启动的指令
5: 可以将其改为3默认启动字符界面,而不用启动图形界面
语句2:
si::sysinit:/etc/rc.d/rc.sysinit
/etc/rc.d/rc.sysinit作用:完成系统服务程序的启动,如:系统环境变量设置,系统时钟设置,加载字体,检查加载文件系统,生成系统启动信息日志等.
sysinit:系统启动执行process中的指令,无论哪个运行级别,只要系统启动,这个服务就会启动
附-如果你有一个服务,无论任何运行级别,都希望它在一开机就能自动运行,则可以将之写入/etc/rc.d/rc.sysinit文件中.
语句3:
l3:3:wait:/etc/rc.d/rc 3
/etc/rc.d/rc
作用:根据前文,判断默认运行级别调用/etc/rc.d/rc脚本,执行下面相应运行级别的目录中的服务程序,完成相应运行级别的初始化设置。
Linux服务保存目录:/etc/rc.d/rc[0123456].d
分别存放对应于运行级别的服务程序脚本的符号软链接,链接到init.d目录中的相应脚本
S-start: 系统启动时依次加载这些服务
K-kill : 系统关机时依次关闭这些服务【如果将文件名更改,则不会启动】
数字: 表示启动顺序,数字越小,优先启动
附-如果不想启动此服务只需将其改名即可,如:
mv S03-vmware-tools s03-vmware-tools #不会自动启动
/etc/inittab文件完整内容介绍
###表示当前缺省运行级别为5(initdefault);
id:5:initdefault:
###启动时自动执行/etc/rc.d/rc.sysinit脚本(sysinit)
# System initialization.
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
###当运行级别为5时,以5为参数运行/etc/rc.d/rc脚本,其他的会忽略,init将等待其返回(wait)
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
###在启动过程中允许按CTRL-ALT-DELETE重启系统
# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"
# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"
###在2、3、4、5级别上以ttyX为参数执行/sbin/mingetty程序,打开ttyX终端用于用户登录,如果进程退出则再次运行mingetty程序(respawn)
# Run gettys in standard runlevels
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
###在5级别上运行xdm程序,提供xdm图形方式登录界面,并在退出时重新执行(respawn)
# Run xdm in runlevel 5
x:5:respawn:/etc/X11/prefdm -nodaemon
系统相关的脚本,命令与日志
1./etc/rc.d/init.d
该目录保存了各运行级别的启动脚本。这样我们就可以手工启动/关闭系统中任何一个服务[与/etc/init.d/目录作用相同,在CentOS 5.x中/etc/init.d只是一个连接文件]
如:手动启动ssh /etc/rc.d/init.d/sshd #提示选项信息
2.dmesg:查看启动所有信息,查看硬件是否被内核所识别
dmesg | grep eth0 // 查看加载信息
dmesg | grep sda // 查看第一块硬盘加载信息
3.系统所有的目录文件都保存在/var/log文件目录下
检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误!
设置程序开机自启动
法1.生成软链接 ln -s
如: 编写脚本/etc/rc.d/init.d/msg.sh
data >> /root/msg.today who >> /root/msg.today free >> /root/msg.today
chmod u+x /etc/rc.d/init.d/msg.sh
ln -s /etc/rc.d/init.d/msg.sh /etc/rc.d/rc3.d/S100msg.sh
法2.chkconfig: 只能更改系统默认安装的服务
chkconfig --list #查看所有运行级别缺省状态下所有的启动程序
chkconfig --list sshd #只是显示sshd的启动情况
chkconfig --levels 2345 sshd off
Chkconfig 其他选项
法3、ntsysv
如果敲击ntsysv则是更改当前运行级别的启动设置
其他运行级别:ntsysv -- levels 3
[比较简单直观,但是很多UNIX系统并没有这个服务]
action常用取值:
1、 initdefault,sysinit
2、 wait:执行process中指定的命令,并等其结束再运行其他命令
once:执行process中指定的命令,不等待其结束
3、 ctrlaltdel:按下Ctrl+Alt+Del时执行process指定
4、 respawn:一但process指定的命令运行终止,则重新运行该命令
5、 powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当电源恢复时执行process指定的 命令的命令
Linux启动流程总图
inittab文件剖析[CentOS 5.X](第二版)的更多相关文章
- Linux操作系统(第二版)(RHEL 8/CentOS 8)
Linux操作系统(第二版)(RHEL 8/CentOS 8) http://www.tup.tsinghua.edu.cn/booksCenter/book_08172501.html Linux操 ...
- 《python基础教程(第二版)》学习笔记 文件和素材(第11章)
<python基础教程(第二版)>学习笔记 文件和素材(第11章) 打开文件:open(filename[,mode[,buffering]]) mode是读写文件的模式f=open(r' ...
- Linux操作系统(第二版)(RHEL 8/CentOS 8)——勘误表
Linux操作系统(第二版)(RHEL 8/CentOS 8)--勘误表 http://www.tup.tsinghua.edu.cn/booksCenter/book_08172501.html 本 ...
- Linux常用命令(第二版) --文件搜索命令
文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到 ...
- 转:嵌入式linux启动时运行的inittab文件
嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多.嵌入式系统下的linux启动过程一般是: 1 在bootloader中制定各种要 ...
- [转载]嵌入式linux启动时运行的inittab文件
源地址:https://www.cnblogs.com/yfz0/p/5853826.html 嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要 ...
- 分布式文件系统MFS(moosefs)实现存储共享(第二版)
分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- (转载)持续集成(第二版)[来自:Martin Fowler]
转载自:iTech的博客 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践.在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以 ...
随机推荐
- Android开发学习之路--Android Studio cmake编译ffmpeg
最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...
- uboot-tiny4412启动流程(下)----如何将自己的裸板测试程序加入uboot中启动测试
今天在工作上搞了一天高通的芯片uboot程序,目的是希望将一个裸板的程序移植到uboot中,并且开机让它运行.这个芯片是NXP4330,目前是高通的一个芯片,基于ARM-contexA9架构,那么就跟 ...
- ROS机器人程序设计(原书第2版)学习镜像分享及使用说明
ROS机器人程序设计(原书第2版)学习镜像分享及使用说明 系统用于ROS爱好者学习交流,也可用于其他用途,并不局限于ROS. 这款镜像文件是基于一年前的Ubuntu ROS Arduino Gazeb ...
- Dynamics CRM2016 Web API之Expand related entities & $ref & $count
本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会经常被用到而且比原来的odata方式更加方便,之前如果我们要取主实体下所有的关联实体的记录都是通过Retrieve Multi ...
- Ajax框架,DWR介绍,应用,例子
使用Ajax框架 1. 简化JavaScript的开发难度 2. 解决浏览器的兼容性问题 3. 简化开发流程 常用Ajax框架 Prototype 一个纯粹的JavaScript函数库,对Ajax提供 ...
- dos2unix批量转换的一种方法
Linux本身提供了dos2unix和unix2dos两个命令来实现Windows和Linux文件的转换. 少量文件转换: 对于单个或少量的文件转换,可以直接使用命令,如: dos2unix file ...
- C库源码中的移位函数
#include <stdio.h> /* _lrotr()将一个无符号长整形数左循环移位的函数 原形:unsigned long _lrotr(unsigned long value,i ...
- ROS_Kinetic_x 基於ROS和Gazebo的RoboCup中型組仿真系統(多機器人協作)
國防科學技術大學發布了RoboCup中型組仿真平臺,基於ROS和Gazebo設計. 該平臺可以用於多機器人協作研究.參考資料如下: ROS新聞:1 http://www.ros.org/news ...
- Ubuntu下安装GTK环境
要生成C图形界面的程序,得安装GTK环境 安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包.除此之外还要转一些其他的 东西,如libglib2.0 ...
- 基于V4L2摄像头采集图片程序设计
#ifndef __COMMON_H #define __COMMON_H //该头文件定义的是摄像头在屏幕上显示的宽度和高度 #include<stdio.h> #include< ...