Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?
来源:互联网 发布:数据库管理好学吗 编辑:程序博客网 时间:2024/06/02 01:36
这个问题涉及到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中,大致规定了以下动作:
/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(软链接),
如流程图所示,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中,大致规定了以下动作:
- 取得 runlevel 亦即默认运行等级的相关等级.
- 使用 /etc/rc.d/rc.sysinit 进行系统初始化
- 根据runlevel调用相关启动脚本,以启动相应的系统服务
- 其他一些系统设置,最终完成系统启动.
/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
0 0
- Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?
- Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?
- linux的开机启动过程(rc.local、init.d、rc.x、init的作用)
- linux中/etc/rc.d/rc.local和/etc/rc.local这两个文件有什么区别
- linux中/etc/rc.d/rc.local和/etc/rc.local这两个文件有什么区别
- rc.local 和init.d的作用
- Linux文件 /etc/rc.local以及/etc/init.d
- linux启动后执行脚本(/etc/rc.local文件)
- init.d目录、rc#.d目录和rc.local脚本——系统服务的启动和停止
- Linux 启动顺序 添加开机启动服务 rc?.d rc.local init.d System run levels and init.d scripts
- init进程 && 解析启动脚本init.rc && init.rc中启动sh文件 && JAVA中跑shell
- Linux /etc/rc.d 下面 rc${runlevel}.d rc.local init.d 区别
- linux中/etc/rc.local脚本的作用
- /etc/rc.d/rc与/etc/rc.d/init.d的关系介绍 linux中chkconfig 启动程序顺序
- 理解Linux系统/etc/init.d目录和/etc/rc.local脚本(转)
- rc.d init.d rc.local .... cron crontab
- /etc/rc.local 与 /etc/init.d
- linux的启动脚本顺序--/etc/rc.d/init.d
- 华为实习生面试经历
- 理解进程调度时机跟踪分析进程调度与进程切换的过程
- spring 4 官方下载地址(Spring Framework 3.2.x&Spring Framework 4.0.x)
- Android开发端口号占用问题解决方案
- Java线程详解
- Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?
- Journey from a Python noob to a Kaggler on Python (从Python数据分析菜鸟到专家)
- HDU 2222 Keywords Search[自动机]
- [Python]基本概念与操作1(针对Python2)
- linux中/etc/rc.d/rc.local和/etc/rc.local这两个文件有什么区别
- CentOS 7 安装MySQL方法及错误解决
- 论如何写出优雅的Android代码--------ActivityManager
- Spring之Resource
- 解决linux中vim上下左右键不能用的问题