Сервис против Systemctl

Servis Protiv Systemctl



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

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

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







Система V против Systemd

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



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



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





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

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



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

сервисная команда

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

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

услуга [ наименование услуги ] [ действие ]

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

услуга --status-all

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

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

услуга [ наименование услуги ] положение дел

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

услуга [ наименование услуги ] начинать

услуга [ наименование услуги ] останавливаться

услуга [ наименование услуги ] перезапуск

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

Команда systemctl

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

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

системаctl [ вариант ] [ наименование услуги ]

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

systemctl список единиц --тип =сервис --все

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

Статус системы [ наименование услуги ]

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

системаctl давать возможность [ наименование услуги ]

запуск системы [ наименование услуги ]

остановка системы [ наименование услуги ]

systemctl отключить [ наименование услуги ]

перезапуск системы [ наименование услуги ]

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

пути к списку Чтобы вывести список путей ко всем службам в памяти
активен [имя_сервиса] Чтобы проверить, запущена ли служба или устройство или нет
список-зависимостей [имя_сервиса] Чтобы распечатать список зависимостей указанного сервиса
сброс-не удалось Чтобы сбросить службы, которые не удалось загрузить из-за какой-либо неисправности.
маска [имя_сервиса] Чтобы отключить службу и сделать ее невозможным запуск
получить значение по умолчанию Чтобы распечатать уровень запуска или цель по умолчанию
установка по умолчанию [цель] Чтобы установить уровень выполнения или цель по умолчанию
работает ли система Для проверки рабочего состояния системы
перезагрузить Чтобы перезагрузить систему
выключение Чтобы выключить систему

Почему в дистрибутивах Linux до сих пор есть служебная команда с systemd init System

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

Заключение

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