Systemd: различия между версиями
Tora-bora (обсуждение | вклад) (+Особенности) |
Tora-bora (обсуждение | вклад) (Q:Зачем переходить на systemd? A:...) |
||
Строка 55: | Строка 55: | ||
:"systemd (system daemon) реализует принципиально новый подход к инициализации и контролю работы системы. Одним из ключевых новшеств этого подхода является высокая степень параллелизации запуска служб при инициализации системы, за счет активного использования возможностей сокетов, что в перспективе позволяет добиться гораздо более высокой скорости, чем традиционный подход с последовательным запуском взаимозависимых служб, используемый, например, в upstart. Другим важным моментом является контроль над точками монтирования (не-жизненно-важные файловые системы можно монтировать только при первом обращении к ним, не тратя на это время при инициализации системы) и устройствами (можно запускать и останавливать определенные службы и при появлении или удалении заданных устройств)." | :"systemd (system daemon) реализует принципиально новый подход к инициализации и контролю работы системы. Одним из ключевых новшеств этого подхода является высокая степень параллелизации запуска служб при инициализации системы, за счет активного использования возможностей сокетов, что в перспективе позволяет добиться гораздо более высокой скорости, чем традиционный подход с последовательным запуском взаимозависимых служб, используемый, например, в upstart. Другим важным моментом является контроль над точками монтирования (не-жизненно-важные файловые системы можно монтировать только при первом обращении к ним, не тратя на это время при инициализации системы) и устройствами (можно запускать и останавливать определенные службы и при появлении или удалении заданных устройств)." | ||
===Зачем переходить на systemd?=== | |||
#быстрая загрузка -- важно для десктопов, иногда и для серверов тоже; | |||
#более надежная загрузка, за счет параллельности. В отличии от sysvinit - подвисание при запуске одного сервиса не приведет к остановке всего процесса загрузки (тормоза с ntpd если приходится загружаться отключившись от сети, как пример); | |||
#systemd это не просто запускалка сервисов. Оно еще и умеет их поддерживать запущеными (то, для чего я использую сейчас daemontools, а многие другие используют monit); | |||
#более надежная система порядка запуска. Циферки, как известно, иногда приводят к тому что мантейнеры ошибаются. К счастью за годы мы многие такие баги вытоптали, но, увы, иногда появляются новые сервисы :) Указать зависимость между сервисами надежнее и предсказуемее нежели циферки.<br> | |||
Денис Смирнов http://lists.altlinux.org/pipermail/sisyphus/2011-March/353142.html | |||
=== Отладка systemd === | === Отладка systemd === | ||
* [https://fedoraproject.org/wiki/How_to_debug_Systemd_problems How to debug systemd problems] | * [https://fedoraproject.org/wiki/How_to_debug_Systemd_problems How to debug systemd problems] |
Версия от 00:03, 1 апреля 2011
Для ALT Linux собран systemd. Решение, пока, сырое, поэтому в Сизиф он не попал, но пакеты уже доступны на ftp.altlinux.org.
Установка systemd
Для установки systemd надо проделать следующее:
- Добавить в /etc/apt/sources.list такую запись
rpm ftp://ftp.altlinux.org/pub/people/shaba/systemd/ i586 hasher
- Обновить систему
apt-get update && apt-get dist-upgrade
После выполнения обновления, в системе должны быть установленные новые udev, ConsoleKit, dbus.
- Теперь можно установить непосредственно systemd:
apt-get install systemd systemd-units
Что бы использовать systemd при загрузке, надо отредактировать /etc/sysconfig/grub2 и привести строку GRUB_CMDLINE_LINUX_DEFAULT к такому виду:
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 init=/bin/systemd'
После редактирования этого файла нужно вызвать:
grub-mkconfig -o /boot/grub/grub.cfg
Или просто установить systemd-sysvinit
apt-get install systemd-sysvinit SysVinit-
и ничего прописывть ядру не надо (в том числе и в lilo).
Можно перезагружаться и пробовать.
Дополнительные рекомендации
- чтобы загружать модуль autofs4 как можно раньше добавьте:
MODULES_PRELOAD += autofs4
в /etc/initrd.mk (и перегенерите имидж, запустив make-initrd)
- systemd поддерживает загрузку модулей из /etc/modules-load.d/*.conf
Особенности
Неполное описание преимуществ в сравнении с upstart и SysV-init
(цитата отсюда - http://www.opennet.ru/opennews/art.shtml?num=27218)
- "systemd (system daemon) реализует принципиально новый подход к инициализации и контролю работы системы. Одним из ключевых новшеств этого подхода является высокая степень параллелизации запуска служб при инициализации системы, за счет активного использования возможностей сокетов, что в перспективе позволяет добиться гораздо более высокой скорости, чем традиционный подход с последовательным запуском взаимозависимых служб, используемый, например, в upstart. Другим важным моментом является контроль над точками монтирования (не-жизненно-важные файловые системы можно монтировать только при первом обращении к ним, не тратя на это время при инициализации системы) и устройствами (можно запускать и останавливать определенные службы и при появлении или удалении заданных устройств)."
Зачем переходить на systemd?
- быстрая загрузка -- важно для десктопов, иногда и для серверов тоже;
- более надежная загрузка, за счет параллельности. В отличии от sysvinit - подвисание при запуске одного сервиса не приведет к остановке всего процесса загрузки (тормоза с ntpd если приходится загружаться отключившись от сети, как пример);
- systemd это не просто запускалка сервисов. Оно еще и умеет их поддерживать запущеными (то, для чего я использую сейчас daemontools, а многие другие используют monit);
- более надежная система порядка запуска. Циферки, как известно, иногда приводят к тому что мантейнеры ошибаются. К счастью за годы мы многие такие баги вытоптали, но, увы, иногда появляются новые сервисы :) Указать зависимость между сервисами надежнее и предсказуемее нежели циферки.
Денис Смирнов http://lists.altlinux.org/pipermail/sisyphus/2011-March/353142.html