博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?
阅读量:4260 次
发布时间:2019-05-26

本文共 1247 字,大约阅读时间需要 4 分钟。

这个问题涉及到Linux初始化init系统,RHEL 5为SysVinit,RHEL 6为Upstart,RHEL 7为Systemd,为更好地解释这个问题,以下选取RHEL 5.x进行说明。


如流程图所示,RHEL的启动过程按步骤大致可以分为:

POST加电自检-->BIOS(Boot Sequence)-->加载对应引导上的MBR(bootloader) -->主引导设置加载其BootLoader-->Kernel初始化-->initrd—>/etc/init进程加载/etc/inittab


从加载BootLoader(RHEL下为Grub)开始,会发生以下事情.

1. 藉由Grub的管理,读取Kernel内核文件(/boot/vmlinuz),解压至主内存,利用内核的功能,进行第二次硬件检测(第一次发生在POST开机自检时)

2. 加载Initial RAM Disk(/boot/initrd),使之在内存中解压缩为根目录,kernel藉此完成驱动程序的加载,,最终释放虚拟文件系统,并挂载实际的根目录文件系统.

3. 在核心加载完毕,进行完硬件侦测与驱动程序加载后,内核会启动第一个进程/sbin/init, init进程将会读取/etc/inittab,在/etc/inittab中,大致规定了以下动作:

  1. 取得 runlevel 亦即默认运行等级的相关等级.
  2. 使用 /etc/rc.d/rc.sysinit 进行系统初始化
  3. 根据runlevel调用相关启动脚本,以启动相应的系统服务
  4. 其他一些系统设置,最终完成系统启动.

/sbin/init 最主要的功能就是准备软件运行的环境,包括系统的主机名称、网络配置、语系处理、文件系统格式及其他服务的启动等,而所有的动作都根据在/etc/inittab中的配置.


/etc/rc.d, 里面存放了rc.local, rc.sysinit, init.d, rcX.d (X包括0-6对应相对runlevel)


/etc/rc.d/init.d, 存放了各种系统服务的启动关闭的管理脚本,/etc/init.d是他的一个目录链接
(软链接)
.


/etc/rc.d/rcX.d, 里面存放了一些脚本,脚本名字以K开头的,表示STOP动作,名字以S开头,表示Start动作,名称中的数字表示执行次序,数字越小表示越先执行.

/etc/rcX.d是他的目录链接,但事实上rcX.d下文件本身就是指向/etc/rc.d/init.d下脚本的链接文件.


/etc/rc.d/rc.local, 有一个链接文件,路径在/etc/rc.local
(软链接)
,

系统根据runlevel启动完rcX.d中的脚本之后,会调用rc.local脚本,如果你有一个脚本命令不论在3和5都想开机启动,那么就添加与此,免去rc3.d和rc5.d分别增加启动脚本工作量.

来源:http://www.zhihu.com/question/20126189

转载地址:http://flaei.baihongyu.com/

你可能感兴趣的文章
ArangoDB、Neo4j、OrientDB单机性能比较
查看>>
MFCC(Mel 倒谱系数)
查看>>
python2代码批量转为python3代码
查看>>
贝叶斯优化: 一种更好的超参数调优方式
查看>>
Tensorflow 多任务学习 概念介绍
查看>>
Keras 多任务实现,Multi Loss #########Keras Xception Multi loss 细粒度图像分类
查看>>
#####好好好####从Google Visor到Microsoft NNI再到Advisor调参服务接口发展史
查看>>
tensorflow中的共享变量(sharing variables) 最佳方式variable_scope()命名空间来完成
查看>>
深度增强学习综述
查看>>
###好好好####Tensorflow将模型导出为一个文件及接口设置
查看>>
简明条件随机场CRF介绍(附带纯Keras实现)
查看>>
####好好好#######让Keras更酷一些!Keras模型杂谈
查看>>
##############缺失值填充的几种方法
查看>>
Keras 处理 不平衡的数据的分类问题 imbalance data 或者 highly skewed data
查看>>
#####好好好好####Keras深度神经网络训练分类模型的四种方法
查看>>
[NLP自然语言处理]谷歌BERT模型深度解析
查看>>
######好好好######MSE与CE的区别?数学推导 本质理解
查看>>
######好好好,本质#####基于LSTM搭建一个文本情感分类的深度学习模型:准确率往往有95%以上
查看>>
深度学习最全优化方法总结比较(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)
查看>>
训练loss不下降原因集合
查看>>