详述Ubuntu中的/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)文件来替代这

在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)文件来替代这些传统方法,这就像在旧城区中建立现代化的交通系统,更快捷、更高效、更安全。

目录
相关文章
|
12天前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
60 21
|
12天前
|
Prometheus Kubernetes 监控
Kubernetes技巧:使用Prometheus监控Pod性能指标。
记住,监控和可视化是维持健康集群的必备工具,而Prometheus加上Grafana就是这个任务上的黄金搭档。安装这两位侦探后,你的Kubernetes集群将会像一个经过精心维护的庞大机器一样,高效、有序地运转。
87 21
|
12天前
Qt网络编程:通过QTcpSocket发送结构化数据。
这就是通过QTcpSocket发送结构化数据的“迷你指南”。记住,每个电码的点点滴滴都至关重要,确保它们准确无误地到达目的地,就如同指挥一场跨越网络的萤火虫交响乐。
46 18
|
23天前
|
Linux iOS开发 Python
解决安装flash-attn时的错误报告
记住,程序包安装问题就像个顽皮的谜题,得一步步解开,耐心是解决问题的钥匙,没有什么问题是一顿猛敲键盘解决不了的,如果有,那就两顿。
92 8
|
22天前
|
前端开发
用 CSS Grid 轻松构建复杂布局
用 CSS Grid 轻松构建复杂布局
180 83
|
23天前
|
机器学习/深度学习 人工智能 自然语言处理
视觉感知RAG×多模态推理×强化学习=VRAG-RL
通义实验室自然语言智能团队发布并开源了VRAG-RL,一种视觉感知驱动的多模态RAG推理框架。它能像人一样“边看边想”,通过粗到细的视觉仿生感知机制,逐步聚焦关键区域,精准提取信息。VRAG-RL结合强化学习与多专家采样策略,优化检索与推理路径,在多个视觉语言基准数据集上表现出色,显著提升准确性和效率。项目已发布技术方案并开源代码,支持快速部署和二次开发。
64 10
|
23天前
|
机器学习/深度学习 人工智能 运维
探讨AI数字人软件系统的开发与部署策略
随着科技发展,人工智能成为经济转型的关键驱动力,AI数字人软件系统在各行业广泛应用。本文探讨其开发与部署策略,助力企业和开发者参考。开发策略包括需求分析、技术选型、模块化设计、数据驱动及安全性保障;部署策略涵盖硬件环境、软件配置、分布式与云端部署以及运维保障,推动系统智能化与稳定性提升。
|
19天前
|
运维 监控 Linux
网络延迟监测工具选择(第一篇)
**WGCLOUD**是一款开源免费的跨平台运维监控工具,支持Windows、Linux、MacOS等系统,具备网络延迟监测功能。其内置的**PING监测**模块可实时ping目标IP,图形化展示延迟趋势,并在目标IP不可达时发送告警通知。支持分组管理,操作简单便捷,适合运维人员高效监控网络状态。
|
2天前
|
存储 缓存 监控
手动清除Ubuntu系统中的内存缓存的步骤
此外,只有系统管理员或具有适当权限的用户才能执行这些命令,因为这涉及到系统级的操作。普通用户尝试执行这些操作会因权限不足而失败。
53 22
|
25天前
|
Ubuntu Linux 数据安全/隐私保护
修复Ubuntu 18.04终端无法启动的问题
经过这一系列动作,如果终端还是藏匿不出,那它可能被数字世界的某个角落困住了。但概率比较小。大多数情况下,按照上面的修复步骤,你的 Ubuntu 18.04 终端应该能恢复健康。当然,这些攻略仅相当于一把解开问题的钥匙,并非覆盖所有情况。如果还有坎儿,可能需要深入探查,或者寻求社区的力量。别忘了,团结就是力量,绝大多数问题都不是单枪匹马能解决的。
98 27