Аналоги команд systemd и SysVinit — различия между версиями

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

Текущая версия на 00:32, 19 июля 2012

Здесь описаны какие команды systemd заменяют привычные команды sysvinit. Более подробную информацию по systemd вы можете найти по ссылке Systemd.

Обратите внимание, что команды '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.

Dialog-warning.png
Предупреждение
Дополнительные команды
Службы SysVinit могут иметь собственные дополнительные команды. Например, service iptables panic, или service httpd graceful. Сервисы systemd такой возможности не имеют. Каждый сервис решает эту проблему по-своему. Подробности ищите в документации и Release Notes соответствующего пакета.

Уровни загрузки/цели

Systemd использует понятие целей(target), сходное по сути с уровнями загрузки, но работающее немного иначе. Каждая цель имеет название, описывающее её предназначение. Некоторые цели объединяют в себе запуск всех служб какой-то одной цели и нескольких дополнительных сервисов. Для замены уровней загрузки sysvinit были созданы специальные "цели", переключаться между которыми вы можете как и раньше используя команду telinit RUNLEVEL. Стандартные для ROSA уровни загрузки 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.