Поиск по сайту:
Иного прогуливающегося старца смело уподоблю песочным часам (К. Прутков).

Service против Systemctl

08.08.2024
Service против Systemctl

Service и systemctl – это две утилиты командной строки, используемые для управления системными службами. Обе утилиты принадлежат двум разным системам инициализации, SysV и systemd соответственно.

В этой статье мы расскажем о командах service и systemctl, а также о том, чем они отличаются, когда дело доходит до управления службами.

Прежде чем идти дальше, давайте сначала разберемся с двумя популярными системами инициализации Linux: System и Systemd.

 

System V против Systemd

Система инициализации в Linux является важной частью процесса загрузки. Это первый процесс с PID 1, который инициируется при загрузке системы. Затем он запускает процессы, присутствующие в файле inittab. System V также знает, что SysV и systemd являются популярными системами инициализации Linux.

SysV – это более старая система инициализации, которая была частью старых дистрибутивов Unix и Linux. Он управляет системными службами с помощью скриптов, расположенных в /etc/init.d. Некоторые дистрибутивы Linux, которые все еще используют SysV, – это Slackware, Gentoo и antiX Linux.

С другой стороны, systemd был запущен в 2010 году и быстро принят многими дистрибутивами Linux. Система инициализации systemd управляет сервисами через файлы .service. Теперь это часть всех современных дистрибутивов Linux, включая Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu и дистрибутивы, основанные на этих операционных системах.

Systemd намного эффективнее по сравнению с SysV. Он обеспечивает более быстрое время загрузки, эффективное управление службами и обработку зависимостей.

Читать  Команда Timeout в Bash без ненужной задержки

Обе системы инициализации предоставляют две утилиты командной строки для управления сервисами.

  • service
  • systemctl

 

В следующих разделах руководства мы расскажем об этих двух утилитах.

 

Команда service

Команда service представляет собой оболочку скрипта, которая запускает скрипты, расположенные в каталоге /etc/init.d. Он был разработан для управления сервисом системы инициализации SysV или System V. Дистрибутивы Linux, использующие SysV в качестве системы инициализации, используют команду service для управления службами.

Общий синтаксис использования сервисной команды приведен ниже.

service [service_name] [action]

 

Чтобы узнать состояние служб, контролируемых System V, используйте команду service с параметром –status-all.

service --status-all

 

Service против Systemctl

где:

  • + указывает, что служба запущена,
  •   показывает, что служба неактивна.

 

Текущее состояние любой конкретной службы также можно проверить, упомянув название службы.

service [service_name]

 

Service против Systemctl

 

Ниже перечислены некоторые другие полезные сервисные команды, такие как запуск, остановка и перезапуск сервиса.

service [service_name] start

service [service_name]

service [service_name] restart

 

Эта сервисная команда предоставляет базовый контроль для управления службами. Большинство дистрибутивов Linux заменили SysV в качестве системы инициализации, но из-за устаревшей совместимости эта команда по-прежнему поставляется во многих последних дистрибутивах Linux “из коробки”.

 

Команда systemctl

Используя команду systemctl, вы можете управлять службами в каталогах /lib/systemd/system и /etc/systemd/system. Это компонент systemd; система инициализации, встречающаяся в большинстве современных дистрибутивов Linux.

Читать  Как сравнивать числа в Bash?

systemctl разработан для обеспечения большего контроля над управлением системными службами. Общий синтаксис использования команды systemctl приведен ниже:

systemctl [option] [service_name]

 

Чтобы проверить состояние всех сервисов, используйте следующую команду.

systemctl list-units --type=service --all

 

Для конкретного использования сервиса:

systemctl status [service_name]

 

Service против Systemctl

 

Ниже приведены команды для базового управления сервисом с использованием systemctl:

systemctl enable [service_name]

systemctl start [service_name]

systemctl stop [service_name]

systemctl disable [service_name]

systemctl restart [service_name]

 

Команда systemctl выходит за рамки того, что касается управления службами. В таблице ниже приведены некоторые расширенные команды systemctl.

list-pathsЧтобы указать путь ко всем сервисам в памяти
is-active [service_name]Чтобы проверить, запущена ли служба или модуль или нет
list-dependencies [service_name]Для печати списка зависимостей указанного сервиса
reset-failedДля сброса служб, которые не удалось загрузить из-за какой-либо неисправности
mask [service_name]Отключает службу и не позволяет ей запуститься
get-defaultЧтобы вывести уровень запуска по умолчанию или целевое значение
set-default [target]Чтобы установить уровень запуска по умолчанию или целевое значение
is-system-runningДля проверки рабочего состояния системы
rebootКак перезагрузить систему
poweroffЧтобы завершить работу системы

 

Почему в дистрибутивах Linux до сих пор существует команда service с systemd init System

Команда service по-прежнему является частью многих дистрибутивов Linux, поскольку она является скриптом-оболочкой и абстрагирует базовую систему инициализации, будь то SysV или systemctl. Например, в Ubuntu команда service перенаправляется на systemctl.

Читать  Как использовать команду taskset в Linux

 

Заключение

Сервис и systemctl – это две утилиты командной строки, принадлежащие системам инициализации SysV и systemd соответственно. Несмотря на замену команды service в современных дистрибутивах Linux, она остается ключевым инструментом для обслуживания сервисов благодаря простоте и совместимости. С другой стороны, systemctl является частью всех текущих дистрибутивов Linux и предоставляет расширенные возможности для администрирования сервисов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

11 + девять =

**ссылки nofollow

Это может быть вам интересно


Рекомендуемое
Для себя я постоянно рассматриваю варианты заработка, которые помогают получать…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: