Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?

本文介绍了Linux系统中rc.local、init.d、rc.x和init的作用。启动过程中,init进程根据/etc/inittab进行系统初始化、服务启动和本地初始化。rc.local的执行依赖于/etc/rc.d/rc程序,它在对应rcN.d目录下启动服务脚本。在Ubuntu等发行版中,使用upstart替代了传统的init系统。
摘要由CSDN通过智能技术生成

Linux 中 rc.local、init.d、rc.x、init 这几个文件(夹)各有什么作用?启动执行的脚本应该均放在 rc.local 中吗?

参考链接:

1、https://www.zhihu.com/question/20126189

2、Linux中系统变量rc.local、profile、bashrc、bash_profile之间的区别和联系

这个问题涉及到Linux初始化init系统,以下选取RHEL 5.x进行说明。

 
如流程图所示,RHEL的启动过程按步骤大致可以分为:
POST加电自检-->BIOS(Boot Sequence)-->加载对应引导上的MBR(bootloader) -

Linux系统,如果你的系统使用的是System V的init系统或者其衍生系统(如SysVinit或Systemd),`/etc/init.d` 目录通常用于存放启动脚本。而 `/etc/rc.local` 是一个传统的启动脚本位置,它在系统的运行级别进入多用户模式后执行,如果你的系统不存在 `/etc/rc.local` 文件,你可以使用 `/etc/init.d` 目录来创建并设置一个启动脚本。 以下是如何编写一个开机自启动脚本的步骤: 1. 编写你的自启动脚本,保存为 `/etc/init.d/你的脚本名`。例如,你可以创建一个名为 `/etc/init.d/myStartupScript` 的文件。 2. 在脚本文件的第一行添加 `#!/bin/bash`,这指定了脚本运行的解释器。 3. 在脚本文件添加你的自定义命令。 4. 为了使脚本执行,你需要给脚本文件添加执行权限。可以通过运行 `chmod +x /etc/init.d/你的脚本名` 来实现。 5. 为了确保脚本能够在系统启动时运行,你需要将脚本链接到相应的运行级别。对于System V风格的init系统,你可以使用 `update-rc.d` 命令来实现。例如:`update-rc.d myStartupScript defaults`。 示例脚本内容如下: ```bash #!/bin/bash # /etc/init.d/myStartupScript # 你的启动命令 echo "My startup script is running" >> /var/log/myStartupScript.log # 脚本结束 exit 0 ``` 确保你将此脚本保存为 `/etc/init.d/myStartupScript` 并赋予执行权限: ```bash chmod +x /etc/init.d/myStartupScript ``` 然后,你可以使用 `update-rc.d` 命令来设置脚本在所有运行级别下启动: ```bash update-rc.d myStartupScript defaults ``` 注意:在Systemd管理的系统,你应该创建一个systemd服务单元文件而不是使用 `/etc/init.d`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a746742897

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值