Обратите внимание, что команды ‘service’ и ‘chkconfig’ продолжат работать в мире systemd практически без изменений. Тем не менее в этой инструкции показано как выполнить те же действия с помощью встроенных утилит systemctl.
Сервисы и службы
| Команда sysvinit | Команда systemd | Комментарий |
|---|---|---|
| service frobozz start | systemctl start frobozz.service | Используется для разового запуска службы. |
| service frobozz stop | systemctl stop frobozz.service | Используется для разовой остановки службы. |
| service frobozz restart | systemctl restart frobozz.service | Используется для разового перезапуска службы. |
| service frobozz reload | systemctl reload frobozz.service | Если такая возможность поддерживается службой, перезагружает конфигурационный файл, не прерывая процесса. |
| service frobozz condrestart | systemctl condrestart frobozz.service | Перезапускает службу, если она запущена. |
| service frobozz status | systemctl status frobozz.service | Сообщает, запущена ли служба. |
| ls /etc/rc.d/init.d/ | ls /lib/systemd/system/*.service /etc/systemd/system/*.service | Используется для получения списка служб, которые могут быть запущены или остановлены. |
| chkconfig frobozz on | systemctl enable frobozz.service | Включает запуск службы после перезагрузки. |
| chkconfig frobozz off | systemctl disable frobozz.service | Отключает запуск службы после перезагрузки. |
| chkconfig frobozz | systemctl is-enabled frobozz.service | Используется для проверки, будет ли служба запущена после перезагрузки. |
| chkconfig frobozz —list | ls /etc/systemd/system/*.wants/frobozz.service | Выдает список уровней загрузки(целей), при которых данная служба будет запущена автоматически. |
| chkconfig frobozz —add | Не используется, нет аналога. |
Все вышеперечисленные команды /sbin/service и /sbin/chkconfig работают с systemd и автоматически переводятся в эквивалентные команды systemctl. Исключением является только chkconfig —list.
Уровни загрузки/цели
Systemd использует понятие целей(target), сходное по сути с уровнями загрузки, но работающее немного иначе. Каждая цель имеет название, описывающее её предназначение. Некоторые цели объединяют в себе запуск всех служб какой-то одной цели и нескольких дополнительных сервисов. Для замены уровней загрузки sysvinit были созданы специальные «цели», переключаться между которыми вы можете как и раньше используя команду telinit RUNLEVEL. Стандартные для Fedora уровни загрузки 0, 1, 3, 5, и 6 полностью эквиваленты соответствующим целям systemd.
К сожалению, не существует простого способа реализовать пользовательские уровни 2 и 4. В качестве замены пользователь может создать новую цель /etc/systemd/system/$YOURTARGET на основе одной из имеющихся (в качестве примера посмотрите /lib/systemd/system/graphical.target), создать папку /etc/systemd/system/$YOURTARGET.wants, и с помощью символических ссылок добавить все необходимые вам дополнительные сервисы в эту папку. (Символические ссылки должны указывать на файлы служб *.service, расположенные в /lib/systemd/system).
| Уровень загрузки sysvinit | Цель systemd | Комментарий |
|---|---|---|
| 0 | runlevel0.target, poweroff.target | Выключает систему. |
| 1, s, single | runlevel1.target, rescue.target | Однопользовательский режим. |
| 2, 4 | runlevel2.target, runlevel4.target, multi-user.target | Уровни, определенные пользователем. По умолчанию эквивалентны уровню 3. |
| 3 | runlevel3.target, multi-user.target | Многопользовательский режим без графики. |
| 5 | runlevel5.target, graphical.target | Многопользовательский режим с графикой. Обычно эквивалентен запуску всех сервисов уровня 3 и графическому менеджеру входа. |
| 6 | runlevel6.target, reboot.target | Перезагрузка |
| emergency | emergency.target | Аварийная оболочка |
Переключение уровня загрузки:
| Команда sysvinit | Команда systemd | Комментарий |
|---|---|---|
| telinit 3 | systemctl isolate multi-user.target (OR systemctl isolate runlevel3.target OR telinit 3) | Переключиться
на многопользова тельский уровень. |
| sed s/^id:.*:initdefault:/id:3:initdefault:/ | ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target | Установить загрузку по умолчанию на уровень 3. |




















