systemd:初学者如何理解其中的争议

news2024/9/24 9:21:58
导读对于什么是 systemd,以及为什么它经常成为 Linux 世界争议的焦点,你可能仍然感到困惑。我将尝试用简单的语言来回答。

在 Linux 世界中,很少有争议能像传统的 System V 初始化 系统(通常称为 SysVinit)和较新的 systemd 之间的斗争那样引起如此大的争议。

在这篇文章中,我将简要讨论什么是 systemd、它相对于传统初始化系统有哪些优点和缺点以及为什么它会引起争议。

什么是 systemd?

systemd 是一个系统和服务管理器,于 2010 年首次推出,用于取代传统的 System V 初始化系统。它旨在提高启动速度并更有效地管理系统服务。如今,systemd 是许多流行 Linux 发行版的默认初始化系统,包括 Ubuntu、Fedora 和 Red Hat Enterprise Linux(RHEL)。

systemd 是守护进程吗?

尽管名字中带有 “d”,但 systemd 并不是一个守护进程。相反,它是一个为 Linux 提供许多系统组件的软件套件。其目标是标准化 Linux 发行版的服务配置和行为。

systemd 的主要组件是一个“系统和服务管理器”,它充当初始化系统来引导用户空间并管理用户进程。它还提供了各种守护程序和实用程序的替代品,从设备和登录管理到网络连接管理和事件记录。

systemd 的主要特性

systemd 具有许多功能,例如它能够主动并行化操作、方便按需启动守护进程、使用 Linux 控制组监视进程、管理挂载点和自动挂载点,以及实现复杂的基于事务依赖的服务控制逻辑。

此外,systemd 支持 SysV 和 LSB 初始化脚本,作为 SysVinit 的替代品。它还提供了一个日志守护进程和用于管理基本系统配置的工具程序。

systemd:初学者如何理解其中的争议systemd:初学者如何理解其中的争议

systemd 与 SysVinit:争议

SysVinit 与 systemd 争论的核心围绕如何最好地管理基于 Linux 的系统。关注的范围从复杂性和兼容性到管理系统服务的最佳方式,涉及系统管理员和 Linux 爱好者面临的基本问题。

批评者认为 systemd 过于复杂和巨大化,使得故障排除变得更加困难。他们担心单点故障,因为所有服务都由一个守护进程管理,并且担心与 Linux 内核的紧密集成,这可能会限制向其他系统的可移植性。

这就是为什么有些人创建 脱离 systemd 的发行版 的原因。

然而,支持者称赞 systemd 提供了一种更高效、更现代的系统管理方法,其服务启动的并行性和守护进程的按需启动减少了启动时间并提高了系统响应能力。他们还赞扬其先进的日志记录功能。

尽管存在争议,systemd 已成为许多 Linux 发行版的默认初始化系统,系统管理员和开发人员已经开始欣赏它的高级特性和功能。

systemd 与 SysVinit 的优点和缺点

优点:

SysVinit 的优点systemd 的优点
简单且熟悉提高启动速度
尊重 Unix 哲学标准化日志系统
更直接地控制系统服务一致的服务管理方法
系统成熟稳定与现代 Linux 系统和应用程序的兼容性
与遗留系统和应用的兼容性来自大型开发者和贡献者社区的积极开发和支持

缺点:

SysVinit 的缺点systemd 的缺点
与新的初始化系统相比功能有限复杂性和陡峭的学习曲线
缺乏对服务并行启动的内置支持有侵入性,可能会破坏与传统 Unix 工具和程序的兼容性
可能比新的初始化系统效率低,尤其是在大型系统上某些系统可能会出现不稳定和崩溃的情况
对现代 Linux 系统和应用的有限支持与尚未支持 systemd 的遗留系统和应用的兼容性有限

总结:个人观点

作为一名来自 UNIX 早期的 Linux 用户,我更倾向于传统的初始化系统。然而,尽管我最初有所抵触,但我已经开始接受 systemd,并看到了它的一些好处。每个系统在 Linux 世界中都有自己的位置,了解这两个系统非常重要。

关于 systemd 的争论仍在继续。你对此有何看法?

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/900574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT设置widget背景图片

首先说方法,在给widget或者frame或者其他任何类型的控件添加背景图时,在样式表中加入如下代码,指定某个控件,设置其背景。 类名 # 控件名 { 填充方式:图片路径 } 例如: QWidget#Widget {border-image: url…

1. 微信小程序开发环境搭建

下载 微信的小程序开发需要使用到微信开发者工具,通过https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html可以下载 下载完成后 安装

Linux 系统编程拾遗

Linux 系统编程拾遗 进程的创建 进程的创建 fork()、exit()、wait()以及execve()的简介 创建新进程:fork()

人工智能原理(6)

