zoukankan      html  css  js  c++  java
  • 🍖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
  • 相关阅读:
    Django—使用后台管理Models
    Django—开发具体流程
    Sqlite—数据库管理与表管理
    Sqlite—数据类型
    Python—实现钉钉后台开发
    Xdebug文档(一)基本特性
    FHS定义的Linux目录树
    【转】给Windows + Apache 2.2 + PHP 5.3 安装PHP性能测试工具 xhprof
    【转】UTF-8汉字正则表达式
    【转】Nginx区分PC或手机访问不同网站
  • 原文地址:https://www.cnblogs.com/songhaixing/p/13843395.html
Copyright © 2011-2022 走看看