Какие команды systemd заменяют привычные команды sysvinit

0
196
Какие команды systemd заменяют привычные команды sysvinit
Какие команды systemd заменяют привычные команды sysvinit

Обратите внимание, что команды ‘service’ и ‘chkconfig’ продолжат работать в мире systemd практически без изменений. Тем не менее в этой инструкции показано как выполнить те же действия с помощью встроенных утилит systemctl.

Системный администратор

Сервисы и службы

Команда sysvinitКоманда systemdКомментарий
service frobozz startsystemctl start frobozz.serviceИспользуется для разового запуска службы.
service frobozz stopsystemctl stop frobozz.serviceИспользуется для разовой остановки службы.
service frobozz restartsystemctl restart frobozz.serviceИспользуется для разового перезапуска службы.
service frobozz reloadsystemctl reload frobozz.serviceЕсли такая возможность поддерживается службой, перезагружает конфигурационный файл, не прерывая процесса.
service frobozz condrestartsystemctl condrestart frobozz.serviceПерезапускает службу, если она запущена.
service frobozz statussystemctl status frobozz.serviceСообщает, запущена ли служба.
ls /etc/rc.d/init.d/ls /lib/systemd/system/*.service /etc/systemd/system/*.serviceИспользуется для получения списка служб, которые могут быть запущены или остановлены.
chkconfig frobozz onsystemctl enable frobozz.serviceВключает запуск службы после перезагрузки.
chkconfig frobozz offsystemctl disable frobozz.serviceОтключает запуск службы после перезагрузки.
chkconfig frobozzsystemctl is-enabled frobozz.serviceИспользуется для проверки, будет ли служба запущена после перезагрузки.
chkconfig frobozz —listls /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Комментарий
0runlevel0.target, poweroff.targetВыключает систему.
1, s, singlerunlevel1.target, rescue.targetОднопользовательский режим.
2, 4runlevel2.target, runlevel4.target, multi-user.targetУровни, определенные пользователем. По умолчанию эквивалентны уровню 3.
3runlevel3.target, multi-user.targetМногопользовательский режим без графики.
5runlevel5.target, graphical.targetМногопользовательский режим с графикой. Обычно эквивалентен запуску всех сервисов уровня 3 и графическому менеджеру входа.
6runlevel6.target, reboot.targetПерезагрузка
emergencyemergency.targetАварийная оболочка

Переключение уровня загрузки:

Команда sysvinitКоманда systemdКомментарий
telinit 3systemctl 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.