HCRM博客

如何在CentOS中配置和使用inittab文件?

CentOS Inittab 文件详解

一、背景介绍

如何在CentOS中配置和使用inittab文件?-图1
(图片来源网络,侵权删除)

在 CentOS 系统中,/etc/inittab 文件是一个关键的系统配置文件,用于定义系统的运行级别和启动行为,该文件配置了系统在不同运行级别下应该执行的任务和进程,理解并正确配置inittab 文件对于系统管理员来说至关重要,本文将详细解析inittab 文件的结构和各项配置,提供全面的信息和示例。

二、inittab 文件

/etc/inittab 文件由多个字段组成,每个字段之间用冒号(:)分隔,这些字段包括:

id: 标识符,一般为两位数字或字母。

runlevels: 运行级别,可以指定多个,若为空则表示从0到6各个运行级别都执行。

action: 指定运行状态,如 initdefault, sysinit, wait, respawn 等。

如何在CentOS中配置和使用inittab文件?-图2
(图片来源网络,侵权删除)

process: 要执行的命令或脚本。

三、文件格式与字段解释

id:5:initdefault:

id:5 标识符,表示默认运行级别。

runlevels:5 系统默认启动的运行级别。

action:initdefault 指定这是系统的默认运行级别。

process: 无 该行不需要指定具体进程。

如何在CentOS中配置和使用inittab文件?-图3
(图片来源网络,侵权删除)

2. si::sysinit:/etc/rc.d/rc.sysinit

id:si 标识符,表示以单用户模式启动时进行系统初始化。

runlevels:: 空值,表示所有运行级别都执行。

action:sysinit 系统初始化动作。

process:/etc/rc.d/rc.sysinit 系统初始化脚本。

3. l0:0:wait:/etc/rc.d/rc 0

id:l0 标识符。

runlevels:0 运行级别0。

action:wait 等待进程完成。

process:/etc/rc.d/rc 0 运行级别0的初始化脚本。

4. l5:5:wait:/etc/rc.d/rc 5

id:l5 标识符。

runlevels:5 运行级别5。

action:wait 等待进程完成。

process:/etc/rc.d/rc 5 运行级别5的初始化脚本。

5. l3:3:wait:/etc/rc.d/rc 3

id:l3 标识符。

runlevels:3 运行级别3。

action:wait 等待进程完成。

process:/etc/rc.d/rc 3 运行级别3的初始化脚本。

6. ca::ctrlaltdel:/sbin/shutdown t3 r now

id:ca 标识符。

runlevels:: 空值,表示所有运行级别都执行。

action:ctrlaltdel 捕捉 Ctrl+Alt+Del 组合键。

process:/sbin/shutdown t3 r now 重启命令。

7. pr:12345:powerokwait:/sbin/shutdown c "Power Restored; Shutdown Cancelled"

id:pr 标识符。

runlevels:12345 运行级别2、3、4、5。

action:powerokwait 电源恢复后的等待操作。

process:/sbin/shutdown c "Power Restored; Shutdown Cancelled" 取消关机命令。

8. 1:2345:respawn:/sbin/mingetty tty1

id:1 标识符。

runlevels:2345 运行级别2、3、4、5。

action:respawn 进程结束后重新启动。

process:/sbin/mingetty tty1 打开虚拟终端。

9. x:5:respawn:/etc/X11/prefdm nodAEmon

id:x 标识符。

runlevels:5 运行级别5。

action:respawn 进程结束后重新启动。

process:/etc/X11/prefdm nodaemon 图形界面登录管理器。

四、运行级别详解

CentOS 支持多种运行级别,每个运行级别对应不同的系统状态:

0: 停机(关闭系统)。

1: 单用户模式,常用于维护和故障排除。

2: 多用户模式,无网络服务。

3: 完全多用户模式,带网络服务但无图形界面。

4: 未分配(用户自定义)。

5: 完全多用户模式,带图形界面。

6: 重启系统。

五、相关命令与工具

1. systemctl setdefault

用于设置默认目标(相当于运行级别)。

systemctl setdefault multiuser.target # 设置为运行级别3
systemctl setdefault graphical.target # 设置为运行级别5

dmesg

查看系统启动信息和硬件状态:

dmesg | grep eth0 # 查看网络接口信息
dmesg | grep sda # 查看硬盘信息

chkconfig

管理服务的运行级别:

chkconfig list # 查看所有服务的状态
chkconfig level 3 httpd on # 设置 httpd 在运行级别3启动

六、常见问题与解答(FAQs)

Q1: /etc/inittab 文件在 CentOS 7 中还存在吗?为什么?

A1: 在 CentOS 7 及更高版本中,/etc/inittab 文件仍然存在,但不再用于设置运行级别,CentOS 7 使用 systemd 作为其初始化系统,所有的启动和运行级别管理都通过 systemd 进行,修改/etc/inittab 文件不会影响系统的启动行为,相反,应使用systemctl 命令来管理系统和服务。

Q2: 如果我希望 CentOS 7 开机默认进入字符界面而不是图形界面,应该怎么做?

A2: 你可以通过设置 systemd 的默认目标来实现这一点,你需要将默认目标设置为多用户目标(相当于运行级别3),这会引导系统进入字符界面,可以使用以下命令:

systemctl setdefault multiuser.target

重启系统使更改生效:

reboot

这样,系统将在下次启动时默认进入字符界面,如果你需要切换回图形界面,可以使用相同的命令,但将目标更改为图形目标:

systemctl setdefault graphical.target
分享:
扫描分享到社交APP
上一篇
下一篇