SYSTEMD – Линукс системски сервис

Systemd је системски и сервисни манаџер за GNU/Linux оперативни систем (у даљем тексту Линукс), а сам назив представља скраћеницу од system deamon – системски сервис. Иницијална верзија systemd-а појавила се почетком 2010 године.

Од недавно, systemd је у жижи интересовања, јер је на већини модерних Линукс дистрибуција потиснуо дуго коришћени SysVinit и сада представља подразумевани инит систем. Корисници Arch Линукса су се већ поодавно пребацили на systemd концепт, а од скора су у потпуности прешли и Fedora, RedHat, Debian, OpenSUSE, Ubuntu и друге дистрибуције.

Многи дугогодишњи Линукс корисници нису одушевљени овом променом, како због дугодишњег коришћења SysVinit скрипти, тако и због чињенице да нови усвојени приступ доноси додатну комплексност и веће ингеренције systemd-у, што се донекле коси са основним Линукс постулатима модуларности и једноставности. Чињеница је, међутим, да systemd доноси и бројна унапређења у односу на претходника и да његово време долази, па се на промену треба што безболније прилагодити.

Systemd је развијен под GNU Lesser General јавном лиценцом верзије 2.1, а за више информација можете посетити адресу http://freedesktop.org/wiki/Software/systemd/.

Основне функционалности

Приликом подизања Линукс оперативног система, завршивши све послове у домену својих задужења, Линукс кернел покреће systemd као први иницијални процес, са pid-ом 1 (process id). Systemd је потом одговоран за даљу иницијализацију свих сервиса на систему, проверу и активирање (mountовање) фајл система, и др. Наведени „таскови“ су само сегмент, а сервиси само један од ентитета за чије управљање је задужен systemd.

Постоји 12 различитих типова ентитета и они се у systemd терминологији назијвају „units“. Ево и списка ентитета који спадају у „units“: service, socket, target, device, mount, automount, snapshot, timer, swap, path, slice и scope. Део Линукс заједнице се не слаже са концептом који systemd нуди, пре свега из разлога што по додељеним задужењима он вишеструко превазилази улогу обичног инит процеса.

systemdscsh

Значајна промена огледа се и у чињеници да су код systemd системског сервиса, традиционалне инит скрипте замењене systemd сервисним фајловима. У напредне функционалности које systemd обезбеђује спадају: паралелно покретање системских сервиса за време подизања система, активирање сервиса по потреби (on-demand), подршка за прављење пресека системског стања (system state snapshots), као и уграђена сервисна контролна логика базирана на међузависностима сервиса. Поменимо још једну битну функционалност – Systemd подржава сокет базирану активацију која омогућује истовремено стартовање сервиса. Ова могућност значајно смањује време потребно за подизања система, уз напомену да сви сервиси не подржавају сокет активацију.

Зависно од типа unit-а подржане су и многи други начини unit активације: D-bus активација, активација сервиса приликом прикључења неког уређаја на систем, активација проузроковна изменом стања на неком фајлу или директоријуму, и друге. Уз све набројано, systemd је задржао компатибилност за SysVinit скриптама, па када све узмемо у обзир, не чуди његова растућа популарност.

Примери коришћења

У наставку ћемо навести неколико практичних примера експлоатације systemd сервиса коришћењем systemctl наредбе:

systemctl list-units --type service –all #spisak svih servisa na sistemu
systemctl list-units --type service #lista aktivnih servisa na sistemu
systemctl get-difolt #trenutni target (runlevel)
systemctl start httpd.service #startovanje httpd servisa
systemctl stop httpd.service #zaustavljanje httpd servisa
systemctl restart httpd.service #ponovo pokretanje httpd servisa
systemctl status httpd.service #status httpd servisa
systemctl enable httpd.service #trajno aktiviranje httpd servisa
systemctl disable httpd.service #trajno deaktiviranje httpd servisa
systemctl is-enabled httpd.service #da li se httpd aktivira prilikom pokretanja sistema

itmogul-logoТекст је преузет са угашеног блога ИТ модул и оригинални аутор овог текста је Владимир Колар. Компјутераш ИТ блог објављује текстове са тог блога како ризница знања са те локације не би отишла у заборав.