Аналоги команд systemd и SysVinit — различия между версиями
PastorDi (обсуждение | вклад) (Новая страница: «Здесь описаны какие команды systemd заменяют привычные команды sysvinit. Более подробную инфор...») |
PastorDi (обсуждение | вклад) |
||
Строка 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. В качестве замены пользователь может создать новую ''цель'' | + | К сожалению, не существует простого способа реализовать пользовательские уровни 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.
Дополнительные команды
Службы 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. |