目录 一、机器学习概述 1、学习和机器学习 2、学习系统 3、机器学习发展简史 4、机器学习分类 二、归纳学习 1、归纳学习的基本概念 2、变型空间学习 3、归纳偏置 三、决策树 1、决策树组成 2、决策树的构造算法CLS 3、ID3 4、决策树的偏置 四、基于实例的学习…

嵌入式系统总线-片内总线

1.总线概述 总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。 2.总线参数 总线宽度:又称总线位宽,指的是总线能同时传送数据的位数。如16位总线就是具有16位数据传送能力。 总线频率&#xff…

apex安装出错:TypeError unsupported operand type(s) for +: “NoneType“ and “str“

Windows 10 环境下安装apex报错:TypeError unsupported operand type(s) for : “NoneType“ and “str“ 1、首先apex不能直接pip install apex安装。 2、具体安装步骤:【python】【深度学习】apex的安装_apex python_愿东大没有食堂的博客-CSDN博客 …

深入竞品:解读竞品分析的艺术与策略

引言:为何竞品分析至关重要? 在当今的产品环境中,市场变得越来越拥挤。每个角落都有新的创业公司试图创造下一个行业的颠覆者,同时也有成熟的巨头在不断地迭代和优化他们的产品。在这样的环境中,不了解您的竞争对手是…

『C语言初阶』第八章 -结构体

前言 今天小羊又来给铁汁们分享关于C语言的结构体,在C语言中,结构体类型属于一种构造类型(其他的构造类型还有:数组类型,联合类型),今天我们主要简单了解一下结构体。 一、结构体是什么&#x…

Linux Mint 21.3 计划于 2023 年圣诞节发布

Linux Mint 项目近日公布了基于 Ubuntu 的 Linux Mint 发行版下一个重要版本的一些初步细节,以及备受期待的基于 Debian 的 LMDE 6(Linux Mint Debian Edition)版本。 近日,Linux Mint 项目负责人克莱门特-勒菲弗(Clem…

ECA模块详解

注意:本文代码为自己理解之后实现,与原论文代码原理相同但并不完全一样,主要是输入张量的形状不同,若更想了解原文代码,可以访问:https://blog.csdn.net/weixin_45084253/article/details/124282580 &#…

使用RDP可视化远程桌面连接Linux系统

使用RDP可视化远程桌面连接Linux系统 远程桌面连接Linux安装安装包准备服务器安装xrdp远程连接 远程桌面连接Linux 通常使用SSH来连接服务器,进行命令行操作,但是这次需要远程调试生产环境的内网服务器,进行浏览器访问内网网站,至…

SQL助你面大厂(行列转换)

在面试中,不仅有算法题,还有这个老大难的SQL编写 SQL在面试中也是会经常会被问到,不仅仅是为了面试,在做项目的时候,往往用的最多的就是CRUD,这也提高不了我们的编写SQL的能力,所以最近我准备总结几个面试模板,以及一些…

webshell实践,在nginx上实现负载均衡

1、配置多台虚拟机,用作服务器 在不同的虚拟机上安装httpd服务 我采用了三台虚拟机进行服务器设置:192.168.240.11、192.168.240.12、192.168.240.13 [rootnode0-8 /]# yum install httpd -y #使用yum安装httpd服务#开启httpd服务 [rootnode0-8 /]# …

开发一个文生图的功能

文章目录 效果开发环境原理核心代码代码仓库问题效果 开发环境 Python 3.10PyCharm原理 借助开源项目stable-diffusion,通过该项目封装python库diffusers,可以轻易的实现文生图的功能。 关于更多diffusers的功能请访问:https://huggingface.co/docs/diffusers/index 核心代…

Linux命令200例:nc非常有用的网络工具(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…

LeetCode128.最长连续序列

我这个方法有点投机取巧了,题目说时间复杂度最多O(n),而我调用了Arrays.sort()方法,他的时间复杂度是n*log(n),但是AC了,这样的话这道题还是非常简单的,创建一个Hashmap,以nums数组的元素作为ke…

回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图)效果一览基…

Java源码分析(一)Integer

当你掌握Java语言到了一定的阶段,或者说已经对Java的常用类和API都使用的行云流水。你会不会有一些思考?比如,这个类是如何设计的?这个方法是怎么实现的?接下来的一系列文章,我们一起学习下Java的一些常见类…

CF 1354 C1 C2 Polygon Embedding(求奇偶正多边形的外接最小正方形的边长)

CF 1354 C1 / C2 Polygon Embedding(求奇偶正多边形的外接最小正方形的边长) Problem - C1 - Codeforces Problem - C2 - Codeforces EASY : 大意:给出一个偶数 n , 求 正 (2 * n) 边形的最小外接正方形的边长。 可以想出两种最直观的情况…