简介

初始化英文简称:init(initialization)是 Unix 和 类Unix 系统启动过程中的第一道程序,用来产生其它所有进程的程序。

它以守护进程的方式存在,其进程号为1,它将继续运行直到系统关闭。它是所有其他进程的直接或间接的始源,并会接管孤儿进程。Init由使用硬编码的文件名的内核来启动,如果内核无法启动它,将导致内核崩溃(或“内核恐慌”)。

init的设计,在Unix系统,如System III和System V中,已经偏离了在Research Unix和它的BSD衍生(版)的init所提供的功能。大多数Linux发行版上的用法是与System V有些兼容,但也有一些发行版使用非BSD风格:

Gentoo 是自己定制的

deepin,ubuntu等大部分发行版都采用systemd

BSD风格

BSD init 运行存放于/etc/rc的初始化 shell 脚本,然后启动基于文本模式的终端(getty)或者基于图形界面的终端(窗口系统,如 X)。 这里没有运行模式的问题,因为文件 'rc' 决定了 init 如何执行。

优点: 简单且易于手动编辑。

缺点: 如果第三方软件需要在启动过程执行它自身的初始化脚本,它必须修改已经存在的启动脚本,一旦这种过程中有一个小错误,都将导致系统无法正常启动。

值得注意的是,现代的 BSD 派生系统一直支持使用 rc.local文件的方式,它将在正常启动过程接近最后的时间以子脚本的方式来执行。这样做减少了整个系统无法启动的风险。然后,第三方软件包可以将它们独立的 start/stop 脚本安装到一个本地的 rc.d目录中(通常这是由 ports collection/pkgsrc 完成的)。

FreeBSD 和 NetBSD 现在默认使用 rc.d ,该目录中所有的用户启动脚本,都被分成更小的子脚本,和 SysV 类似。rcorder 通常根据在 rc.d目录中脚本之间的依赖关系来决定脚本的执行顺序。

SysV风格

System V init 检查 /etc/inittab文件中是否含有 initdefault项。 这告诉 init 系统是否有一个默认运行模式。如果没有默认的运行模式,那么用户将进入系统控制台,手动决定进入何种运行模式。

优点: 灵活性强

缺陷: 比较复杂

运行模式(Runlevel)指的是Unix或者Linux等类Unix操作系统下不同的运行模式。

运行级别通常分为7等,分别是从0到6,但如果必要的话也可以更多。

在深度操作系统中,下列路径对应不同的运行级别。当系统启动时,通过其中的脚本文件来启动相应的服务。

/etc/rc0.d Run__level 0

/etc/rc1.d Run__level 1

/etc/rc2.d Run__level 2

/etc/rc3.d Run__level 3

/etc/rc4.d Run__level 4

/etc/rc5.d Run__level 5

/etc/rc6.d Run__level 6

运行模式分类

深度操作系统的系统运行级别:

0 所有进程将被终止,机器将有序的停止,关机时系统处于这个运行级别

1 单用户模式。用于系统维护,只有少数进程运行,同时所有服务也不启动

2 多用户模式。和运行级别3一样,只是网络文件系统(NFS)服务没被启动

3 多用户模式。允许多用户登录系统,是系统默认的启动级别

4 留给用户自定义的运行级别

5 多用户模式,并且在系统启动后运行 X-Window, 给出一个图形化的登录窗口

6 所有进程被终止,系统重新启动

管理运行模式

查看当前的运行级别

深度操作系统默认运行级别为5.使用runlevel命令可以查看当前的运行模式,终端执行:

runlevel

更改当前运行级别

切换运行级别,执行命令:

init [0123456Ss]

即在 init 命令后跟一个参数,此参数是要切换到的运行级的运行级代号,

注意:init 0 为关机,init 6 为重新启动。

更改默认运行模式

我们需要编辑 /etc/init/rc-sysinit.conf,终端执行:

sudo gedit /etc/init/rc-sysinit.conf

找到下面一行:

env DEFAULT_RUNLEVEL=2

更改最后面的数字为你想要更改到的运行级别。

注意:为了系统的正常使用,请不要更改默认运行模式为0、4和6

删除运行模式

如果有需要删除特定的运行模式,直接特定运行模式对应的配置文件即可。

但是如果你不明白这样做的后果,请不要这么做!

单用户模式

Linux系统中,现代的系统引导程序(如 LILO 或者 GRUB),用户可以在初始化过程中最后启动的进程来取代默认的 /sbin/init。 通常是在系统引导程序环境中通过执行 init=/foo/bar 命令。例如,如果执行 init=/bin/bash,启动单用户 root 的 shell 环境,无需用户密码。

正常用户进入单用户模式一般为了重置用户密码。

初始化程序

很多人一直努力地从某些方面改进传统的 init 守护进程,使它变得更完善。下面列出的是一些改进:

Upstart:ubuntu主导开发的初始化软件。

Systemd:完全替代init,可并行启动服务,并能减少在shell上的系统开销,为Fedora所使用

SystemStarter:用来替代 launchd — Apple Mac OS X开启进程

Initng:完全代替 init ,可以异步开启进程

Service Management Facility:完全代替/重新设计 Solaris 启动 Solaris 10

runit:跨平台的完全代替 init 可以并行启动服务

Mudur:用 Python 写成的 init 替代品, 可以异步开启进程,Pardus Linux 发行版

