早在 Fedora 15, Fedora 介绍了一款名为 systemd 的核心软件。 系统 是用于一系列不同任务的工具集合。 它的主要目的是初始化、管理和跟踪系统服务和守护进程 Fedora,在启动期间和系统运行期间。 在以前的版本中 Fedora,这些作业由 SysVinit(System V init,或只是 init)处理。
了解 systemd 的主要目的——初始化 Fedora 操作系统——首先我们需要了解初始化系统实际上做了什么。
引导和初始化
您的计算机的启动或引导过程从主板上的 BIOS(基本输入/输出系统)软件开始。 完成硬件初始化和检查后,BIOS 启动引导加载程序(GRUB in Fedora的情况)。 引导加载程序访问存储设备(通常是硬盘驱动器)上的主引导记录 (MBR)。 它使用那里的数据来定位和启动 Linux 内核。
init 系统是启动的第一个进程 Fedora 内核启动后。 事实上,init 系统总是在系统上获得 1 的进程 ID (PID)。 在 BIOS 和引导加载程序 (GRUB) 完成启动的早期阶段后,Linux 内核始终执行此过程。
守护进程和其他进程
然后,init 系统必须启动所有必要的守护进程、后台进程和服务,以使操作系统工作。 此类过程的示例包括启动引导屏幕、网络堆栈的各个部分以及计算机中的硬件。
通常这些进程在启动后会继续在后台运行,称为守护进程。 这些守护进程管理系统的许多部分,例如记录信息、监视您插入或移除的设备以及管理用户登录。
查看 systemd init 系统在您的系统上管理的所有进程和守护进程 Fedora 系统,使用命令
系统控制
在终端中列出它们。
初始化后,init 系统会一直运行,只要您的系统正在运行,它会管理已启动的进程,并允许在操作系统运行时启动、停止和重新启动其他进程。
使用 systemd 进行控制
init 系统也可以用来启动其他服务和守护进程。 为了 example,假设您希望您的机器在启动时启动网络服务器。 您可以告诉 systemd 在引导期间启动 httpd 守护进程:
sudo systemctl enable httpd
如果您希望网络服务器立即启动,这也很容易:
sudo systemctl start httpd
启动服务后,您可以使用以下命令检查服务的状态
systemctl status httpd
这些只是如何使用 systemd 控制特定服务的简单示例。 管理您的 Fedora 不过,使用 systemd 的系统并不难。 这 Fedora 社区维基 有一个方便的 systemd 页面 帮助您快速学习 systemd 最常用的命令。 还有 一个 SysVinit 到 systemd 备忘单 帮助您翻译,以防您已经习惯了旧的 SysVinit 命令。
介绍systemd系列
这是深入研究 systemd 使用的一系列文章的开始。 该系列将假设您已阅读 systemd 概览页面. 完成此操作后,本系列将向您展示使用 systemd 的其他有趣方式,并解释其工作原理。 当您了解有关管理的更多信息时,准备好享受有趣的旅程 Fedora!