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

  • 内核的引导。

    • 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
  • 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。

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

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

  • 系统初始化。
    • 在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。

      它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。

      l5:5:wait:/etc/rc.d/rc 5#默认运行级别是5,登录后进入GUI界面
  • 建立终端 。
    • rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。

      init接下来会打开6个终端,以便用户登录系统

    • 6个终端 以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。

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

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

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

init程序的类型:

  • SysV: init, CentOS 5之前, 配置文件: /etc/inittab。
  • Upstart: init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf。
  • Systemd: systemd, CentOS 7,配置文件: /usr/lib/systemd/system、 /etc/systemd/system。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

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

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

至于在每个运行级中将运行哪些守护进程,用户可以通过chkconfig或setup中的"System Services"来自行设定。

login会对用户名进行分析:如果用户名不是root,且存在/etc/nologin文件,login将输出nologin文件的内容,然后退出。

这通常用来系统维护时防止非root用户登录。只有/etc/securetty中登记了的终端才允许root用户登录,如果不存在这个文件,则root可以在任何终端上登录。

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

关于界面切换:

如果本来在GUI界面中,按control + alt +[f1~f6]

切换到文字界面以后,按control + alt +f7(有的是alt +f7)切换回GUI界面。

如果在虚拟机中,有点不一样,界面是control + alt +fF1和control + alt +F2,

在文本界面,运行startx命令,可以进入到GUI界面,退出后,依然是文本界面

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

sync 将数据由内存同步到硬盘中。
Shutdown –h now 立马关机 Shutdown –h 20:25 系统会在今天20:25关机 Shutdown –h +10 十分钟后关机 Shutdown –r now 系统立马重启 Shutdown –r +10 系统十分钟后重启 reboot 就是重启,等同于 shutdown –r now halt 关闭系统,等同于shutdown –h now 和 poweroff

转载于:https://www.cnblogs.com/lakeslove/p/7230837.html

CentOS笔记-系统概述相关推荐

  1. CentOS笔记:yum使用说明

    2019独角兽企业重金招聘Python工程师标准>>> 1.基本操作 a) 列出package # yum list b) 搜索package # yum search <pa ...

  2. 【最简单最快的方式】虚拟机-CentOS7创建共享文件夹——Centos笔记-Day1

    新手上路,踩了二三十篇文章的坑(可能自己不懂),重装了五次系统,才摸清楚最快速最简单的方法,如有不对请大佬多多指教. 1.打开VMware程序,鼠标右检你的虚拟机,打开设置 2.点击选项--共享文件夹 ...

  3. CentOS笔记:VirtualBox使用说明之Shared Folders

    一.安装依赖包 #yum install kernel-headers #yum install kernel-devel #yum install gcc* #yum install make 二. ...

  4. CentOS笔记:vi 使用

    1.vi编辑器的三种模式 2.vi命令 1.光标移动 ctr  -  d : 向下翻半屏:ctr - u : 向上翻半屏:ctr - f : 向下翻一屏:ctr - b : 向上翻一屏: gg : 移 ...

  5. Linux常用命令帅哥特供版

    [TOC] Linux常用命令Json帅哥特供版 没错这里的帅哥指的就是我自己 把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝 ...

  6. python全栈开发—函数整理(最后一次整理,不能再全了)

    函数 函数介绍 函数定义 函数的调用 函数的返回值总结 函数的参数参数参数的分类位置参数关键字参数混合参数总结动态接收位置参数动态接收关键字参数 函数的注释 名称空间 函数的嵌套 gloabal.no ...

  7. 在CentOS 6.9 x86_64上搭建全功能的OpenResty 1.13.6.1笔记

    好久没有玩OpenResty,这段时间机会难得,赶紧实践一下.下面是我在rMBP的CentOS 6.9 x86_64虚拟机上安装目前最新版OpenResty 1.13.6.1的笔记. OpenRest ...

  8. 【Linux笔记】CentOS下找不到eth0设备的解决方法

    [Linux笔记]CentOS下找不到eth0设备的解决方法 参考文章: (1)[Linux笔记]CentOS下找不到eth0设备的解决方法 (2)https://www.cnblogs.com/ly ...

  9. 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建...

    作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...

  10. centos 7 学习笔记(一)

    这篇文章主要记录自己在安装centos 7中遇到的一些问题以及个人工作的一些笔记: window7硬盘安装 centos7 wingrup diskgenius ntfs fat32 exfat nt ...

最新文章

  1. 关于fragment
  2. dw按钮图片滚动js_轮播图--swiper插件/原生js/jQuery
  3. 【Tomcat】如何解决catalina.out文件过大的问题
  4. linux fflush函数,fflush - wwliu的个人页面 - OSCHINA - 中文开源技术交流社区
  5. ssas 度量值属性_Analysis Services(SSAS)表格模型–属性和度量
  6. php log 行号 debug_backtrace,PHP 基于debug_backtrace的流程日志与日志分析
  7. 计算空间点到直线的距离
  8. 来势汹汹 两大版本 百公里加速最快小于3.5s 电动车最大黑马居然是TA!
  9. glm-0.9.9.7 + visual studio 2019 + window10下载安装
  10. Sort exceeded memory limit of 104857600 bytes 解决方案
  11. C语言:输入10个整数,找出其中绝对值最小的数
  12. 《路由器开发 - 路由器刷机指南》优酷路由宝 YK-L1刷机
  13. 推荐歌曲 一百首最经典的歌曲下载
  14. ajax里的append,使用AJAX源和appendTo理解和实现jQuery自动完成
  15. 又一本宝藏级Python教程,清华大学监制出版,附电子版!
  16. 挂号信经过几次签收最终送达收件人?
  17. 8月9日华为发布了其自研的鸿蒙操作系统,华为正式发布自研操作系统鸿蒙
  18. oracle clear buffer,Out 对象的 clearBuffer() 方法用来清除缓冲区里的数据,但并不把数据写到客户端。...
  19. 金融脱媒(Financial Disintermediation),又称金融非中介化
  20. 浅谈边缘计算下的车联网

热门文章

  1. Base58编码的长度是如何计算的?
  2. 文本分类——NaiveBayes
  3. 网络互撕是群体极化的典型症状
  4. 计组_IEEE754_练习题
  5. web服务器mysql日志分析
  6. linux用户批量修改密码,Linux 命令详解 chpasswd 批量修改用户密码
  7. php mysql商品数量购买减少_PHP+Redis+MySQL商品秒杀与超卖讲解
  8. 845透色android10,骁龙845旗舰宝刀不老 升级安卓10焕然一新
  9. 8.1.2 学习更多关于ConcurrentHashMap
  10. 【渝粤教育】国家开放大学2018年秋季 0700-22T中级会计实务(一) 参考试题