systemd
systemd — системний менеджер Linux, який поєднує у собі функції системи ініціалізації, механізм для контролю за виконанням фонових процесів, службу для журналювання подій і засоби для керування сервісами, сеансами користувачів і під'єднаними пристроями. Systemd націлений на інтенсивну паралелізацію виконання сервісів на етапі завантаження системи, Systemd позбувся оформлення сценаріїв запуску у вигляді shell-скриптів, що звільняє від потреби попереднього завантаження інтерпретаторів.
Тип | демон ініціалізації |
---|---|
Автор(и) | Леннарт Поттерінг, Kay Sievers |
Розробники | Lennart Poettering, Kay Sievers та інші[1] |
Перший випуск | 30 березня 2010 |
Версії | 250 (23 грудня 2021)[2][3][4] |
Репозиторій | github.com/systemd/systemd |
Операційна система | Linux |
Мова програмування | C[5] |
Розмір | ~6.8 MB |
Ліцензія | GNU LGPL 2.1+ (вільне програмне забезпечення)[6] |
Вебсайт | freedesktop.org/wiki/Software/systemd/ |
systemd у Вікісховищі |
systemd увібрав у себе деякі риси таких систем, як launchd (Mac OS X), SMF (Sun Solaris) і Upstart (Ubuntu).
На використання systemd перейшли такі дистрибутиви, як Fedora, openSUSE, Mandriva, Arch Linux, Debian, Ubuntu.
Архітектура
У порівнянні з System V init systemd надає такі переваги:
- Сокет-активні і шина-активні сервіси, які іноді приводять до кращого розпаралелювання взаємозалежних сервісів.
- cgroups використовується для відстеження сервісних процесів, замість ідентифікаторів процесів (PID). Це означає, що демони не будуть втрачені навіть після розгалуження в інші процеси.
systemd відпочатку розроблений тільки для Linux, бо спирається на такі функції, як cgroups і fanotify.[7] Через це Debian, як дистрибутив, що працює на різних ядрах (не тільки Linux), деякий час утримувався від використання systemd.[8]
У квітні 2012 сирцеві коди менеджера пристроїв udev були об'єднані з systemd.[9]
Використання
systemd був запропонований як зовнішня залежність для GNOME 3.2 автором проекту.[10] Це фактично вимагає від усіх дистрибутивів, що використовують GNOME, застосовувати systemd, або принаймні, включити його як налаштовувану опцію.
Дистрибутиви, в яких systemd встановлений за замовчуванням:
- Red Hat Enterprise Linux і CentOS, починаючи з версії 7.
- Ubuntu, починаючи з версії 15.04. Деякі компоненти systemd, а саме hostnamed, locald і timenamed, з'явилися у Ubuntu 13.04.[11]
- Fedora 15 і пізніші[12]
- Mageia 2[13]
- Mandriva 2011[14]
- openSUSE 12.1 і пізніші[15]
- Arch Linux 12.10 має пакет systemd і набір файлів для роботи сервісів «з коробки»[16][17][18]
- Debian GNU/Linux, починаючи з версії 8.[19]
Дистрибутиви, в яких systemd доступний:
Критика
Незалежні розробники та користувачі критикують[22][23] systemd за вкрай низьку якість початкового коду, поганий дизайн, надмірну громіздкість, навмисну втрату сумісності з іншими проектами та негативну реакцію розробників на звіти про помилки[24]. Головний розробник systemd Леннарт Поттерінг за відмову[25] від виправлення вразливості systemd, що пізніше отримала індекс CVE-2017-1000082, удостоївся премії Pwnie Awards 2017 в номінації «Найбільш дурнувата реакція розробника»[26][27].
Виноски
- README. systemd (freedesktop.org). Процитовано 9 вересня 2012.
- systemd 250 released — 2021.
- https://github.com/systemd/systemd/releases/tag/v250 — 2021.
- systemd 250 Released With A Huge Number Of New Features, Improvements — 2021.
- systemd. Analysis Summary (Ohloh). Процитовано 16 червня 2011.
- Lennart Poettering (21 квітня 2012). systemd Status Update. Процитовано 28 квітня 2012.
- Lennart Poettering (30 квітня 2010). systemd FAQ. Процитовано 14 грудня 2011.
- Jake Edge (27 липня 2011). Debian debates systemd. Процитовано 14 грудня 2011.
- Sievers, Kay. Commit importing udev into systemd. systemd. Процитовано 25 травня 2012.
- Lennart Poettering (18 травня 2011). systemd as an external dependency. desktop-devel mailing list (GNOME). Процитовано 26 травня 2011.
- 100 областей, systemd в upstart, фазовое обновление и ядро 3.8 в Ubuntu 13.04
- Dj Walker-Morgan (24 травня 2011). Fedora 15's Lovelock released. The H. Архів оригіналу за 12 липня 2012. Процитовано 26 травня 2011.
- Fabian Scherschel (23 травня 2012). Mageia 2 arrives with GNOME 3 and systemd. The H. Архів оригіналу за 8 грудня 2013. Процитовано 26 травня 2012.
- Dj Walker-Morgan (29 серпня 2011). Mandriva 2011 arrives with systemd. The H. Архів оригіналу за 9 липня 2012. Процитовано 29 серпня 2011.
- Chris von Eitzen (16 листопада 2011). openSUSE 12.1 arrives with systemd and Btrfs. The H. Архів оригіналу за 20 квітня 2012. Процитовано 16 листопада 2011.
- systemd. Archlinux Wiki. Процитовано 9 березня 2011.
- systemd is now the default on new installations. 13 жовтня 2012.
- Arch Linux перешёл на systemd. 13 жовтня 2012. // opennet.ru
- systemd. Debian wiki. Процитовано 21 липня 2011.
- Comment #210. systemd – bug #318365 (Gentoo's Bugzilla). Процитовано 5 липня 2011.
- systemd. Gentoo's Documentation. Процитовано 5 липня 2011.
- https://lkml.org/lkml/2014/4/2/420
- Линус Торвальдс выдвинул ультиматум на приём патчей от разработчиков systemd. 03.04.2014. // opennet.ru
- Архівована копія. Архів оригіналу за 10 липня 2015. Процитовано 23 жовтня 2017.
- https://github.com/systemd/systemd/issues/6237
- https://pwnies.com/nominations/
- Леннарт Поттеринг удостоен премии Pwnie Awards 2017. // linux.org.ru
Посилання
- freedesktop.org/.../systemd/
- systemd. 0pointer.
- systemd project. Fedora.
- The road forward for systemd. LWN.
- cgit. freedesktop.
- Сравнение систем инициализации systemd, upstart и SysVinit // opennet.ru 29.04.2011