在linux系统中有多种方法可以在系统启动后调用脚本,接下来介绍几种常见的方法
/etc/rc.local
/etc/rc.local是传统的系统初始化脚本,在广泛采用systemd之前,它由init系统使用。它是一个shell脚本,在启动过程的最后运行,允许用户执行自定义命令或启动服务。
它以root权限运行,并提供了一种简单的方式来进行系统定制或启动后台进程。
然而,随着systemd的引入,支持/etc/rc.local的地位在许多发行版中已经被弃用。systemd为自定义和服务管理提供了替代机制。
/etc/init.d/
/etc/init.d/是一个目录,历史上用于存储SysVinit的初始化脚本,SysVinit是许多Linux发行版常用的较早的init系统。这些初始化脚本通常是shell脚本,用于启动、停止、重启或管理服务。
SysVinit使用运行级别来定义系统状态,每个运行级别都可以有与之关联的初始化脚本,位置在/etc/init.d/中。例如,脚本/etc/init.d/apache2可用于管理Apache web服务器。
虽然出于兼容性考虑,某些发行版仍然使用SysVinit及其关联的初始化脚本,但对于大多数现代Linux发行版来说,systemd已成为默认的init系统。
systemd
Systemd是一种现代化的init系统和服务管理器,已经在许多Linux发行版中取代了SysVinit。它引入了各种功能和改进,包括并行服务启动、套接字激活、日志记录和依赖关系跟踪。
systemd不再使用单独的初始化脚本,而是使用单元文件,即声明性配置文件,用于指定服务的管理方式。
单元文件通常存储在/usr/lib/systemd/system/或/etc/systemd/system/等目录中,并具有.service扩展名。它们定义服务单元、套接字单元、挂载单元等类型的单元,可以由systemd管理。
systemd还引入了目标或“systemd目标” 的概念,作为运行级别的替代。目标是服务或单元的逻辑组,定义了系统的整体状态或目的,例如 multi-user.target 或 graphical.target。
总的来说,与传统的init系统(如SysVinit)相比,systemd提供了改进的服务管理、并行启动、改进的日志记录以及更简化的系统初始化方法。
-
Linux
+关注
关注
87文章
11292浏览量
209323 -
Linux系统
+关注
关注
4文章
593浏览量
27392 -
命令
+关注
关注
5文章
683浏览量
22011 -
脚本
+关注
关注
1文章
389浏览量
14858
原文标题:Linux中 /etc/rc.local & /etc/init.d/ 和 systemd 是啥
文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论