Услуга срещу Systemctl

Usluga Sresu Systemctl



Услугата и systemctl са две помощни програми от командния ред, използвани за управление на системни услуги. И двете помощни програми принадлежат към две различни системи за стартиране, съответно SysV и systemd.

В това ръководство ще обсъждам командите service и systemctl и как те се различават, когато става въпрос за управление на услуги.

Преди да продължим, нека първо разберем две популярни системи за стартиране на Linux; System и Systemd.







System V срещу Systemd

Системата за стартиране на Linux е важна част от процеса на зареждане. Това е първият процес с PID 1, който се стартира при зареждане на системата. След това стартира процесите, налични във файла inittab. System V също познава SysV и systemd са популярни системи за стартиране на Linux.



The SysV е по-стара система за стартиране и е била част от по-стари Unix и Linux дистрибуции. Той управлява системните услуги с помощта на скриптовете, разположени в /etc/init.d. Някои Linux дистрибуции, които все още използват SysV, са Slackware, Gentoo и antiX Linux.



От друга страна, systemd стартира през 2010 г. и бързо беше приет от много Linux дистрибуции. Системата systemd init управлява услугите чрез .service файлове. Сега е част от всички съвременни Linux дистрибуции, включително Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu и дистрибуции, базирани на тези операционни системи.





Systemd е много по-ефективен в сравнение с SysV. Той осигурява по-бързо време за зареждане, ефективно управление на услугата и обработка на зависимости.

И двете системи за стартиране предоставят две помощни програми от командния ред за управление на услугата.



В следващите раздели на ръководството ще обсъдя тези две помощни програми.

служебна команда

The обслужване е обвивка на скрипт, която изпълнява скриптове, разположени в /etc/init.d указател. Разработен е за управление на услугата на SysV или Система V система за стартиране. Дистрибуциите на Linux, които използват SysV като система за стартиране, използват обслужване команда за управление на услугата.

Общият синтаксис за използване на услугата команда е даден по-долу.

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

За да получите състоянието на услугите, контролирани от System V, използвайте командата service с –статус-всички опция.

обслужване --статус-всички

The + показва, че услугата работи, а показва, че услугата е неактивна.

Текущият статус на всяка конкретна услуга може също да бъде проверен чрез споменаване на името на услугата.

обслужване [ име_на_услуга ] състояние

Някои други полезни команди за услуга, като стартиране, спиране и рестартиране на услуга, са изброени по-долу.

обслужване [ име_на_услуга ] започнете

обслужване [ име_на_услуга ] Спри се

обслужване [ име_на_услуга ] рестартирам

Тази сервизна команда предоставя основен контрол за управление на услуги. Повечето дистрибуции на Linux са заменили SysV като система за стартиране, но поради наследената съвместимост тази команда все още се предлага в много най-нови дистрибуции на Linux извън кутията.

Команда systemctl

С помощта на командата systemctl можете да контролирате услугите в /lib/systemd/система и /etc/systemd/system директории. Това е компонент на systemd; система за стартиране, която се намира в повечето съвременни Linux дистрибуции.

Systemctl е проектиран да осигури повече контрол върху управлението на системните услуги. Общият синтаксис за използване на командата systemctl е даден по-долу:

systemctl [ опция ] [ име_на_услуга ]

За да проверите състоянието на всички услуги, използвайте следната команда.

systemctl списъчни единици --Тип = услуга --всичко

За използване на конкретна услуга:

системно състояние [ име_на_услуга ]

Командите за основно управление на услугата с помощта на systemctl са дадени по-долу:

systemctl активирайте [ име_на_услуга ]

systemctl стартиране [ име_на_услуга ]

systemctl спиране [ име_на_услуга ]

systemctl деактивиране [ име_на_услуга ]

systemctl рестартиране [ име_на_услуга ]

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

списък-пътеки За изброяване на пътя на всички услуги в паметта
is-active [service_name] За да проверите дали услугата или модулът работят или не
списък-зависимости [име_на_услуга] За да отпечатате списъка със зависимости на посочената услуга
нулиране-неуспешно За нулиране на услугите, които не са успели да се заредят поради някаква аномалия
маска [име_на_услуга] За да деактивирате услугата и да не може да стартира
get-default За да отпечатате нивото или целта по подразбиране
set-default [цел] За да зададете нивото или целта по подразбиране
е-системата работи За проверка на работното състояние на системата
рестартирайте За да рестартирате системата
изключване За да изключите системата

Защо все още има команда за услуга в Linux дистрибуции със systemd init System

Командата service все още е част от много дистрибуции на Linux, защото е скрипт за обвивка и абстрахира основната система за стартиране, независимо дали е SysV или systemctl. Например в Ubuntu командата service пренасочва към systemctl.

Заключение

Услугата и systemctl са две помощни програми за команден ред, принадлежащи съответно към системите за стартиране на SysV и systemd. Въпреки замяната на командата service в съвременните дистрибуции на Linux, тя остава ключов инструмент за поддържане на услуги поради простотата и съвместимостта. Systemctl, от друга страна, е част от всички текущи дистрибуции на Linux и предоставя разширени опции за администриране на услуги.