eINIT:完全代替 init ,可以异步开启进程,但是完成这个过程可以不使用 shell 脚本

相关链接

deepin恢复出厂_初始化 - deepin Wiki相关推荐

  1. deepin恢复出厂设置_如何恢复出厂设置

    deepin恢复出厂设置 There comes a time in every user's life when they have to reset something back to its f ...

  2. deepin恢复出厂_win10强制恢复出厂设置方法

    win10怎么强制恢复出厂设置?很多朋友对此还不是很清楚,深度技术官网这里就给大家带来有关win10强制恢复出厂设置方法,希望能够对大家有所帮助. win10强制恢复出厂设置方法 1.在电脑关机状态下 ...

  3. dell5580bios恢复出厂_戴尔笔记本电脑进入BIOS的方法及BIOS怎么恢复出厂设置?

    展开全部 戴尔笔记本电脑进入BIOS的方法62616964757a686964616fe59b9ee7ad9431333365633836: 1. 按下电源键启动计算机. 2. 当看到DELL启动画面 ...

  4. 顶尖电子秤ls6恢复出厂_顶尖电子称怎么恢复出厂默认?

    展开全部 衡之宝(顶62616964757a686964616fe78988e69d8331333365633932尖)BH-600.BH-300 1.简易外部校正:开机后按回车键,出现校正重量,加码 ...

  5. 苹果怎么强制恢复出厂_主板电池放电清BIOS恢复出厂设置怎么操作?配图文

    一般电脑的基本设置.硬件参数都在BIOS中进行设置,有时设置不当会导致电脑无法开机,此时我们就有必要对电脑进行清BIOS操作了,其中比较简单的就是主板电池放电了,BIOS信息依靠主板电池供电储存在cm ...

  6. 安卓强制恢复出厂_安卓手机为神魔越用越卡?

    几乎所有用安卓手机的人,在使用一段时间后总会有越用越慢的感觉.这个问题也是安卓手机的通病,安卓系统相比于苹果最大的特点就是开源,对软件的限制很小.而苹果对APP的管控是很严格的,不仅只能在应用商店中下 ...

  7. 安卓强制恢复出厂_怎样科学合理地下载、卸载APP?恢复出厂设置存在哪些问题?...

    最让人讨厌的事情是什么?或许是约好了心爱的女孩子一起去看电影,结果突然之间,电闪雷鸣.天降大雨,计划泡汤了.或许是结束了一天的繁琐工作,像脱缰的野马一般开着小轿车回家,结果遇到了大规模堵车.亦或许是在 ...

  8. 安卓强制恢复出厂_手机越来越卡!备份一下恢复出厂设置,还有的救吗?

    目前智能手机对于我们的生活越来越重要.不少用户表示自己根本无法脱离手机而生存,大街上面的低头族随处可见,大家都在忙着玩手机.连家庭聚会的时候也不例外,一会一看手机,生怕错过什么重要的信息.手机已经与我 ...

  9. 安卓强制恢复出厂_手机恢复出厂设置后,与新手机的区别已被确认,望大家相互转告!...

    手机是大家每日的常用物件,有一个笑话很搞笑,如果你给朋友发微信,5分钟不回复你的话,说明朋友不想理你!大家想想,基本上每个人都会每5分钟看一次手机.目前常用手机分两类,苹果手机与安卓手机,苹果手机使用 ...

最新文章

  1. 【学神-RHEL7】1-4-1-Linux文件管理和恢复误删除的文件
  2. Java基础day4
  3. Arduino--0.91寸OLED液晶屏
  4. python中异常和错误是一个概念_Python的异常概念介绍以及处理
  5. MAUI中Maui.Graphics.Controls绘制控件
  6. 全国高校计算机课程教学系列报告会,西安交大承办2013年全国高校物理课程教学系列报告会...
  7. 同济大学转计算机专业绩点,关于同济大学研究生成绩计算方法的说明
  8. 迭代器模式的原理和实现
  9. Salesforce正面叫板微软Office:5.82亿美元收购Quip
  10. 使用标准测试函数测试全套 MATLAB 优化算法
  11. 安装maya过程记录
  12. linux 流场分析软件,scSTREAM | 通用流体分析软件
  13. 灵格斯与众多常用软件的冲突问题
  14. Eyoucms易优小程序插件2.0版本上线
  15. win10自带输入法变为繁体字
  16. 转:将HTML5封装成android应用APK文件的几种方法
  17. C语言控制流编程试题,可编程序控制系统设计师(中级)职业认证理论考试试题(含答案).doc...
  18. 千寻和省cors精度对比_千寻位置服务与CORS系统的精度探讨
  19. 用图片实现滚动条样式
  20. 商城项目-SPU和SKU数据结构

热门文章

  1. 香港等海外公司如何开通认证微信公众号?
  2. PNP问题学习笔记1
  3. Python初学者应该选择哪个版本
  4. 期刊分类(CN,ISSN,A,B,C类)
  5. 65536 65535 65534
  6. ubuntu安装photoshop
  7. Pandas 统计分析基础 笔记5 _任务4.5 创建透视表与交叉表
  8. android 钉钉考勤日历,vue实现钉钉的考勤日历
  9. 【数据挖掘】遗传算法原理浅析:什么是遗传算法?遗传算法的工作原理是什么?
  10. python反爬虫与绕过_python中绕过反爬虫的方法总结