• Linux系统启动级别及顺序


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

    运行级别的原理:
    1。在目录/etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)
    2。在/etc/rc.d下有7个名为rcN.d的目录,对应系统的7个运行级别
    3。rcN.d目录下都是一些符号链接文件,这些链接文件都指向init.d目录下的service脚本文件,命名规则为K+nn+服务名或S+nn+服务名,其中nn为两位数字。
    4。系统会根据指定的运行级别进入对应的rcN.d目录,并按照文件名顺序检索目录下的链接文件
    对于以K开头的文件,系统将终止对应的服务
    对于以S开头的文件,系统将启动对应的服务
    rcN.d中的文件都是init.d中文件的连接,即service,文件的命名格式为:[KS]numberservicename
    K和S开头是区别运行与否的:K不运行,S运行,之后的两位数确定了运行的顺序。
    5。查看运行级别用:runlevel
    6。进入其它运行级别用:init N
    7。另外init0为关机,init 6为重启系统
    由于现在的Linux系统安装完后就运行在第5个级别,即系统启动后直接进入图形界面,而不用在字符模式下登录后用startx或者xinit 来起动图形界面。建议在系统安装完成后把系统的默认运行等级设置在第3级,在字符终端登录后,再手工输入startx 命令起动图形界面。可以用如下的方法修改:
    用文本编辑器修改 /etc/inittab文件,把
    代码:
    id:5:initdefault:这一行,修改成
    代码:
    id:3:initdefault:保存后就reboot重起,系统就默认起动到字符界面。不同运行级别之间的 差别的在于系统默认起动的服务的不同,如运行级别3默认不启动X图形界面服务,而运行级别5 却默认起动。本质上是没有区别的,更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别,用户都可用init 命令来切换到其他运行级别。
    --------------------------------------------------------------------------------
    Linux 启动顺序:
    1、 BIOS自检
    2、 运行系统内核并检测硬件
    3、 运行系统的第一个进程init
    4、 init读取系统引导配置文件/etc/inittab中的信息进行初始化
    /etc/rc.d/rc.sysinit------系统初始化脚本
    /etc/rc.d/rcX.d/[KS]*------根据运行级别配置服务
    /etc/rc.d/rc.local---------执行本地特殊配置
    其它---------不同运行级别的特殊服务

    Linux启动运行init程序来启动相关程序初始化,与启动相关的一个概念是运行级,运行级是操作系统当前运行的级别,在不同运行级别上可以定义属于该运行级的启动程序,系统的运行级别可以在/etc/inittab文件指定,与运行级相关运行程序通过从源/etc/rc.d/init.d下链接到目的/etc/rcX.d,这里X为系统的默认运行级别,因此,默认的启动脚本放在/etc/rc.d/init.d下。

    如何让系统在启动是运行指定程序,根据启动顺序中的第四步,有两种方式。
    一种方式是根据运行级别配置服务。
    一种方式是执行本地特殊配置。
    举例,任务在启动是运行命令cvslockd:
    方式一:
    1. 建立自启动脚本/etc/rc.d/init.d/cvslockd,内容为:
    #!/bin/bash
    /usr/local/bin/cvslockd

    设置文件的属性为可执行:
    #chmod +x /etc/rc.d/init.d/cvslockd

    2. 查看计算机运行级别,在文件/etc/inittab里看到id:5:initdefault:,则此系统运行级别为5。
    3. 到/etc/rc5.d目录下,把你要执行的可执行文件做一个软连接,而且在命名的时候要以大写S字母开头,S之后的数字大小代表执行顺序的先后,数字越大越后执行。
    #ln -s /etc/rc.d/init.d/cvslockd /etc/rc5.d/S100cvslockd
    #ln -s /etc/rc.d/init.d/cvslockd /etc/rc0.d/K20cvslockd

    方式二:
    在/etc/rc.d/rc.local 添加 exec /usr/local/bin/cvslockd
    该方式是在最后启动cvslockd。

  • 相关阅读:
    linux学习笔记(26)firewalld防火墙
    rabbitmq高可用,rabbitmq主从,rabbitmq镜像
    vmware vsphere虚拟化简介
    Spring Boot CMD 运行日志输出中文乱码
    SocketChannel支持设定参数
    Ubuntu 安装 MySQL 5.7
    CompletableFuture 使用
    SpringBoot 接口输出文件流 & Vue 下载文件流,获取 Header 中的文件名
    FileLock 多进程文件锁
    反射加缓存,解决不同的业务下调用不同的实现
  • 原文地址:https://www.cnblogs.com/tla001/p/6205329.html
Copyright © 2020-2023  润新知