Linux /etc/inittab设置系统默认运行级别

Linux /etc/inittab设置系统默认运行级别教程

在 CentOS 6.x 中,/etc/inittab 配置文件只能用来设置系统的默认运行级别。其实 Linux 是通过运行级别来确定系统启动时到底启动哪些服务的。Linux 默认有 7 个运行级别,具体如下表所示:

运行级别 含 义
0 关机
1 单用户模式,可以想象为 Windows 的安全模式,主要用于系统修复
2 不完全的命令行模式,不含 NFS 服务
3 完全的命令行模式,就是标准字符界面
4 系统保留
5 图形模式
6 重新启动

在 Linux 系统中可以使用 runlevel 命令来查看系统的运行级别,命令如下:

runlevel

运行后,终端输出如下:

04_Linux etc inittab详解.png

其中,N 代表在进入这个级别前,上一个级别是什么;3 代表当前级别,在这个命令的结果中,“N 3” 中的 N 代表在进入这个级别前,上一个级别是什么;3 代表当前级别。“N” 就是 None 的意思,也就是说,系统是开机直接进入 3 运行级别的,没有上一个运行级别。那如果从图形界面切换到字符界面,再查看运行级别,就应该是这样的:

[root@localhost ~]# runlevel 5 3 # 代表由 5 级别进入 3 级别

那么,可以手工改变当前的运行级别吗?当然可以了,只需使用 init 命令(注意这不是 init 进程)即可,命令如下:

root@localhost ~]# init 5 # 进入图形界面,当然要已经安装了图形界面才可以 [root@localhost ~]# init 0 # 关机 [root@localhost ~]# init 6 # 重新启动

不过要注意,使用 init 命令关机和重启并不是太安全,容易造成数据丟失。所以推荐大家使用 shutdown 命令进行关机和重启。

系统默认运行级别

Linux 的 /etc/inittab 配置文件的功能就是确定系统的默认运行级别,也就是系统开机后会进入那个运行级别。此文件的内容如下:

# inittab is only used by upstart for the default runlevel. # # ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # System initialization is started by /etc/init/rcS.conf #系统会先调用/etc/init/rcS.conf # Individual runlevels are started by /etc/init/rc.conf #在调用/etc/init/rc.conf,在不同的运行级别启动不同的服务 # Ctrl-Alt-Delete is handled by/etc/init/control-alt-delete.conf #通过这个配置文件判断Ctri+Alt+Delete热启动键是否可用 # Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf, # with configuration in /etc/sysconfig/init. #判断系统可以启动的本地终端数量及终端的基本设置(如颜色) # For information on how to write upstart event handlers, or how # upstart works, see init(5), init(8), and initctl(8). # # Default runlevel. The runlevels used are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5-X11 # 6 - reboot (Do NOT set initdefault to this) #很眼熟吧,就是刚刚的 0~6运行级别的说明 id:3:initdefault: #这就是系统的默认运行级别,也就是系统开机后直接进入哪个运行级别

注意,这里的默认运行级别只能写 3 或 5,其他的级别要么是关机重启,要么是保留或单用户,都不能作为系统默认运行级别。

Linux /etc/inittab设置系统默认运行级别详解总结

在 CentOS 6.x 中,/etc/inittab 配置文件只能用来设置系统的默认运行级别。其实 Linux 是通过运行级别来确定系统启动时到底启动哪些服务的。