🍖Linux的七个启动级别

引入

系统启动流程

  • 计算机加电
  • 开机自检(BIOS)
  • MBR主引导记录
  • Grub菜单
  • 加载内核
在加载内核这一步会读取操作系统的运行级别
centos7系统表面是有”运行级别“这个概念,实际上是为了兼容以前的系统
每个所谓的”运行级别“都有对应的软连接指向,默认的启动级别是/etc/systemd/system/default.target
根据他的指向可以知道系统要进入哪个模式

一.systemd 与 init 简介

1.init

  • init 进程是系统启动的第一个进程, PID号为 1.
  • init进程的从它开始启动,到下一个程序开始,都是以一个进程结束再进行另一个进程的方式(串行)
  • 这样做的显而易见的缺点就是执行速度慢,没有一整套的系统来管理
  • 并且/ect/目录下的随便一个脚本简直长的发指
  • 关机过程差不多是相反的过程,首先init停止所有服务,最后阶段会卸载文件系统。

2.于是systemd诞生了

  • systemd是有Redhat的一个员工首先提出来

3.systemd

  • centos7启动的第一个程序systemd, PID号为0
  • Systemd 系统管理守护进程
  • systemd几乎完全兼容传统的SysV init 系统
  • 作用: 减少系统引导时间与计算开销
  • Systemd引入了并行启动的概念
  • 它在内核启动后,服务器什么的全部被systemd接管, 内核只是用来管理硬件资源,相当于内核被架空

二.系统启动级别

⛅运行级别 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
⛅运行级别 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
⛅运行级别 2:多用户状态(没有NFS)
⛅运行级别 3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
⛅运行级别 4:系统未使用,保留
⛅运行级别 5: X11控制台,登陆后进入图形GUI模式
⛅运行级别 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

三.如何设置默认启动级别

1.init命令

  • 现在很多Linux系统都默认启动等级为5。如果我们想切换系统等级,可使用init命令

    # init 3  #多用户
    
  • 这样就可以切换到多用户状态且带有网络文件系统了, 这种方式对于CentOS7也适用

  • 但想修改默认启动级别,Centos 7同其他Linux稍显不同了。

2.Centos 6 与 Centos 7 的不同

  • centos6是通过修改 /etc/inittab来修改默认运行级别的

  • 在centos7下运行vi /etc/inittab 结果如下👇👇👇

⛅可以看到,里面除了注释,什么也没有,并没有centos6中设置默认运行级别的方式
⛅但注释告诉了我们 启动级别 3(多用户) 和 启动级别 5(图形化操作界面) 的使用
⛅以及用 targets 替代 runlevels, 即Centos 7采用加载targets的方式替代之前的启动级别

3.Centos 7 启动级别文件及文件路径

  • 在命令行输入 ls /usr/lib/systemd/system/
# ls /usr/lib/systemd/system/   #查看启动级别文件

4.启动级别设置命令

  • 查看当前默认启动的 target
# systemctl get-default
  • 设置默认启动的 target
# systemctl set-default multi-user.target   #设置多用户状态
# systemctl set-default graphical.target   #修改为图形界面状态
.......................
.............
.....

5.运行级别对应表

init级别 target
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target
4 系统未,使用保留
5 graphical.target
6 reboot.target
posted @ 2020-10-19 21:56  给你骨质唱疏松  阅读(638)  评论(0编辑  收藏  举报