Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Компоненты systemd

systemd — подсистема инициализации и управления службами в Linux, фактически вытеснившая в 2010-е годы традиционную подсистему init. Основная особенность — интенсивное распараллеливание запуска служб в процессе загрузки системы, что позволяет существенно ускорить запуск операционной системы. Основная единица управления — модуль, одним из типов модулей являются «службы» — аналог демонов — наборы процессов, запускаемые и управляемые средствами подсистемы и изолируемые контрольными группами.

Первые версии были созданы в результате сотрудничества Леннарта Пёттеринга и Кая Зиверса[en], с середины 2010-х годов проект развивается в основном силами Пёттеринга и других сотрудников Red Hat[7]. Опубликован как свободное программное обеспечение под условиями лицензии GNU Lesser General Public License версии 2.1 или позднее[8].

Архитектура

Подсистема оперирует специально оформленными файлами конфигурации — модулями (англ. unit). Каждый модуль отвечает за отдельно взятую службу, точку монтирования, подключаемое устройство, файл подкачки, виртуальную машину и тому подобные ресурсы. Существуют специальные типы модулей, которые не несут функциональной нагрузки, но позволяют задействовать дополнительные возможности systemd, к ним относятся модули типа target, slice, automount и ряд других. На октябрь 2016 года systemd поддерживает следующие типы модулей:

  • .target — позволяет группировать модули, воплощая концепцию уровней запуска;
  • .service — отвечает за запуск сервисов (служб), также поддерживает вызов интерпретаторов для исполнения пользовательских скриптов;
  • .mount — отвечает за монтирование файловых систем;
  • .automount — позволяет отложить монтирование файловых систем до фактического обращения к точке монтирования;
  • .swap — отвечает за подключение файла или устройства подкачки;
  • .timer — позволяет запускать модули по расписанию;
  • .socket — предоставляет службам поддержку механизма сокет-активации;
  • .slice — отвечает за создание контейнера cgroups;
  • .device — позволяет реагировать на подключение устройств;
  • .path — позволяет запускать модули при появлении пути в файловой системе.

По сравнению с традиционной системой инициализации в стиле System V, systemd даёт преимущества в следующем:

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

В апреле 2012 года исходные коды менеджера устройств udev были объединены с systemd[9].

Подсистема изначально разработана только для Linux, и опирается на специфичные для него функции, такие как cgroups и fanotify[de][10]. По этой причине Debian, как дистрибутив, работающий на различных ядрах (не только Linux), не полностью использует systemd[11].

Возможности

Помимо простого запуска и контроля служб, systemd предлагает некоторые другие удобные функции, для использования которых ранее системным администраторам приходилось прибегать к помощи дополнительных программ-демонов. Среди таких функций:

  • сокет-активация служб (заменяет inetd);
  • запуск сервисов по расписанию (заменяет cron);
  • работа с аппаратным сторожевым таймером (заменяет watchdog);
  • смена корня (заменяет chroot);
  • автомонтирование томов и сетевых ресурсов (заменяет mount и fstab);
  • journalctl — служба журналирования;
  • systemd-analyze — анализ скорости запуска служб;
  • systemd-boot — UEFI-загрузчик (заменяет GRUB).

Использование

Подсистема была предложена как внешняя зависимость для GNOME 3.2 автором проекта[12]; это фактически потребовало от всех дистрибутивов, использующих GNOME, использовать systemd, или по крайней мере, включить его в качестве настраиваемой опции. GNOME версии 3.8 и выше уже нельзя установить без systemd.

Дистрибутивы, в которых systemd установлен по умолчанию:

  • Debian GNU/Linux версии 8 и выше;
  • RHEL версии 7 и выше[13];
  • CentOS версии 7 и выше;
  • Ubuntu версии 15.10 и выше; (с 16.04 — по умолчанию[14]; с 16.10 — единственная система инициализации)
  • Fedora версии 15 и выше[15];
  • Mageia 2[16];
  • Mandriva 2011[17];
  • Rosa
  • openSUSE 12.1 и выше[18];
  • Arch Linux 12.11[19][20][21] (предоставляет возможность использования как самописной системы инициализации (более не поддерживается[22]), так и любой другой (также без официальной поддержки со стороны дистрибутива));
  • Sabayon 13.08[23].
  • Gentoo предоставляет пакеты systemd в стабильной ветке[24][25].
  • Sailfish OS (мобильная операционная система)

Многие дистрибутивы сохраняют традиционные системы инициализации как опциональные. Другие могут использовать только отдельные компоненты systemd. Так, например Ubuntu с 13.04 по 14.10 использовала только hostnamed, localed и timenamed[26].

Подсистема принципиально не используется в дистрибутивах Slackware, Alpine, Void, Devuan (ответвление от Debian в связи с переходом его systemd).

Критика

Несмотря на широкую поддержку, разработка systemd вызвала в сообществе Linux жаркие дебаты. Критики обращают внимание на излишнюю сложность и раздувание функциональных возможностей systemd за счёт поглощения других служб Linux, отмечая, что такой подход противоречит «философии Unix», отрицающей концентрацию различных функций в одной программе («пусть каждая программа делает что-то одно, но делает это хорошо»).

Также существует озабоченность, что systemd, делает популярное программное обеспечение (например, GNOME) несовместимым с «классическими» дистрибутивами Linux, что ставит под вопрос их будущее (похожая ситуация наблюдается и для другого проекта Пёттеринга — службы PulseAudio)[27][28].

Среди публичных критиков systemd — основатель Slackware Патрик Фолькердинг, при этом в интервью 2012 года он не исключал, что однажды в дистрибутив systemd всё же будет включён (по состоянию на 2024 год этого не произошло).

