Linux系统的启动过程:内核的引导 > 运行init > 系统初始化 > 建立终端 > 用户登录系统
运行init
init 进程是系统所有进程的起点;
主要功能:
- 准备软件执行的环境,包括主机名、网络设定、语言、文件系统格式及其他服务等;
配置文件
对于CentOS6及以前: /etc/inittab
- 默认的 Run Level (开机运行级别)。
通过设定 runlevel 来启动不同级别所需要的服务,分配Linux 的使用环境;
| 0 |
关机 |
| 1 |
单用户 |
| 2 |
无网络的命令行级别 |
| 3 |
命令行级别 |
| 4 |
保留级别 |
| 5 |
图形化级别 |
| 6 |
重启 |
- 修改默认启动
以root身份登录,vim打开/etc/inittab文件,在文件最后添加一行
`id:3:initdefault:
像这样即可默认进入命令模式
对于CentOS 7
centos7 中采用了最新的系统管理软件systemd,因此我们再修改 /etc/inittab 文件就不生效了;
另外,systemd中也不再使用 runlevel 这个概念,而是引用了一个全新的概念:target。
Systemd目标含义:
| 0 |
runlevel0.target,poweroff.target |
中断系统(halt) |
| 1 |
runlevel1.target,rescue.target |
单用户模式 |
| 2,4 |
runlevel2.target,runlevel4.target,multi-user.target |
用户自定义运行级别,通常识别为运行级别3 |
| 3 |
runlevel3,multi-user.target |
多用户,字符界面 |
| 5 |
runlevel5,graphical.target |
多用户,图形界面 |
| 6 |
runlevel6,reboot.target |
重启 |
| emergency |
emergency.target |
救援模式 |
ll /lib/systemd/system/runlevel?.target
发现都是以软连接的形式指向的。
ll /etc/systemd/system/default.target
systemctl isolatemulti-user.target
systemctl isolaterunlevel3.target
systemctl isolategraphical.target
systemctl isolaterunlevel5.target
ln –sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
ln –sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
使用systemctl命令
systemctl enablegraphical.target
systemctl enable multi-user.target