mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-01 21:50:13 +08:00
91 lines
5.5 KiB
Markdown
91 lines
5.5 KiB
Markdown
|
[#]: subject: "The systemd Controversy: A Beginner's Guide to Understanding the Debate"
|
||
|
[#]: via: "https://itsfoss.com/systemd-init/"
|
||
|
[#]: author: "Bill Dyer https://itsfoss.com/author/bill/"
|
||
|
[#]: collector: "lkxed"
|
||
|
[#]: translator: " "
|
||
|
[#]: reviewer: " "
|
||
|
[#]: publisher: " "
|
||
|
[#]: url: " "
|
||
|
|
||
|
The systemd Controversy: A Beginner's Guide to Understanding the Debate
|
||
|
======
|
||
|
|
||
|
In the world of Linux, few debates have stirred as much controversy as the battle between the traditional System V [init][1] system, often known as SysVinit, and the newer [`systemd`][2].
|
||
|
|
||
|
In this article, I'll briefly discuss what systemd is, what advantages and disadvantages it has over the traditional init systems and why it is controversial.
|
||
|
|
||
|
### What is systemd?
|
||
|
|
||
|
systemd is a system and service manager, first introduced in 2010 to replace the traditional System V init system. It was designed to improve boot-up speeds and manage system services more efficiently. Today, `systemd` is the default `init` system for many popular Linux distributions, including Ubuntu, Fedora, and Red Hat Enterprise Linux.
|
||
|
|
||
|
### Is systemd a Daemon?
|
||
|
|
||
|
Despite the name, `systemd` is not a daemon. Instead, it's a software suite that provides a number of system components for Linux. Its goal: to standardize service configuration and behavior across Linux distributions.
|
||
|
|
||
|
The main component of `systemd` is a "system and service manager", which serves as an `init` system to bootstrap user space and manage user processes. It also offers replacements for various daemons and utilities, from device and login management to network connection management and event logging.
|
||
|
|
||
|
### Key Features of systemd
|
||
|
|
||
|
`systemd` has many features, such as its ability to aggressively parallelize operations, facilitate the on-demand launching of daemons, monitor processes using Linux control groups, manage mount and automount points, and implement a sophisticated transactional dependency-based service control logic.
|
||
|
|
||
|
Additionally, `systemd` supports SysV and LSB init scripts, serving as a substitute for SysVinit. It also offers a logging daemon and utilities for managing essential system configurations.
|
||
|
|
||
|
![systemd on fedora - Courtesy of Wikimedia][3]
|
||
|
|
||
|
### systemd Vs SysVinit: The Controversy
|
||
|
|
||
|
The heart of the init vs systemd debate revolves around how best to manage Linux-based systems. Concerns range from complexity and compatibility to the optimal way to manage system services, touching on foundational questions facing system administrators and Linux enthusiasts.
|
||
|
|
||
|
Critics argue that `systemd` is too complex and monolithic, making it harder to troubleshoot. They worry about a single point of failure, as all services are managed by one daemon, and voice concerns about tight integration with the Linux kernel, which could limit portability to other systems.
|
||
|
|
||
|
That's the reason why some people created [distributions free from systemd][4].
|
||
|
|
||
|
Proponents, however, praise `systemd` for providing a more efficient and modern approach to system management, with its parallelization of service startup and on-demand starting of daemons reducing boot times and improving system responsiveness. They also commend its advanced logging capabilities.
|
||
|
|
||
|
Despite the controversy, `systemd` has become the default `init` system for many Linux distributions, and system administrators and developers have come to appreciate its advanced features and capabilities.
|
||
|
|
||
|
### Positives and Negatives of systemd Vs SysVinit
|
||
|
|
||
|
**Positives**
|
||
|
|
||
|
| Positives of SysVinit | Positives of systemd |
|
||
|
| :- | :- |
|
||
|
| Simplicity and familiarity | Improved boot-up speed |
|
||
|
| Respect for Unix philosophy | Standardized logging system |
|
||
|
| More direct control over system services | Consistent approach to service management |
|
||
|
| Mature and stable system | Compatibility with modern Linux systems and applications |
|
||
|
| Compatibility with legacy systems and applications | Active development and support from a large community of developers and contributors |
|
||
|
|
||
|
**Negatives**
|
||
|
|
||
|
| Negatives of SysVinit | Negatives of systemd |
|
||
|
| :- | :- |
|
||
|
| Limited functionality compared to newer `init` systems | Complexity and steep learning curve |
|
||
|
| Lack of built-in support for parallel startup of services | Invasive nature and potential for breaking compatibility with traditional Unix tools and utilities |
|
||
|
| Can be less efficient than newer `init` systems, especially on large systems | Potential for instability and crashes on some systems |
|
||
|
| Limited support for modern Linux systems and applications | Limited compatibility with legacy systems and applications that have not been updated to work with `systemd` |
|
||
|
|
||
|
### Conclusion: A Personal Perspective
|
||
|
|
||
|
As a Linux user hailing from the older days of UNIX, my preference leans toward the traditional `init` system. However, I've come to accept `systemd`, seeing some of its benefits despite my initial resistance. Each system has its own place in the Linux world, and it's important to understand both.
|
||
|
|
||
|
The `systemd` debate continues. What is your take on it?
|
||
|
|
||
|
--------------------------------------------------------------------------------
|
||
|
|
||
|
via: https://itsfoss.com/systemd-init/
|
||
|
|
||
|
作者:[Bill Dyer][a]
|
||
|
选题:[lkxed][b]
|
||
|
译者:[译者ID](https://github.com/译者ID)
|
||
|
校对:[校对者ID](https://github.com/校对者ID)
|
||
|
|
||
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||
|
|
||
|
[a]: https://itsfoss.com/author/bill/
|
||
|
[b]: https://github.com/lkxed/
|
||
|
[1]: https://en.wikipedia.org:443/wiki/Init
|
||
|
[2]: https://systemd.io:443/
|
||
|
[3]: https://itsfoss.com/content/images/2023/07/Systemd-on-fedora.png
|
||
|
[4]: https://itsfoss.com/systemd-free-distros/
|