Отдельные аспекты подсистемы и подходы к разработке критиковал Линус Торвальдс (в частности, за «бесцеремонность в вопросах обратной совместимости»), однако в целом он последовательно поддерживает проект.

Примечания

  1. [systemd-devel systemd 255 released] — 2023.
  2. 1 2 README - systemd/systemd - System and Session Manager (англ.)
  3. systemd/systemd - System and Session Manager (англ.)
  4. The systemd Open Source Project on Open Hub: Languages Page — 2006.
  5. README - systemd/systemd - System and Session Manager (англ.)
  6. README - systemd/systemd - System and Session Manager (англ.)
  7. Lennart Poettering, "FAQs", systemd, 0pointer, Архивировано 15 января 2017, Дата обращения: 16 июня 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 15 января 2017 года.
  8. Lennart Poettering (2012-04-21), systemd Status Update, Архивировано 27 августа 2015, Дата обращения: 28 апреля 2012 Источник. Дата обращения: 16 августа 2012. Архивировано 27 августа 2015 года.
  9. Sievers, Kay, "Commit importing udev into systemd", systemd, Архивировано 8 июля 2012, Дата обращения: 25 мая 2012 Источник. Дата обращения: 16 августа 2012. Архивировано 8 июля 2012 года.
  10. Lennart Poettering (2010-04-30), systemd FAQ, Архивировано 15 января 2017, Дата обращения: 14 декабря 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 15 января 2017 года.
  11. Jake Edge (2011-07-27), Debian debates systemd, Архивировано 15 мая 2012, Дата обращения: 14 декабря 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 15 мая 2012 года.
  12. Lennart Poettering (2011-05-18), "systemd as an external dependency", desktop-devel mailing list, GNOME, Архивировано 10 октября 2014, Дата обращения: 26 мая 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 10 октября 2014 года.
  13. What’s new in Red Hat Enterprise Linux 7, Архивировано 17 июля 2014, Дата обращения: 15 июля 2014 Источник. Дата обращения: 15 июля 2014. Архивировано 17 июля 2014 года.
  14. Ubuntu Linux переходит на systemd, следом за Debian. Дата обращения: 14 февраля 2014. Архивировано 22 февраля 2014 года.
  15. Dj Walker-Morgan (2011-05-24), Fedora 15’s Lovelock released, The H, Архивировано из оригинала 12 июля 2012, Дата обращения: 26 мая 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 12 июля 2012 года.
  16. Fabian Scherschel (2012-05-23), Mageia 2 arrives with GNOME 3 and systemd, The H, Архивировано из оригинала 8 декабря 2013, Дата обращения: 26 мая 2012 Источник. Дата обращения: 16 августа 2012. Архивировано 8 декабря 2013 года.
  17. Dj Walker-Morgan (2011-08-29), Mandriva 2011 arrives with systemd, The H, Архивировано из оригинала 9 июля 2012, Дата обращения: 29 августа 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 9 июля 2012 года.
  18. Chris von Eitzen (2011-11-16), openSUSE 12.1 arrives with systemd and Btrfs, The H, Архивировано из оригинала 20 апреля 2012, Дата обращения: 16 ноября 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 20 апреля 2012 года.
  19. systemd, Archlinux Wiki, Архивировано 23 мая 2011, Дата обращения: 9 марта 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 23 мая 2011 года.
  20. systemd is now the default on new installations, 2012-10-13, Архивировано 18 октября 2012, Дата обращения: 13 октября 2012 Источник. Дата обращения: 13 октября 2012. Архивировано из оригинала 18 октября 2012 года.
  21. Arch Linux перешёл на systemd, 2012-10-13, Архивировано 17 октября 2012, Дата обращения: 13 октября 2012 Источник. Дата обращения: 13 октября 2012. Архивировано 17 октября 2012 года.
  22. End of initscripts support, 2012-11-04, Архивировано 15 января 2013, Дата обращения: 9 января 2013 Источник. Дата обращения: 9 января 2013. Архивировано 15 января 2013 года.
  23. Press Release: Sabayon 13.08, Архивировано из оригинала 7 января 2015, Дата обращения: 12 августа 2013 Источник. Дата обращения: 12 августа 2013. Архивировано из оригинала 7 января 2015 года.
  24. sys-apps/systemd, Gentoo Packages, Архивировано 3 июня 2016, Дата обращения: 7 мая 2016 Источник. Дата обращения: 7 мая 2016. Архивировано 3 июня 2016 года.
  25. Источник, Gentoo's Documentation, Архивировано 26 июня 2011, Дата обращения: 5 июля 2011 Источник. Дата обращения: 16 августа 2012. Архивировано 26 июня 2011 года.
  26. 100 областей, systemd в upstart, фазовое обновление и ядро 3.8 в Ubuntu 13.04. Дата обращения: 12 ноября 2012. Архивировано 16 ноября 2012 года.
  27. Vaughan-Nichols, Steven Linus Torvalds and others on Linux's systemd. ZDNet. CBS Interactive (19 сентября 2014). Дата обращения: 24 февраля 2015. Архивировано 25 февраля 2015 года.
  28. 1345661 - PulseAudio requirement breaks Firefox on ALSA-only systems. Bugzilla. Mozilla (3 сентября 2021). Дата обращения: 3 октября 2021. Архивировано 3 октября 2021 года.

Литература

Книги
LinuxFormat

Ссылки

Эта страница в последний раз была отредактирована 28 апреля 2024 в 06:14.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).