Топ питань
Часова шкала
Чат
Перспективи

Systemd

З Вікіпедії, вільної енциклопедії

Systemd
Remove ads

systemd — системний менеджер Linux, який поєднує у собі функції системи ініціалізації, механізм для контролю за виконанням фонових процесів, службу для журналювання подій і засоби для керування сервісами, сеансами користувачів і під'єднаними пристроями. Systemd націлений на інтенсивну паралелізацію виконання сервісів на етапі завантаження системи, Systemd позбувся оформлення сценаріїв запуску у вигляді shell-скриптів, що звільняє від потреби попереднього завантаження інтерпретаторів.

Коротка інформація Тип, Автор ...

systemd увібрав у себе деякі риси таких систем, як launchd(інші мови) (Mac OS X), SMF (Sun Solaris) і Upstart (Ubuntu).

На використання systemd перейшли такі дистрибутиви, як Fedora, openSUSE, Mandriva, Arch Linux, Debian, Ubuntu.

Remove ads

Архітектура

Порівняно з System V init(інші мови), systemd має наступні поліпшення:

  • Сокет-активні і шина-активні сервіси, які іноді приводять до кращого розпаралелювання взаємозалежних сервісів.
  • cgroups використовується для відстеження сервісних процесів, замість ідентифікаторів процесів (PID). Це означає, що демони не будуть втрачені навіть після розгалуження в інші процеси.

systemd відпочатку розроблений тільки для Linux, бо спирається на такі функції, як cgroups і fanotify(інші мови).[4] Через це Debian, як дистрибутив, що працює на різних ядрах (не тільки Linux), деякий час утримувався від використання systemd.[5]

У квітні 2012 сирцеві коди менеджера пристроїв udev були об'єднані з systemd.[6]

Remove ads

Використання

systemd був запропонований як зовнішня залежність для GNOME 3.2 автором проєкту.[7] Це фактично вимагає від усіх дистрибутивів, що використовують GNOME, застосовувати systemd, або принаймні, включити його як налаштовувану опцію.

Дистрибутиви, в яких systemd встановлений за замовчуванням:

Дистрибутиви, в яких systemd доступний:

  • Gentoo надає пакунки systemd, але без гарантованої підтримки.[17][18]
Remove ads

Критика

Узагальнити
Перспектива

Незалежні розробники та користувачі критикують[19][20] systemd за вкрай низьку якість початкового коду, надмірну громіздкість, управління різними мережевими службами, навмисну втрату сумісності з іншими проєктами, поганий дизайн та те, що розробники негативно реагують на повідомлення у звітах про помилки програмування, ігноруючи або заперечуючи їх[21]. Головний розробник systemd Леннарт Поттерінг удостоївся премії Pwnie Awards 2017 у номінації «Найбільш дурнувата реакція розробника» за відмову[22] виправити вразливість systemd, яка згодом отримала індекс CVE-2017-1000082[23][24]. Траплялись випадки видалення домашніх каталогів користувачів через помилку, спричинену systemd, під час спроби користувачів очистити систему від тимчасових файлів[25][26][27].

Серед публічних критиків systemd є також Патрік Фолькердінг, засновник проєкту Slackware, який у своїй критиці архітектури systemd наголосив, що «спроба контролювати служби, сокети, пристрої, монтування тощо в рамках єдиного демона суперечить концепції Unix, яка полягає в тому, щоб робити одну річ і робити її добре»[28]. Systemd призначений для запуску основних програм, проте його можливості виходять далеко за межі обов'язків системи ініціалізації, оскільки він також обробляє управління живленням, управління пристроями, точки монтування, шифрування диска, планувальник завдань типу cron, сокет API/inetd, конфігурацію мережі, управління входом/сесією, readahead, виявлення розділів GPT, реєстрацію контейнерів, управління ім'ям хоста/локалізацією/часом та іншими речами[29]. Критики systemd стверджують, що широкий спектр функцій systemd створює більшу поверхню атаки[30].

Існує занепокоєння, що systemd зробить звичне програмне забезпечення (наприклад, GNOME) несумісним з «класичними» дистрибутивами Linux, що ставить під питання їхнє майбутнє (схожа ситуація спостерігається і для іншого проекту Петтерінга — служби PulseAudio[31])[29]. Окремі аспекти підсистеми та підходи до її розробки були піддані критиці з боку Лінуса Торвальдса (зокрема, за «безцеремонність у питаннях зворотної сумісності»), але в цілому він не має твердої думки щодо systemd[32].

Все це призвело до розробки альтернативних дистрибутивів Linux, які замінюють systemd іншими системами ініціалізації, такими як SysVinit(інші мови), OpenRC(інші мови), runit(інші мови) тощо[33].

Remove ads

Виноски

Посилання

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads