zoukankan      html  css  js  c++  java
  • Linux基础-6.系统的启动过程

    Linux启动时我们会看到许多启动信息

    Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段:

    • 内核的引导
    • 运行init
    • 系统初始化
    • 建立终端
    • 用户登录系统
    init程序的类型:
    •SysV:init,CentOS 5之前,配置文件:/etc/inittab
    •Upstart:init,CentOS 6,配置文件:/etc/inittab, /etc/init/*.conf
    •Systemd:systemd,CnetOS 7,配置文件:/usr/lib/systemd/system, /etc/systemd/system

    1、内核引导

            当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动

            操作系统接管硬件以后,首先读入/boot目录下的内核文件

    2、运行init

        init进程是系统所有进程的起点,可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动

        init程序首先是需要读取配置文件/etc/inittab

    3、运行级别

        许多程序需要开机启动。在Windows中叫做“服务”(service),在Linux中叫做“守护进程”(daemon)

    init进程的一大任务,就是去运行这些开机启动的程序

        但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要

        Linux允许为不同的场合,分配不同的开机启动程序,这就叫做“运行级别”(run level)。也就是说,启动时根据“运行级别”,三宝要运行哪些程序

    Linux系统有7个运行级别(run level):

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

    4、系统初始化

    5、建立终端

        系统初始化后,这时基本系统环境已经设置好了,各种守护进程也已经启动了

        init接下来会打开6个终端(tty1~tty6),以便用户登录系统。

        同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份

    6、用户登录系统

        一般来说,用户的登录方式有三种:

    • (1)命令行登录
    • (2)shh登录
    • (3)图形界面登录

    对于运行级别为5的图形方式用户来说,他们的登录是通过一个图形化的登录界面。登录成功后可以直接进入KDE、Gnome等窗口管理器

        对于文本方式登录的情况,当我们看到mingetty的登录界面时,我们就可以输入用户名和密码来登录系统了

        Linux的账号验证程序是login,login会接收mingetty传来的用户名作为用户名参数,然后login会对用户名进行分析:如果用户名不是root,且存在/etn/nologin文件,login将输出nologin文件的内容,然后退出。这通常用来系统维护时防止非root用户登录。只有/etc/securetty中登记了的终端才允许root用户登录,如果不存在这个文件,则root用户可以在任何终端上登录

        /etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制

    7、图形模式与文字模式的切换方式

        Linux预设提供了六个命令窗口终端机让我们来登录

        默认我们登录的就是第一个窗口,也就是tty1,这六个窗口分别为tty1,tty2...tty6,可以按下ctrl+alt+F1~F6来切换

        如果安装了图形界面,默认情况下是进入图形界面的,此时就可以按ctrl+alt+F1~F6来进入其中一个命令窗口界面

        当你进入命令窗口界面后再返回图形界面只要按下ctrl+alt+F7就回来了

    8、Linux关机

        在Linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机

        正确的关机流程为:sync > shutdown > reboot > halt

        关机指令为:shutdown,可以用man shutdown来查看帮助文档

        例如:可以运行如下命令关机:

    sync 将数据由内存同步到硬盘中
    shutdown 关机指令
    shutdown -h 10 这个命令是说计算机将在10分钟后关机,并且会显示在登录用户的当前屏幕中
    shutdown -h now 立马关机
    shutdown -h +10 10分钟后关机
    shutdown -r now 系统立马重启
    shutdown -r +10 系统10分钟后重启
    reboot 重启,等同于shutdown -r now
    halt 关闭系统,等同于shutdown -h now和poweroff
    init 0 关机
    init 6 重启
  • 相关阅读:
    本地向GitHub提交403错误解决办法(自己的创建的项目)
    zepto-ajax跨域请求接口 jsonp 静态页面数据展示
    自定义获取url方法
    使用swiper 轮播插件ajax 请求加载图片时,无法滑动问题
    背景透明,文字不透明解决办法
    js DOM Element属性和方法整理----转载
    图像处理作业5——SIFT算法与全景图像生成
    应用连续高斯模糊后得到的σ是多少?
    Pandas学习笔记——综合练习
    Pandas学习笔记5——合并
  • 原文地址:https://www.cnblogs.com/mayi0312/p/10760538.html
Copyright © 2011-2022 走看看