Разница между сервисом и systemctl в Linux

Лучшее знание сервисов и systemctl позволит вам без проблем работать с ними.

Что такое сервисная команда в Linux?

Разница между service и systemctl в Linux Рисунок 1

В Linux команда службы представляет собой сценарий-оболочку, который позволяет пользователям легко настраивать системные службы и взаимодействовать с ними. Он предшествует systemd и в основном работает со скриптами из /etc/init.d.

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

Изменение между родственными системами инициализации — SysVinit на systemd — вызвало споры, но необходимость возникла из-за проблем с функциональностью системы инициализации.

systemd запускает службы параллельно, а не в последовательном порядке, что сокращает время запуска по сравнению с SysVinit, а также обеспечивает немного более детальный контроль над системными демонами через интерфейс командной строки (CLI).

Что такое команда systemctl в Linux?

Разница между service и systemctl в Linux Рисунок 2

Подобно службам, systemctl — чрезвычайно гибкая команда, которая позволяет вам включать, перезагружать, запускать, останавливать и проверять состояние служб, работающих в системе Linux.

systemctl служит мощным и простым в использовании интерфейсом для настройки файлов в systemd — например, для отключения службы при запуске с помощью systemctl требуется всего одна или две команды.

systemctl обратно совместим с системой инициализации SysVinit, которая в основном используется со службой. systemctl не является прямым преемником службы, но гораздо более гибок с точки зрения инструментов, которые он предоставляет для управления системными службами.

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

Разница между сервисом и systemctl

Разница между service и systemctl в Linux Рисунок 3

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

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

1. Различные системы инициализации

Наиболее существенная разница между service и systemctl заключается в том, что они относятся к разным системам инициализации. принадлежит SysVinit (System V Init), также известному как классический процесс инициализации Linux.

systemctl принадлежит systemd, преемнику SysVinit и современному процессу инициализации, используемому во многих системах Linux.

Поскольку service и systemctl являются частью разных процессов инициализации, они работают с системными файлами, инициализированными в разных каталогах. service работает с системными файлами инициализации, содержащимися в /etc/init.d, а systemctl работает с системными файлами инициализации, содержащимися в /lib/systemd.

Как правило, система инициализации, с которой вы столкнетесь в готовых установках Linux, — это systemd, поэтому вам нужно ознакомиться с использованием systemctl для взаимодействия с ней.

Если вы собираетесь работать с системами, выпущенными до или одновременно с выпуском systemd в 2010 году, вам не помешает привыкнуть к использованию команды service.

2. Совместимость

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

3. Основные функции

Одно ключевое различие между systemctl и сервисом заключается в том, как они работают. service — это команда высокого уровня, которая перенаправляет на базовый менеджер служб, используемый в конкретной системе, что означает, что она достаточно гибка между системами. Он может перенаправлять на /etc/init.d, upstart или даже на systemctl. В то время как команды systemctl напрямую взаимодействуют с systemd.

4. Способность

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

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

Похожие записи

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

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