Systemd в Mageia

Материал из Mageia Russian Community Wiki
Перейти к: навигация, поиск

Кто не умеет приспосабливаться, обречён на вымирание

Mageia 2 окончательно отказалась от старого доброго SystemV в пользу устанавливаемого теперь по умолчанию systemd.

Systemd разрабатывается при поддержке Red Hat и представляет собой новую систему управления загрузкой наших компьютеров. Помимо прочих чудес автор этого нововведения - Леннарт Поттеринг (Lennart Poettering) - предлагает нам вместо последовательного исполнения init-скриптов "агрессивные возможности распараллеливания" процесса загрузки. Кроме того, systemd способен управлять событиями посредством механизма D-Bus. Тем не менее, полная совместимость с init-скриптами пока ещё сохранена. Сохранена и унаследованная нами особенность Mandriv`ы - ускоритель загрузки Speedboot, хотя идеология systemd вроде бы полностью его девальвирует.

  • Первое, что стоит сделать при ошибках и сбоях загрузки (особенно на быстрых машинах), так это отключить speedboot:
[root@localhost ~]# vi /etc/sysconfig/speedboot
SPEEDBOOT=no

Если говорить совсем уж коротко, то привнесённые systemd изменения свелись к тому, что вместо init-скриптов в сотню строк появился бинарный код и unit-скрипты в пять строк. Подробнее можно прочесть в переводе серии статей Л. Поттеринга "systemd для администраторов".

Ну что ж, пора перейти к тому, что нас интересует больше всего - как же теперь управлять системой? Всю функциональность хорошо нам знакомых chkconfig и service заменила утилита systemctl.

Запуск, проверка и остановка служб

[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# systemctl status iptables.service
iptables.service - iptables Firewall for IPv4
Loaded: loaded (/lib/systemd/system/iptables.service; disabled)
Active: active (exited) since Wed, 07 Mar 2012 18:06:19 +0100; 4s ago
Process: 8995 ExecStop=/usr/lib/iptables stop (code=exited, status=0/SUCCESS)
Process: 9045 ExecStart=/usr/lib/iptables start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/iptables.service

[root@localhost ~]# systemctl stop iptables.service
[root@localhost ~]# systemctl status iptables.service
iptables.service - iptables Firewall for IPv4
Loaded: loaded (/lib/systemd/system/iptables.service; disabled)
Active: inactive (dead) since Wed, 07 Mar 2012 18:07:35 +0100; 3s ago
Process: 9063 ExecStop=/usr/lib/iptables stop (code=exited, status=0/SUCCESS)
Process: 9045 ExecStart=/usr/lib/iptables start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/iptables.service

Включение и отключение автозапуска служб

[root@localhost ~]# systemctl enable iptables.service
ln -s '/lib/systemd/system/iptables.service' '/etc/systemd/system/basic.target.wants/iptables.service'
[root@localhost ~]# systemctl disable iptables.service
rm '/etc/systemd/system/basic.target.wants/iptables.service'

Изменение уровня загрузки системы

Раньше, чтобы запустить систему в состояние init 3, надо было редактировать /etc/inittab. Теперь, systemd использует с той же целью символическую ссылку.
Прежде всего, надо стереть существующую установку:

rm /etc/systemd/system/default.target

Затем, создать новую:
- для состояния init 3

ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target

- для состояния init 5

ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

Надеемся, мы вас не утомили.

  • Исходная статья на исп. BlogDrake