мЙЮОЩЕ ЪБРЙУЙ
Linux, РТПЗТБННЩ — РТПВМЕНЩ Й ТЕЫЕОЙС
уМХЦВЩ (УРЙУПЛ УЕТЧЙУПЧ) Ч Linux
оЕНОПЗП П ФПН ЮФП ЦЕ ФБЛПЕ УЕТЧЙУЩ Ч linux?
уЕТЧЙУ (УМХЦВБ, ДЕНПО)- УРЕГЙБМШОБС РТПЗТБННБ, ЧЩРПМОСАЭБС ПРТЕДЕМЕООЩЕ ДЕКУФЧЙС Ч ЖПОПЧПН ТЕЦЙНЕ. оБРТЙНЕТ, ДЕНПО РЕЮБФЙ ЦДЕФ, РПЛБ ЛБЛПЕ-МЙВП ЙЪ РТЙМПЦЕОЙК ПФРТБЧЙФ ДПЛХНЕОФ ОБ РЕЮБФШ. рПУМЕ ЬФПЗП ДЕНПО БЛФЙЧЙЪЙТХЕФУС Й ПУХЭЕУФЧМСЕФ ФТЕВХЕНЩЕ ДЕКУФЧЙС — РЕЮБФШ УБНПЗП ДПЛХНЕОФБ ОБ ЧЩВТБООПН РТЙОФЕТЕ.
рПУМЕ ХУФБОПЧЛЙ Linux РП ХНПМЮБОЙА ЧЛМАЮЕОЩ ЧУЕ ЧПЪНПЦОЩЕ УЕТЧЙУЩ. уРТБЫЙЧБЕФУС, ЪБЮЕН ЧБН ДЕНПО РЕЮБФЙ, ЕУМЙ Х ЧБУ ОЕФ РТЙОФЕТБ? б ЪБЮЕН ЧБН ГЕМЩИ ФТЙ РМБОЙТПЧЭЙЛБ ЪБДБОЙК, ЕУМЙ ЧЩ ЕЭЕ ОЙ ПДОЙН ОЕ ХНЕЕФЕ РПМШЪПЧБФШУС?
лПОЕЮОП, НПЦОП УЛБЪБФШ: . чЩ ЪБВМХЦДБЕФЕУШ. пФЛМАЮЙФШ ОЕОХЦОЩЕ УЕТЧЙУЩ ОХЦОП РП ФТЕН РТЙЮЙОБН:
— yНЕОШЫБЕФУС ЧТЕНС ЪБЗТХЪЛЙ — РПОСФОП, ЮФП ЮЕН НЕОШЫЕ УЕТЧЙУПЧ ЪБРХУЛБЕФУС РТЙ ЪБРХУЛЕ УЙУФЕНЩ, ФЕН ВЩУФТЕЕ ПОБ ЪБЗТХЦБЕФУС;
— ХНЕОШЫБЕФУС ЪБЗТХЪЛБ РТПГЕУУПТБ Й ПРЕТБФЙЧОПК РБНСФЙ — ЧЕДШ УЕТЧЙУЩ ОБИПДСФУС Ч РБНСФЙ Ч ФЕЮЕОЙЕ ЧУЕЗП ЧТЕНЕОЙ ТБВПФЩ УЙУФЕНЩ, УМЕДПЧБФЕМШОП, ПОЙ ЪБОЙНБАФ РТПГЕУУПТОПЕ ЧТЕНС Й ПРЕТБФЙЧОХА РБНСФШ;
— ЛБЦДЩК УЕТЧЙУ ОХЦОП ТБУГЕОЙЧБФШ ЛБЛ РПФЕОГЙБМШОХА Ч УЙУФЕНЕ ВЕЪПРБУОПУФЙ — ЪБРХЭЕООЩК УЕТЧЙУ ОЕ ОБУФТПЕО, ПО ТБВПФБЕФ У ОБУФТПКЛБНЙ РП ХНПМЮБОЙА. сУОП, ЮФП ЬФЙ ОБУФТПКЛЙ РТЕДОБЪОБЮЕОЩ ФПМШЛП ДМС ЪБРХУЛБ УЕТЧЙУБ, Б ОЕ ДМС ТЕБМШОПК ТБВПФЩ. лБЛ ЗПЧПТЙФУС, УФБОДБТФОЩЕ УТЕДУФЧБ УФБОДБТФОП Й ЧЪМБНЩЧБАФУС. пДОП ДЕМП, ЕУМЙ ЧБЫ ЛПНРШАФЕТ ОЕ РПДЛМАЮЕО Л МПЛБМШОПК УЕФЙ ЙМЙ Л йОФЕТОЕФХ, — ЧЪМБНЩЧБФШ ВХДЕФ ОЕЛПНХ. б ЧПФ ЕУМЙ ЧЩ РПДЛМАЮЕОЩ Л уЕФЙ, ФП МАВПК ЦЕМБАЭЙК НПЦЕФ РПРЩФБФШУС ЧЪМПНБФШ ЧБЫХ УЙУФЕНХ. юФП РПУМЕ? хЪОБЕФЕ — ЬФП ГЕМЙЛПН ЪБЧЙУЙФ ПФ ОБНЕТЕОЙК ЧЪМПНЭЙЛБ.
пУОПЧОЩЕ РТБЛФЙЮЕУЛЙЕ ТЕЛПНЕОДБГЙЙ:
— еУМЙ УЕТЧЙУ ОЕ ОХЦЕО, ЧЩЛМАЮЙФЕ ЕЗП;
— оХЦОЩК ЧБН УЕТЧЙУ РТБЧЙМШОП ОБУФТПКФЕ Й ЙУРПМШЪХКФЕ;
— еУМЙ УЕТЧЙУ ОХЦЕО, ОП ОЕФ ЧТЕНЕОЙ ЕЗП ОБУФТПЙФШ (ЙМЙ ЧЩ ОЕ ЪОБЕФЕ, ЛБЛ ЬФП УДЕМБФШ), ЧЩЛМАЮЙФЕ ЕЗП (ЧЛМАЮЙФШ ЧУЕЗДБ ХУРЕЕФЕ).
дМС ОБУФТПКЛЙ УЕТЧЙУПЧ (УМХЦВ) ЙУРПМШЪХАФУС УМЕДХАЭЙЕ ЛПОЖЙЗХТБФПТЩ
system-config-services — Ч Fedora Й ASPLinux;
drakxservices — Ч Mandriva;
services-admin — Ч Debian Й Ubuntu (ФХФ НПЗХ Й ПЫЙВЙФШУС Ч ОБЪЧБОЙЙ).
ртйнеюбойе
чПЪНПЦОП РТПЗТБННБ bum Ч Ubuntu РП ХНПМЮБОЙА ОЕ ХУФБОПЧМЕОБ, ДМС ЕЕ ХУФБОПЧЛЙ ЧЧЕДЙФЕ ЛПНБОДХ:
sudo apt-get install bum
оБДП ПФНЕФЙФШ, ЮФП Ч Debian Й Ubuntu ДПЧПМШОП НБМП УЕТЧЙУПЧ, РПФПНХ ЮФП Ч ПФМЙЮЙЕ ПФ ДТХЗЙИ ДЙУФТЙВХФЙЧПЧ, ЗДЕ ХУФБОБЧМЙЧБЕФУС ЮФП РПРБМП, Ч ЬФЙИ ДЙУФТЙВХФЙЧБИ РП ХНПМЮБОЙА ХУФБОБЧМЙЧБАФУС ФПМШЛП УБНЩЕ ОЕПВИПДЙНЩЕ УЕТЧЙУЩ.
ч УПЧТЕНЕООЩИ ДЙУФТЙВХФЙЧБИ ЧЩ НПЦЕФЕ ПВОБТХЦЙФШ УМЕДХАЭЙЕ УЕТЧЙУЩ:
abrt (Automatic Bug Reporting Too) — УПВЙТБЕФ ЙОЖПТНБГЙА П ЛТБИЕ УЙУФЕНЩ Й ПФРТБЧМСЕФ ТБЪТБВПФЮЙЛБН, ЕЗП НПЦОП УНЕМП ЧЩЛМАЮБФШ (ИПФС МЙЮОП С ЕЗП ПУФБЧЙМБ);
acpid — ХРТБЧМСЕФ ACPI-УПВЩФЙСНЙ, РП ВПМШЫПНХ УЮЕФХ, ПО РТПУФП ОЕ ОХЦЕО;
apmd — ОХЦЕО ФПМШЛП ОБ ОПХФВХЛБИ;
anacron, atd, crond — ДЕНПОЩ-РМБОЙТПЧЭЙЛЙ, ЛПФПТЩЕ ЪБРХУЛБАФ ХЛБЪБООЩЕ РПМШЪПЧБФЕМЕН ЛПНБОДЩ Ч ПРТЕДЕМЕООПЕ ЧТЕНС. дПНБЫОЕНХ РПМШЪПЧБФЕМА ПОЙ ЧТСД МЙ ОХЦОЩ, ЧП ЧУСЛПН УМХЮБЕ ФТЙ УТБЪХ (ДЧБ НПЦОП ПФЛМАЮЙФШ У ЮЙУФПК УПЧЕУФША);
avahi-daemon — ДЕНПО ZeroConf, ТЕБМЙЪХАЭЙК УФЕЛ mDNS (Multicast DNS), НПЦОП ПФЛМАЮЙФШ;
auditd — УЙУФЕНБ БХДЙФБ Linux. еУМЙ ЬФПФ УЕТЧЙУ ЧЩЛМАЮЕО, УПВЩФЙС БХДЙФБ ВХДХФ ПФРТБЧМЕОЩ ОБ syslog;
bluetooth — ЕУМЙ ЧЩ ОЕ УПВЙТБЕФЕУШ ЙУРПМШЪПЧБФШ ФЕИОПМПЗЙА Bluetooth, ДБООЩК УЕТЧЙУ НПЦЕФЕ ПФЛМАЮЙФШ;
btseed — ОХЦЕО ДМС BitTorrent, ЕУМЙ ЧЩ ОЕ ЙУРПМШЪХЕФЕ BitTorrent, ЬФПФ УЕТЧЙУ НПЦОП ЧЩЛМАЮЙФШ;
cpuspeed, haldaemon — ОЕ ЧДБЧБСУШ Ч РПДТПВОПУФЙ, РТПУФП ПФЛМАЮЙФЕ ЬФЙ УЕТЧЙУЩ (ОБРТЙНЕТ, haldaemon — УПВЙТБЕФ ЙОЖПТНБГЙА ПВ БРРБТБФОЩИ УТЕДУФЧБИ ЛПНРШАФЕТБ);
cups* — УЙУФЕНБ РЕЮБФЙ CUPS (Common Unix Printing System). оХЦОБ ФПМШЛП, ЕУМЙ ЕУФШ РТЙОФЕТ;
dm — ДЙУРЕФЮЕТ ДЙУРМЕС (display manager), ОХЦЕО, ЕУМЙ ЧЩ РМБОЙТХЕФЕ ТБВПФБФШ Ч ЗТБЖЙЮЕУЛПН ТЕЦЙНЕ;
dnsmasq — ЪБРХУЛБЕФ ЛЬЫЙТХАЭЙК DNS-УЕТЧЕТ;
freshclam — ПВОПЧМЕОЙЕ БОФЙЧЙТХУОПК ВБЪЩ ClamAV, ЕУФЕУФЧЕООП, ЕУМЙ ЧЩ ОЕ ЙУРПМШЪХЕФЕ ЬФХ БОФЙЧЙТХУОХА РТПЗТБННХ, ФП УЕТЧЙУ НПЦОП ПФЛМАЮЙФШ;
firstboot — УЕТЧЙУ, ЪБРХУЛБЕНЩК ФПМШЛП РТЙ РЕТЧПК ЪБЗТХЪЛЕ Fedora, ЪБФЕН ПО ВХДЕФ БЧФПНБФЙЮЕУЛЙ ЧЩЛМАЮЕО;
hidd — ДЕНПО HIDD (Human Interface Device Daemon) ПВЕУРЕЮЙЧБЕФ РПДДЕТЦЛХ ЛМБЧЙБФХТ, НБОЙРХМСФПТПЧ Й ДТХЗЙИ ХУФТПКУФЧ ДМЙ ЧЧПДБ ЙОЖПТНБГЙЙ, ТБВПФБАЭЙИ, ЮЕТЕЪ Bluetooth. еУМЙ ФБЛЙИ ХУФТПКУФЧ Х ЧБУ ОЕФ, НПЦОП УНЕМП ЧЩЛМАЮЙФШ ЬФПФ ДЕНПО;
hddtemp — РТЕДПУФБЧМСЕФ ЙОЖПТНБГЙА П ФЕНРЕТБФХТЕ ЦЕУФЛПЗП ДЙУЛБ. ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ НПЦОП ПФЛМАЮЙФШ;
httpd — Web-УЕТЧЕТ Apache (Ч ОЕЛПФПТЩИ ДЙУФТЙВХФЙЧБИ ЬФПФ УЕТЧЙУ ОБЪЩЧБЕФУС apache);
isdn — УЕТЧЙУ РПДДЕТЦЛЙ ISDN-МЙОЙК. еУМЙ Х ЧБУ ОЕФ ISDN, ЧЩЛМАЮЙФЕ ЬФПФ УЕТЧЙУ;
ip6tables — ЧЕТУЙС ВТБОДНБХЬТБ iptables, ТБВПФБАЭБС У РТПФПЛПМПН IPv6 оБ ДБООЩК НПНЕОФ ПУОПЧОПК СЧМСЕФУС ЧУЕ-ФБЛЙ ЮЕФЧЕТФБС ЧЕТУЙС РТПФПЛПМБ IP (IPv4), ДМС ЛПФПТПК ЬФПФ ДЕНПО ВЕУРПМЕЪЕО;
iptables — ВТБОДНБХЬТ Linux;
irqbalance — ОХЦЕО ФПМШЛП ОБ SMP-НБЫЙОБИ (НОПЗПРТПГЕУУПТОЩИ НБЫЙОБИ);
kheader — ЧЩРПМОСЕФ БЧФПНБФЙЮЕУЛХА ЗЕОЕТБГЙА ЪБЗПМПЧЛПЧ СДТБ Ч /boot. оЕ ПФЛМАЮБКФЕ ЬФПФ УЕТЧЙУ;
kudzLi (Ч Mandriva — harddrake2) — УЕТЧЙУ ПРТЕДЕМЕОЙС ОПЧЩИ ХУФТПКУФЧ. ч ГЕМСИ ЬЛПОПНЙЙ ЧТЕНЕОЙ РТЙ ЪБЗТХЪЛЕ УЙУФЕНЩ ЕЗП НПЦОП ЧЩЛМАЮЙФШ, Б ЪБРХУЛБФШ ЧТХЮОХА РПУМЕ ХУФБОПЧЛЙ ОПЧПЗП ХУФТПКУФЧБ;
lm_sensors — ЙУРПМШЪХЕФУС ДМС НПОЙФПТЙОЗБ ТБЪМЙЮОЩИ РБТБНЕФТПЧ УЙУФЕНЩ (ОБРТЙНЕТ, ФЕНРЕТБФХТЩ РТПГЕУУПТБ). дМС РТБЧЙМШОПК ОБУФТПКЛЙ ЬФПЗП УЕТЧЙУБ ОХЦОП РПФТБФЙФШ НОПЗП ЧТЕНЕОЙ (Л ФПНХ ЦЕ ОЕ ЧУЕ ЕЗП РПДДЕТЦЙЧБЕФ), РПЬФПНХ РТПУФП ЧЩЛМАЮЙФЕ ЕЗП;
mandi — ДЕНПО НПОЙФПТЙОЗБ УЕФЙ. ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ ОЕ ОХЦЕО;
mdadm — ДЕНПО НПОЙФПТЙОЗБ Й ХРТБЧМЕОЙС РТПЗТБННОЩНЙ RAID-НБУУЙЧБНЙ;
messagebus — УППВЭЕОЙК, Ч УПЧТЕНЕООЩИ ДЙУФТЙВХФЙЧБИ ПФЛМАЮБФШ ЬФПФ УЕТЧЙУ ОЕ ТЕЛПНЕОДХЕФУС (Б ТБОШЫЕ НПЦОП ВЩМП РТПУФП ЧЩЛМАЮЙФШ);
mDN SResponder, nifd — НПЦЕФЕ РТПУФП ЧЩЛМАЮЙФШ ЬФЙ ДЧБ УЕТЧЙУБ;
mdmonitor — ЙУРПМШЪХЕФУС ДМС НПОЙФПТЙОЗБ РТПЗТБННОЩИ RAID-НБУУЙЧПЧ;
msec — ЧЛМАЮБЕФ РПМЙФЙЛХ ВЕЪПРБУОПУФЙ MSEC, РП ХНПМЮБОЙА ЧЩЛМАЮЕО;
netconsole — РТПФПЛПМЙТПЧБОЙЕ УЕФЕЧПК ЛПОУПМЙ, РП ХНПМЮБОЙА ПФЛМАЮЕО;
Network Manager — ОПЧЩК УЕТЧЙУ РПДДЕТЦЛЙ УЕФЙ, ЙУРПМШЪХЕФУС ЧНЕУФП ХУФБТЕЧЫЕЗП УЕТЧЙУБ network. ч ОПЧЩИ ДЙУФТЙВХФЙЧБИ ЕУФШ ПВБ УЕТЧЙУБ; Network Manager Й network. рЕТЧЩК РП ХНПМЮБОЙА ЧЛМАЮЕО, Б ЧФПТПК — ЧЩЛМАЮЕО. ч ОЕЛПФПТЩИ УМХЮБСИ Network Manager ОХЦОП ПФЛМАЮЙФШ. фПЗДБ ДМС РПДДЕТЦЛЙ УЕФЙ УМЕДХЕФ ЧЛМАЮЙФШ УЕТЧЙУ network;
network — РПДДЕТЦЛБ УЕФЙ, ОЕ ЧЩЛМАЮБКФЕ ДБООЩК УЕТЧЙУ (ЕУМЙ ПО ЙЪОБЮБМШОП ВЩМ ЧЛМАЮЕО). ьФП ХУФБТЕЧЫЙК УЕТЧЙУ, ОП ПО ДП УЙИ РПТ ЙУРПМШЪХЕФУС Ч УПЧТЕНЕООЩИ ДЙУФТЙВХФЙЧБИ, ОБРТЙНЕТ, Ч Mandriva 2010;
netfs — ПВЕУРЕЮЙЧБЕФ РПДДЕТЦЛХ ТБЪМЙЮОЩИ УЕФЕЧЩИ ЖБКМПЧЩИ УЙУФЕН (Ч ФПН ЮЙУМЕ Й ДМС РПДДЕТЦЛЙ SMB). оХЦЕО Ч МПЛБМШОПК УЕФЙ, ЗДЕ ЕУФШ ОЕПВИПДЙНПУФШ Ч УЕФЕЧЩИ ЖБКМПЧЩИ УЙУФЕНБИ (ЬФП ОЙЛБЛ ОЕ ПФОПУЙФУС Л РТПФПЛПМХ FTP);
netplugd (Ч Mandriva 2008 — network-up) — ДЕНПО ХРТБЧМЕОЙС ОЕУФБФЙЮЕУЛЙНЙ УЕФЕЧЩНЙ ЙОФЕТЖЕКУБНЙ. нПЦОП У ЮЙУФПК УПЧЕУФША ПФЛМАЮЙФШ;
partmon — РТПЧЕТСЕФ ОБМЙЮЙЕ УЧПВПДОПЗП НЕУФБ ОБ ТБЪДЕМБИ ЦЕУФЛПЗП ДЙУЛБ;
pcmcia (pccsd) — ОХЦЕО ДМС РПДДЕТЦЛЙ PCMCIA-ЛБТФ, еУМЙ Х ЧБУ ОЕ ОПХФВХЛ, НПЦЕФЕ УНЕМП ЧЩЛМАЮЙФШ ЬФПФ УЕТЧЙУ;
portmap — ПВЕУРЕЮЙЧБЕФ НБРРЙОЗ РПТФПЧ. дПНБЫОЕНХ РПМШЪПЧБФЕМА ОЕ ОХЦЕО, Б ЧПФ ОБ УЕТЧЕТЕ РТЙЗПДЙФУС;
resolvconf — НЕОЕДЦЕТ ЙОЖПТНБГЙЙ П ДПНЕООЩИ УЕТЧЕТБИ, ОЕ ПФЛМАЮБКФЕ ЬФПФ УЕТЧЙУ ДБЦЕ ОБ ЛМЙЕОФБИ;
rhnsd — НПЦОП УНЕМП ЧЩЛМАЮЙФШ;
ЗТУ* — РПДДЕТЦЛБ ХДБМЕООПЗП ЧЩЪПЧБ РТПГЕДХТ RPC (Remote Procedure Call), Ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ ДБООЩК УЕТЧЙУ ОЕ ЧПУФТЕВПЧБО;
sendmail (ЙМЙ postfix)- УМХЦЙФ ДМС ПТЗБОЙЪБГЙЙ УПВУФЧЕООПЗП SMTP-УЕТЧЕТБ, ФП ЕУФШ ДМС УЕТЧЕТБ ПФРТБЧЛЙ УППВЭЕОЙК ЬМЕЛФТПООПК РПЮФЩ. дПЧПМШОП УМПЦЕО Ч ОБУФТПКЛЕ, РПЬФПНХ МХЮЫЕ РПЛБ ЧЩЛМАЮЙФШ ЕЗП. лПЗДБ Х ЧБУ ВХДЕФ ОЕПВИПДЙНПУФШ Ч УПВУФЧЕООПН SMTP-УЕТЧЕТЕ, ЧЛМАЮЙФШ ЬФПФ уЕТЧЙУ ПУПВЩИ РТПВМЕН ОЕ УПУФБЧЙФ;
shorewall (Ч ДТХЗЙИ ДЙУФТЙВХФЙЧБИ — iptables) — РБЛЕФОЩК ЖЙМШФТ (ВТБОДНБХЬТ). еУМЙ ЧЩ ЕЭЕ ОЕ ОБУФТБЙЧБМЙ РБЛЕФОЩК ЖЙМШФТ, ФП МХЮЫЕ РПЛБ ЕЗП ПФЛМАЮЙФШ;
smartd — ОХЦЕО ДМС РПДДЕТЦЛЙ S.M.A.R.T-ХУФТПКУФЧ. еУМЙ Х ЧБУ ОЕФ ФБЛЙИ ХУФТПКУФЧ, НПЦЕФЕ ЧЩЛМАЮЙФШ ЬФПФ УЕТЧЙУ;
snmp* — РПДДЕТЦЛБ SNMP (Simple Network Management Protocol). еУМЙ ЧБН SNMP ОЕ ОХЦЕО, ПФЛМАЮЙФЕ ЬФПФ УЕТЧЙУ;
sshd — ОЕПВИПДЙН ДМС ВЕЪПРБУОПЗП ХДБМЕООПЗП ДПУФХРБ Л ЛПОУПМЙ УЙУФЕНЩ. ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ ОЕ ОХЦЕО;
winbind — ЮБУФШ Samba, ОХЦЕО Ч Windows-УЕФСИ;
yum-updatesd — УМХЦВБ ПВОПЧМЕОЙС, ПУОПЧБООБС ОБ ФЕИОПМПЗЙЙ yum. йНЕЕФУС ФПМШЛП Ч Fedora Core Й ДТХЗЙИ ДЙУФТЙВХФЙЧБИ, ЙУРПМШЪХАЭЙИ yum (Mandriva Л ОЙН ОЕ ПФОПУЙФУС). еУМЙ ЧЩ ОЕ РМБОЙТХЕФЕ ПВОПЧМСФШ УЧПА УЙУФЕНХ РП йОФЕТОЕФХ, ПФЛМАЮЙФЕ ЬФПФ УЕТЧЙУ.
рПМОЩК ОБВПТ УЕТЧЙУПЧ ЪБЧЙУЙФ ПФ УБНПЗП ДЙУФТЙВХФЙЧБ, ЕЗП ЧЕТУЙЙ, Б ФБЛЦЕ ПФ ЕЗП ЛПОЖЙЗХТБГЙЙ.
рПУМЕ ПФЛМАЮЕОЙС/ЧЛМАЮЕОЙС УЕТЧЙУПЧ РПНЕЮЕООЩИ ОХЦОП РЕТЕЪБЗТХЪЙФШ ЛПНРШАФЕТ: reboot
Источник
Systemd за пять минут
Наша компания занимается администрированием веб-серверов на базе CentOS. Довольно часто наши клиенты используют веб-приложения на базе python, ruby или java. Для автозапуска подобных приложений есть готовые шаблоны для написания стартап-скриптов. Но прогресс не стоит на месте, вышел уже второй релиз CentOS 7 и, следуя старой традиции «не ставить dot-zero релизы на продакшен», мы начинаем предлагать клиентам сервера на базе CentOS 7.1 (1503).
В CentOS7, так же как и в его родителе RHEL7, используется systemd — менеджер системы и служб для Linux, совместимый со скриптами инициализации SysV и LSB. systemd обеспечивает возможности агрессивной параллелизации и много всего прочего.
Огромный монстр с множеством возможностей, гибкими настройками и мегабайтами документации…
Но что делать, если стоит задача быстро-быстро, вот прямо вчера, сделать автозапуск некоего сервиса?
Давайте выжмем из документации минимально необходимый набор информации для создания простых старт-стоп скриптов.
Systemd запускает сервисы описанные в его конфигурации.
Конфигурация состоит из множества файлов, которые по-модному называют юнитами.
Все эти юниты разложены в трех каталогах:
/usr/lib/systemd/system/ – юниты из установленных пакетов RPM — всякие nginx, apache, mysql и прочее
/run/systemd/system/ — юниты, созданные в рантайме — тоже, наверное, нужная штука
/etc/systemd/system/ — юниты, созданные системным администратором — а вот сюда мы и положим свой юнит.
Юнит представляет из себя текстовый файл с форматом, похожим на файлы .ini Microsoft Windows.
[Название секции в квадратных скобках]
имя_переменной = значение
Для создания простейшего юнита надо описать три секции: [Unit], [Service], [Install]
В секции Unit описываем, что это за юнит:
Названия переменных достаточно говорящие:
Далее следует блок переменных, которые влияют на порядок загрузки сервисов:
Запускать юнит после какого-либо сервиса или группы сервисов (например network.target):
After=syslog.target
After=network.target
After=nginx.service
After=mysql.service
В итоге переменная Wants получается чисто описательной.
Если сервис есть в Requires, но нет в After, то наш сервис будет запущен параллельно с требуемым сервисом, а не после успешной загрузки требуемого сервиса
В секции Service указываем какими командами и под каким пользователем надо запускать сервис:
(по умолчанию): systemd предполагает, что служба будет запущена незамедлительно. Процесс при этом не должен разветвляться. Не используйте этот тип, если другие службы зависят от очередности при запуске данной службы.
systemd предполагает, что служба запускается однократно и процесс разветвляется с завершением родительского процесса. Данный тип используется для запуска классических демонов.
Также следует определить PIDFile=, чтобы systemd могла отслеживать основной процесс:
Команды на старт/стоп и релоад сервиса
ExecStart=/usr/local/bin/bundle exec service -C /work/www/myunit/shared/config/service.rb —daemon
ExecStop=/usr/local/bin/bundle exec service -S /work/www/myunit/shared/tmp/pids/service.state stop
ExecReload=/usr/local/bin/bundle exec service -S /work/www/myunit/shared/tmp/pids/service.state restart
Тут есть тонкость — systemd настаивает, чтобы команда указывала на конкретный исполняемый файл. Надо указывать полный путь.
Таймаут в секундах, сколько ждать system отработки старт/стоп команд.
Попросим systemd автоматически рестартовать наш сервис, если он вдруг перестанет работать.
Контроль ведется по наличию процесса из PID файла
В секции [Install] опишем, в каком уровне запуска должен стартовать сервис
multi-user.target или runlevel3.target соответствует нашему привычному runlevel=3 «Многопользовательский режим без графики. Пользователи, как правило, входят в систему при помощи множества консолей или через сеть»
Вот и готов простейший стартап скрипт, он же unit для systemd:
myunit.service
Кладем этот файл в каталог /etc/systemd/system/
Смотрим его статус systemctl status myunit
Видим, что он disabled — разрешаем его
systemctl enable myunit
systemctl -l status myunit
Если нет никаких ошибок в юните — то вывод будет вот такой:
Запускаем сервис
systemctl start myunit
Смотрим красивый статус:
systemctl -l status myunit
Если есть ошибки — читаем вывод в статусе, исправляем, не забываем после исправлений в юните перегружать демон systemd
Источник
Управление сервисами в Linux. Команда systemctl
Что такое сервисы в Linux
Сервисы или службы — это программы, которые работают в системе Linux в фоновом режиме. Обычно они запускаются при загрузке системы. Большинство сервисов необходимы для полноценной работы системы, то есть они являются своего рода кирпичиками, из которых строится работающая система.
При запуске системы загружается целый ряд сервисов, которые включены для автозагрузки. Сервисы работают пока система запущена, и выгружаются при выключении системы.
Чаще всего в Linux дистрибутивах для инициализации сервисов используется демон Systemd. К Systemd-дистрибутивам относятся Ubuntu, Debian, Linux Mint, Fedora, openSUSE, Solus и другие.
Есть дистрибутивы, которые не используют Systemd. Вместо Systemd могут использоваться такие системы инициализации, как Upstart, SysV.
В качестве примеров сервисов можно привести: веб-сервер Apache, Network Manager, файрвол Ufw и другие.
Для управления сервисами (Systemd) используется утилита systemctl . Ниже мы рассмотрим основные команды данной утилиты.
Список сервисов
Чтобы просмотреть список всех сервисов можно воспользоваться командой:
Данная команда пробегает по алфавитному списку всех доступных сервисов и выполняет для них команду status.
В выводе команды используются следующие обозначения:
- [ + ] — запущенный сервис.
- [ — ] — остановленный сервис.
- [ ? ] — для данного сервиса отсутствует команда status.
Запуск сервиса
Для запуска сервиса используется команда systemctl start имя_сервиса
Останов сервиса
Для остановки сервиса используется команда systemctl stop имя_сервиса
Перезапуск сервиса
Перезапуск сервиса выполняется командой systemctl restart имя_сервиса
Обычно перезапуск конкретного сервиса требуется, когда были изменены настройки данного сервиса.
Некоторые сервисы поддерживают «мягкую» перезагрузку. В этом случае сервис считывает связанные с ним файлы конфигурации, но не прерывает процесс сервиса. Для выполнения «мягкой» перезагрузки используется команда systemctl reload имя_сервиса . Не все сервисы поддерживают «мягкую» перезагрузку. Если она не поддерживается, то появится сообщение вида: Failed to reload ufw.service: Job type reload is not applicable for unit ufw.service.
Автозагрузка сервисов
Чтобы сервис стартовал (загружался) при запуске системы, его нужно включить в список автозагрузки. Для этого используется команда systemctl enable имя_сервиса
Чтобы включить сервис в автозапуск и сразу же запустить используется команда:
Чтобы удалить сервис из автозагрузки, используется команда systemctl disable имя_сервиса
Статус сервиса
Для вывода информации (статуса) сервиса используется команда systemctl status имя_сервиса
Чтобы проверить, запущен ли в данный момент сервис, используется команда systemctl is-active имя_сервиса
Чтобы проверить, включен ли сервис для автозапуска при загрузке системы, используется команда systemctl is-enabled имя_сервиса
Заключение
Мы рассмотрели наиболее часто используемые команды утилиты systemctl. Полный список команд и опций утилиты systemctl можно получить, выполнив:
Источник