inittab文件剖析[CentOS 5.X](第二版)

简介: inittab文件剖析[CentOS 5.X]grep -v “^#” /etc/inittab | more #过滤掉以#开头的行 inittab文件格式id:runlevels...

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启动流程总图

 

目录
相关文章
|
7月前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
170 0
|
JSON Linux 数据格式
百度搜索:蓝易云【Centos 7 通过 targz 文件安装 Elastic Search 服务教程!】
请注意,本教程提供了基本的安装步骤,并且可以根据实际需求进行定制和配置。如果需要更深入的了解和配置,请参考Elasticsearch官方文档或其他权威资源。
327 0
|
7月前
|
网络协议 Unix Linux
Centos下nfs+rpcbind实现服务器之间的文件共享
Centos下nfs+rpcbind实现服务器之间的文件共享
289 0
|
7月前
|
Java Shell Linux
解决 centos下执行sh文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
解决 centos下执行sh文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
1090 0
|
4月前
|
Linux
2022年超详细如何使用Xftp连接CentOS 7来进行文件的传输【详细过程、图解】
这篇文章提供了使用Xftp工具连接到CentOS 7虚拟机进行文件传输的详细步骤和图解。步骤包括打开Xftp软件、创建新连接、查看并填写虚拟机的IP地址、输入虚拟机的连接账号密码,以及连接成功后进行文件传输。文章最后以"现场手撸、学无止境"作为结束语,鼓励读者不断学习和实践。
|
5月前
|
Linux Shell
Centos定期自动清理临时文件
简单Shell脚本清理临时文件 使用`cron`设置定时任务,如每天8点运行: 记得调整路径和脚本名以匹配你的环境。
142 5
|
7月前
|
Linux
Centos7.4升级7.9失败,救援:/boot目录下文件丢失error: file ‘/initramfs-3.10.0-957.el7.x86_64.img‘ not found
以上步骤应该可以帮助你解决问题。如果问题仍然存在,可能需要更深入的排查。
195 1
|
7月前
|
存储 关系型数据库 Linux
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件
99 4
|
7月前
|
Linux API 网络安全
centos7 图文详解精确同步企业实战 rsync include 同步指定文件exclude排除文件
centos7 图文详解精确同步企业实战 rsync include 同步指定文件exclude排除文件
74 0
|
7月前
|
网络协议 Linux 网络安全
centos7下最简单的 unison实现文件双向同步图文详解
centos7下最简单的 unison实现文件双向同步图文详解
203 0
下一篇
DataWorks