systemd
Материал из Xgu.ru
systemd — набор программ и библиотек, предназначенный для управления процессами и конфигурацией операционной системы Linux. Может использоваться как init-процесс, то есть процесс, запускаемый ядром при старте системы и управляющий его дальнейшей загрузкой.
На сегодняшний день systemd управляет загрузкой во всех основных дистрибутивах операционной системы Linux.
Содержание |
[править] Использование systemd в различных Linux-дистрибутивах
Дистрибутив | Когда добавлен в репозиторий | Используется по умолчанию? | С какого времени? |
---|---|---|---|
Arch Linux | Январь 2012 | Да | Октябрь 2012 |
CoreOS | Июль 2013 | Да | Октябрь 2013 (v94.0.0) |
Debian | Апрель 2012 | Да | Апрель 2015 (v8 aka jessie) |
Fedora | Ноябрь 2010 (v14) | Да | Май 2011 (v15) |
Gentoo | Июль 2011 | Нет | N/A |
Mageia | Май 2012 (v2.0) | Да | Май 2012 (v2.0) |
openSUSE | Март 2011 (v11.4) | Да | Сентябрь 2012 (v12.2) |
Red Hat Enterprise Linux | Июнь 2014 (v7.0) | Да | Июнь 2014 (v7.0) |
Slackware | N/A (нет в репозитории) | N/A | N/A |
SUSE Linux Enterprise Server | Октябрь 2014 (v12) | Да | Октябрь 2014 (v12) |
Ubuntu | Апрель 2013 (v13.04) | Да | Апрель 2015 (v15.04) |
[править] Основные операции со службами
SysV | systemd | Действие |
---|---|---|
service frobozz start | systemctl start frobozz | Запустить службу (до перезагрузки) |
service frobozz stop | systemctl stop frobozz | Остановить службу (до перезагрузки) |
service frobozz restart | systemctl restart frobozz | Остановить и запустить заново службу |
service frobozz reload | systemctl reload frobozz | Если поддерживается службой, перезагружает службу без остановки её работы. |
service frobozz condrestart | systemctl condrestart frobozz | Перезапустить, если служба уже запущена. |
service frobozz status | systemctl status frobozz | Сообщить, работает ли служба. |
ls /etc/rc.d/init.d/ | systemctl (или) systemctl list-unit-files --type=service (или) ls /lib/systemd/system/*.service /etc/systemd/system/*.service | Показать список служб, которые можно запускать и останавливать через systemd |
chkconfig frobozz on | systemctl enable frobozz | Включить службу (после перезагрузки). |
chkconfig frobozz off | systemctl disable frobozz | Выключить службу (после перезагрузки). |
chkconfig frobozz | systemctl is-enabled frobozz | Показать, как настроена служба: автоматически запускаться или нет |
chkconfig --list | systemctl list-unit-files --type=service (or) ls /etc/systemd/system/*.wants/ | Показать когда запускаются какие службы. |
chkconfig frobozz --list | ls /etc/systemd/system/*.wants/frobozz.service | Показать когда запускается данная служба. |
chkconfig frobozz --add | systemctl daemon-reload | Используется когда добавляется service-файл или изменяется конфигурация. |
[править] Устройство Systemd
[править] Как добавить свою службу в systemd
Необходимо создать service-файл в /etc/systemd/system (в данном случае мы добавляем службу dlink-dhcp-server):
$ cat /etc/systemd/system/dlink-dhcp-server.service [Unit] Description=Start DHCP Server on the external router when the host is down After=network.target auditd.service [Service] Type=oneshot ExecStart=/usr/local/bin/dlink-dhcp-server.py off ExecStop=/usr/local/bin/dlink-dhcp-server.py on RemainAfterExit=yes [Install] WantedBy=multi-user.target
А потом добавить службу в загрузку:
$ sudo systemctl enable dlink-dhcp-server
Подробнее:
[править] Дополнительная информация
- http://www.freedesktop.org/wiki/Software/systemd/ (англ.) — домашний сайт проекта