| Тип | демон ініціалізації |
|---|---|
| Автор | Леннарт Поттерінг, Kay Sievers |
| Розробники | Lennart Poettering, Kay Sievers та інші[1] |
| Перший випуск | 30 березня 2010 |
| Операційна система | Linux |
| Мова програмування | C[3] |
| Розмір | ~6.8 MB |
| Ліцензія | GNU LGPL 2.1+ (вільне програмне забезпечення)[4] |
| Репозиторій | github.com/systemd/systemd |
| Вебсайт | freedesktop.org/wiki/Software/systemd/ |
systemd — системний менеджер Linux, який поєднує у собі функції системи ініціалізації, механізм для контролю за виконанням фонових процесів, службу для журналювання подій і засоби для керування сервісами, сеансами користувачів і під'єднаними пристроями. Systemd націлений на інтенсивну паралелізацію виконання сервісів на етапі завантаження системи, Systemd позбувся оформлення сценаріїв запуску у вигляді shell-скриптів, що звільняє від потреби попереднього завантаження інтерпретаторів.
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.[5] Через це Debian, як дистрибутив, що працює на різних ядрах (не тільки Linux), деякий час утримувався від використання systemd.[6]
У квітні 2012 сирцеві коди менеджера пристроїв udev були об'єднані з systemd.[7]
Використання
systemd був запропонований як зовнішня залежність для GNOME 3.2 автором проєкту.[8] Це фактично вимагає від усіх дистрибутивів, що використовують GNOME, застосовувати systemd, або принаймні, включити його як налаштовувану опцію.
Дистрибутиви, в яких systemd встановлений за замовчуванням:
- Red Hat Enterprise Linux і CentOS, починаючи з версії 7.
- Ubuntu, починаючи з версії 15.04. Деякі компоненти systemd, а саме hostnamed, locald і timenamed, з'явилися у Ubuntu 13.04.[9]
- Fedora 15 і пізніші.[10]
- Mageia 2.[11]
- Mandriva 2011.[12]
- openSUSE 12.1 і пізніші.[13]
- Arch Linux 12.10 має пакет systemd і набір файлів для роботи сервісів «з коробки».[14][15][16]
- Debian, починаючи з версії 8.[17]
Дистрибутиви, в яких systemd доступний:
Критика
Незалежні розробники та користувачі критикують[20][21] systemd за вкрай низьку якість початкового коду, надмірну громіздкість, управління різними мережевими службами, навмисну втрату сумісності з іншими проєктами, поганий дизайн та пасивну реакцію розробників на звіти про помилки, ігноруючи або заперечуючи ці помилки[22]. Головний розробник systemd Леннарт Поттерінг удостоївся премії Pwnie Awards 2017 у номінації «Найбільш дурнувата реакція розробника» за відмову[23] виправити вразливість systemd, яка згодом отримала індекс CVE-2017-1000082[24][25]. Влітку 2024 року користувачі почали стикатися з випадками, коли їхні домашні каталоги були видалені через помилку systemd, що виникала під час спроби очистити тимчасові файли з системи[26][27][28].
Серед публічних критиків systemd є також Патрік Фолькердінг, засновник проєкту Slackware, який у своїй критиці архітектури systemd наголосив, що «спроба контролювати служби, сокети, пристрої, монтування тощо в рамках єдиного демона суперечить концепції Unix, яка полягає в тому, щоб робити одну річ і робити її добре»[29]. Systemd призначений для запуску основних програм, проте його можливості виходять далеко за межі обов'язків системи ініціалізації, оскільки він також обробляє управління живленням, управління пристроями, точки монтування, шифрування диска, планувальник завдань типу cron, сокет API/inetd, конфігурацію мережі, управління входом/сесією, readahead, виявлення розділів GPT, реєстрацію контейнерів, управління ім'ям хоста/локалізацією/часом та іншими речами[30]. Критики systemd стверджують, що широкий спектр функцій systemd створює більшу поверхню атаки[31].
Існує занепокоєння, що systemd зробить звичне програмне забезпечення (наприклад, GNOME) несумісним з «класичними» дистрибутивами Linux, що ставить під питання їхнє майбутнє (схожа ситуація спостерігається і для іншого проєкту Поттерінга — служби PulseAudio[32])[30]. Окремі аспекти підсистеми та підходи до її розробки були піддані критиці з боку Лінуса Торвальдса (зокрема, за «безцеремонність у питаннях зворотної сумісності»), але в цілому він не має твердої думки щодо systemd[33].
Все це призвело до розробки альтернативних дистрибутивів Linux, які замінюють systemd іншими системами ініціалізації, такими як GNU Shepherd[34], OpenRC[35], runit, SysVinit, Upstart тощо[36][37].
Виноски
- ↑ README, systemd, freedesktop.org, архів оригіналу за 7 липня 2013, процитовано 9 вересня 2012
- ↑ README - systemd/systemd - System and Session Manager
- ↑ systemd, Analysis Summary, Ohloh, архів оригіналу за 15 жовтня 2012, процитовано 16 червня 2011 [Архівовано 2012-10-15 у Wayback Machine.]
- ↑ Lennart Poettering (21 квітня 2012), systemd Status Update, архів оригіналу за 27 серпня 2015, процитовано 28 квітня 2012
- ↑ Lennart Poettering (30 квітня 2010), systemd FAQ, архів оригіналу за 15 січня 2017, процитовано 14 грудня 2011
- ↑ Jake Edge (27 липня 2011), Debian debates systemd, архів оригіналу за 15 травня 2012, процитовано 14 грудня 2011
- ↑ Sievers, Kay, Commit importing udev into systemd, systemd, архів оригіналу за 8 липня 2012, процитовано 25 травня 2012
- ↑ Lennart Poettering (18 травня 2011), systemd as an external dependency, desktop-devel mailing list, GNOME, архів оригіналу за 10 жовтня 2014, процитовано 26 травня 2011
- ↑ 100 областей, systemd в upstart, фазовое обновление и ядро 3.8 в Ubuntu 13.04. Архів оригіналу за 16 листопада 2012. Процитовано 22 листопада 2012.
- ↑ 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, архів оригіналу за 23 травня 2011, процитовано 9 березня 2011
- ↑ systemd is now the default on new installations, 13 жовтня 2012, архів оригіналу за 18 жовтня 2012, процитовано 22 листопада 2012
- ↑ Arch Linux перешёл на systemd, 13 жовтня 2012, архів оригіналу за 17 жовтня 2012, процитовано 22 листопада 2012 // opennet.ru
- ↑ systemd, Debian wiki, архів оригіналу за 1 грудня 2012, процитовано 21 липня 2011
- ↑ Comment #210, systemd – bug #318365, Gentoo's Bugzilla, архів оригіналу за 16 лютого 2015, процитовано 5 липня 2011
- ↑ systemd, Gentoo's Documentation, архів оригіналу за 26 червня 2011, процитовано 5 липня 2011
- ↑ LKML: Linus Torvalds: Re: [RFC PATCH] cmdline: Hide "debug" from /proc/cmdline. lkml.org. Архів оригіналу за 22 жовтня 2017. Процитовано 17 грудня 2025.
- ↑ OpenNews: Линус Торвальдс выдвинул ультиматум на приём патчей от разработчиков systemd. www.opennet.ru. Архів оригіналу за 24 жовтня 2017. Процитовано 17 грудня 2025.
- ↑ Arguments against systemd - Without Systemd. without-systemd.org (англ.). Архів оригіналу за 10 липня 2015. Процитовано 17 грудня 2025.
- ↑ systemd can't handle the process previlege that belongs to user name startswith number, such as 0day · Issue #6237 · systemd/systemd. GitHub (англ.). Архів оригіналу за 18 жовтня 2017. Процитовано 17 грудня 2025.
- ↑ Pwnie Awards. pwnies.com (англ.). Архів оригіналу за 24 жовтня 2017. Процитовано 18 грудня 2025.
- ↑ Леннарт Поттеринг удостоен премии Pwnie Awards 2017. www.linux.org.ru (рос.). Архів оригіналу за 24 жовтня 2017. Процитовано 18 грудня 2025.
- ↑ Пользователи systemd столкнулись с проблемой, приводившей к удалению домашних каталогов. www.opennet.ru. Процитовано 18 грудня 2025.
- ↑ dept, EditorDavid from the init-to-win-it (22 червня 2024). Systemd 256.1 Addresses Complaint That 'systemd-tmpfiles' Could Unexpectedly Delete Your /home Directory - Slashdot. slashdot.org (англ.). Процитовано 18 грудня 2025.
- ↑ Systemd 256.1 Fixes "systemd-tmpfiles" Unexpectedly Deleting Your /home Directory. www.phoronix.com (англ.). Процитовано 18 грудня 2025.
- ↑ 【Engineering】Unix Philosophy. 西维蜀黍 (амер.). Процитовано 18 грудня 2025.
- ↑ а б Vaughan-Nichols, Steven (19 вересня 2014). Linus Torvalds and others on Linux's systemd. ZDNet. CBS Interactive. Архів оригіналу за 25 лютого 2015. Процитовано 24 лютого 2015.
- ↑ Freedesktop Systemd : Security vulnerabilities, CVEs. www.cvedetails.com (англ.). Процитовано 18 грудня 2025.
- ↑ 1345661 - PulseAudio requirement breaks Firefox on ALSA-only systems. bugzilla.mozilla.org (англ.). Архів оригіналу за 3 жовтня 2021. Процитовано 17 грудня 2025.
- ↑ Varghese, Sam. iTWire - Torvalds says he has no strong opinions on systemd. itwire.com (брит.). Процитовано 18 грудня 2025.
- ↑ The GNU Shepherd Manual. shepherding.services. Процитовано 25 грудня 2025.
- ↑ Project:OpenRC — Gentoo Wiki. wiki.gentoo.org. Процитовано 25 грудня 2025.
- ↑ McKay, Dave (24 лютого 2021). The Best Linux Distributions Without systemd. How-To Geek (англ.). Процитовано 18 грудня 2025.
- ↑ Подсистема инициализации systemD. Недостатки systemD. pingvinus.ru (рос.). Процитовано 25 грудня 2025.
Посилання
- freedesktop.org/.../systemd/
- systemd, 0pointer, архів оригіналу за 15 січня 2017, процитовано 22 листопада 2012
- systemd project, Fedora, архів оригіналу за 21 травня 2012, процитовано 22 листопада 2012
- The road forward for systemd, LWN, архів оригіналу за 21 жовтня 2012, процитовано 22 листопада 2012
- cgit, freedesktop, архів оригіналу за 20 червня 2012, процитовано 22 листопада 2012
- Сравнение систем инициализации systemd, upstart и SysVinit [Архівовано 12 листопада 2012 у Wayback Machine.] // opennet.ru 29.04.2011








