systemd都启动了哪些脚本,执行顺序是怎样的,啥时候执行login?
时间: 2023-09-09 18:05:17 浏览: 212
### 回答1:
systemd启动的脚本分为两类:单用户模式和多用户模式。
单用户模式启动的脚本包括:
1. /usr/lib/systemd/system/rescue.service:提供单用户模式。
2. /usr/lib/systemd/system/emergency.service:提供紧急模式。
多用户模式启动的脚本包括:
1. /usr/lib/systemd/system/multi-user.target:多用户模式的默认目标。
2. /usr/lib/systemd/system/graphical.target:图形化界面的默认目标。
执行顺序是:首先启动单用户模式或多用户模式,然后根据配置文件决定是否进入图形化界面。
在登录的时候,会执行/etc/nologin文件,如果该文件存在并且不为空,则会显示文件中的内容并阻止登录。如果该文件不存在或者为空,则会正常执行登录过程。
### 回答2:
systemd是一种Linux下的初始化系统,它通过以并行的方式启动和管理系统服务。systemd的启动脚本存储在/etc/systemd/system目录下,其中主要包含以下几个关键的脚本:
1. 系统初始化:systemd会首先执行一个特殊的初始化脚本,即systemd-initctl.service,它会在系统引导时加载必要的内核模块和驱动程序。
2. Target单元:systemd使用Target单元来管理依赖关系和服务的启动顺序。Target单元定义了一组相关的服务,比如图形用户界面(graphical.target)、多用户命令行接口(multi-user.target)等。Target单元会决定系统启动时哪些服务需要启动,以及启动顺序。
3. Service单元:Service单元定义了要启动的服务,每个服务对应一个.service文件。在启动过程中,systemd会按照指定的顺序启动这些服务。关于服务的依赖关系,可以在服务的配置文件中通过Requires和After选项来定义。
4. Login服务:在启动过程中,systemd会像其他服务一样启动login服务。login服务的作用是提供登录管理功能,负责处理用户的登录请求、验证和会话管理等。login服务通常由getty程序来实现,它会在系统运行级别下的终端设备上启动,等待用户进行登录。
总之,systemd的脚本执行顺序是先执行初始化脚本,然后按照Target单元之间的依赖关系启动服务,最后启动login服务。具体的执行顺序可以通过查看相应的.service文件中的配置项来了解。
### 回答3:
systemd是Linux操作系统中用于启动和管理系统进程的初始化系统。在启动过程中,systemd会执行一系列的脚本和服务单元。
systemd启动的脚本和服务单元有多个,包括:
1. target单元:systemd引导过程的核心组件。它们根据系统目标的不同而有所区别,例如multi-user.target(多用户命令行界面)、graphical.target(图形界面)等。
2. 广泛使用的服务单元:系统级或应用程序级的服务,如network.service(网络服务)、sshd.service(SSH服务)等。这些服务在启动过程中按照指定顺序启动。
3. SysV初始化脚本:兼容SysV的初始化脚本被systemd自动识别和管理。这些脚本位于/etc/init.d/目录中,以.service文件的方式启动,如httpd.service(Apache服务)。
执行顺序是基于依赖关系来决定的。systemd通过在服务单元文件中的配置项指定依赖性,如Requires、Wants、After等,以确保服务在正确的顺序下启动。这些指令指导systemd不仅启动服务,还与其他依赖的服务之间建立正确的启动顺序关系。
系统登录是init过程的一部分,在systemd中被称为getty服务。这个服务负责在控制台、虚拟终端(tty)或终端仿真器(如gnome-terminal、konsole等)上启动登录界面。
getty服务通常在启动过程的最后阶段执行,以确保系统初始化和其他重要服务的启动完成。一旦getty服务启动,它将监听控制台输入并显示登录提示符,以便用户输入用户名和密码进行登录。
总结:systemd启动的脚本和服务单元有多个,执行顺序是基于依赖关系来决定的。getty服务负责在启动过程的最后阶段执行,并显示登录提示符供用户登录。
阅读全文