在Ubuntu的世界里,/etc/rc.local/etc/init.d/rc.local是两条老狐狸,经历过漫长的历史岁月,目睹着系统启动过程的演变。虽然表面看来它们俩关系亲密,似乎只是路径上的一个小小分歧,实则各自扮演着不同的角色,主宰着系统启动时不同的阶段。

首先,让我们来戏剧化地揭开 /etc/rc.local的神秘面纱。想象 /etc/rc.local是那位在开场白时登场的角色,他的任务是在系统启动的最后阶段上场,执行那些最后的配置任务和启动脚本。在Systemd大行其道以前,他几乎是每场戏必不可少的角色。简单地说,在过去的Linux发行版中,特别是Ubuntu 16.04及以前的版本,/etc/rc.local是个开机自启舞台的明星,惯用的来执行各种自定义脚本和命令。

系统刚刚启动,各种服务尚在屏幕上滚动,/etc/rc.local就悄悄登场,逐一执行用户在其中放置的命令。你的每一个需求,只要写入这个文件,它都会在系统启动的尾巴上默默完成。这就像是你告诉一个智能助手,在你走出家门的那一刻,帮你检查煤气、启动洗衣机或者喂一下宠物。

现在来看 /etc/init.d/rc.local这位角色。这个文件位于 /etc/init.d目录,这是个历史悠久的脚本库,充满了各式各样的启动脚本,这些脚本负责着系统启动时各服务的启动顺序和管理。我们可以把 /etc/init.d目录想象成一个老派的指挥部,里面的 rc.local则是一个特别的代理人,负责特殊任务。它并不直接向 /etc/rc.local那样等待执行命令,而是被设计成System V风格的初始化脚本,旨在将 /etc/rc.local中的命令纳入服务管理体系中,与其它启动脚本并肩作战。

Ubuntu自16.10版本起开始进入了一个新时代,Systemd开始主导舞台,打破了传统 /etc/rc.local的独角戏。不过,这并不意味着 /etc/rc.local就此谢幕,它以一种向后兼容的方式存在,只不过不再是那个焦点角色。而伴随着这场变革,/etc/init.d/rc.local的作用也变得更加微妙,让它的地位看起来有些边缘化。

总结一下,/etc/rc.local/etc/init.d/rc.local可以说是系统自定义服务的二人转。在Systemd登基以前,/etc/rc.local是大明星,负责在系统启动的最后一刻执行任务。而 /etc/init.d/rc.local则扮演着保证 rc.local文件内容可以被执行的幕后角色。随着Ubuntu版图的更迭和Systemd的崛起,两者都有所转变,但它们依旧是实现系统自启动自定义命令和程序的得力工具,虽然现在要通过一些额外的设置来唤醒它们的能力。此外,由于Systemd的灵活性和强大,推荐使用更加现代化的Systemd单元(unit)文件来替代这些传统方法,这就像在旧城区中建立现代化的交通系统,更快捷、更高效、更安全。

云服务器/高防CDN推荐

蓝易云国内/海外高防云服务器推荐


海外免备案云服务器链接:www.tsyvps.com

蓝易云安全企业级高防CDN:www.tsycdn.com

持有增值电信营业许可证:B1-20222080【资质齐全】

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。


百度搜索:蓝易云

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 11 月 22 日
如果觉得我的文章对你有用,请随意赞赏