您可能会对 Linux 社区的危机构成感到惊讶。 几年前,systemd init 系统的创建激怒了许多开发者和用户。 大多数基于 Linux 的操作系统都采用了 systemd,但也有少数选择了不同的路线。
对于所有的争论,你能分辨出包含 systemd 的 Linux 版本和不包含 systemd 的版本之间的区别吗?
作为一个明确的测试用例,让我们考虑 Debian 和一个名为 Devuan 的变体。 Debian 是最古老和最大的基于 Linux 的操作系统之一。 2014 年,一个名为 Veteran UNIX Admins 的组织启动了 Devuan,这是一个没有 systemd 的 Debian 分支。 你应该试一试吗?
无论如何,什么是初始化系统?
Init 是初始化的缩写。 init 进程是在 Linux 驱动的计算机启动时启动的操作系统进程的第一部分。 只要您的计算机处于开启状态,它就会在后台运行,并一直持续到计算机关闭。
init 系统管理其他进程,以便您的计算机顺利启动、运行和关闭。 因此,虽然 init 系统可能在很大程度上是不可见的,但它也是必不可少的。
systemd有什么“错误”?
Systemd 不仅仅是一个初始化系统。 它包括其他软件,例如 networkd 和 logind,用于管理您计算机的其他方面。 Systemd 是一套软件 它充当应用程序和底层 Linux 内核之间的桥梁。 它处理各种任务,例如管理用户登录到热插拔设备。
传统上,在基于 Unix 和类 Unix 的操作系统(Linux 是后者)上,开发人员设计软件来完成一项任务并把它做好。 总是有例外,但是对于 systemd,一个核心组件已经偏离了这种做事方式。
正如您所料,开发人员认为需要进行更改是有原因的。 对于初学者来说,较旧的 init 系统以线性方式启动,以有意义的顺序加载各种脚本。 这使得以当今机器所期望的流畅方式启动计算机和管理核心功能(例如连接到网络)变得更加困难。
将其中许多任务组合到一个项目中,使基于 Linux 的操作系统能够提供更快的启动体验。
Devuan 与 Debian 有何不同
Debian 8 是第一个采用 systemd 的版本。 Devuan 项目从那时开始,但直到 2017 年,第一个稳定版本才与 Debian 9 一起发布。
Devuan 使用与 Debian 相同的 APT 包管理器,但它维护自己的包存储库。 这些是存储您使用 APT 下载的软件的服务器。
Devuan 的存储库包含与 Debian 相同的软件,只是带有使程序能够在没有 systemd 的情况下运行的补丁。 这主要是指后端组件,例如 政策包,它管理哪些用户可以访问或修改您 PC 的某些部分。
使用 Devuan 是什么感觉?
就像 Debian 一样,有多种安装 Devuan 的方法。 “最小”下载为您提供了在您的机器上启动和运行 Devuan 所需的基本工具。 “实时”下载为您提供了一个工作桌面,您可以在将 Devuan 安装到您的计算机之前对其进行测试。
Devuan 默认使用 Xfce 桌面环境。 这是一个传统的计算环境,类似于几十年前的 PC 界面。 从功能上讲,Xfce 仍然能够处理当今人们期望从计算机上完成的大多数任务。
Devuan 的实时版本带有大量软件来满足一般期望。 Mozilla Firefox 可用于浏览网页。 LibreOffice 可用于打开和编辑文档。 GIMP 可以更改照片和其他图像。 这些应用程序的功能都如您所愿,与您运行的是哪个初始化系统无关。
虽然 Devuan 镜像 Debian 的软件包存储库,但两者不可互换。 添加用于 Debian 的存储库可能会破坏您的安装。 您可以通过终端或在随附的 Synaptic 包管理器中编辑软件源。
Devuan 可以很好地连接到 Wi-Fi 和以太网网络。 您还可以期望它能够识别您插入的闪存驱动器和硬盘驱动器。很有可能您甚至不会注意到差异。 Systemd 只是做事的一种方式,而不是唯一的方式。
Devuan 使用什么初始化系统?
归根结底,这个问题触及了 Devuan 的核心。
Devuan 默认使用 sysvinit 系统,类似于 Unix 中使用的 System V 初始化过程。 Sysvinit 是许多 Linux 版本(包括 Debian)在 systemd 之前使用的通用标准。
Devuan 还提供了许多替代方案。 你可以下载 开放RC, 运行和其他替换提供的 init 系统。
其他基于 Linux 的操作系统是否避免使用 systemd?
Gentoo 是从头开始构建您的操作系统的 Linux 发行版,默认为 OpenRC。 它是避免使用 systemd 的最古老和最著名的 Linux 版本之一。 Slackware 是另一个古老的基于 Linux 的操作系统,它选择坚持使用 sysvinit。 PCLinuxOS 是一个更年轻的选择,它也选择不切换到 systemd。
还有几个基于 Devuan 的 Linux 发行版。 虽然这个数字与 Debian 相比相形见绌,后者是许多著名的基于 Linux 的操作系统(如 Ubuntu)的基础。
你应该切换到Devuan吗?
你是系统管理员吗? 您是从头开始构建操作系统还是定期与启动守护进程和服务交互? 如果是这样,您对传统的系统管理方式是否更满意? 如果你的答案是肯定的,你可能更喜欢德文。 它更像是事物的延续,而不是全新的事物。
对于我们其他人来说,这个问题更像是一个哲学问题,而不是一个实用问题。 您喜欢传统的 Unix 方法,即完成一项工作并做好它吗? 您对将许多任务合并到一个项目中的想法是否有异议? 如果是这样,使用 Devuan 是您对该理想的信念的表达。
务实地说,如果您想要没有 systemd 的 Debian,请使用 Devuan。 如果您想要 systemd,请坚持使用 Debian。 没有比这更多的了。