Systemd je sistemski i servisni manadžer za Linux operativni sistem, a sam naziv predstavlja skraćenicu od system deamon – sistemski servis. Inicijalna verzija systemd-a pojavila se početkom 2010 godine.

Od nedavno, systemd je u žiži interesovanja, jer je na većini modernih Linux distribucija potisnuo dugo korišćeni SysVinit i sada predstavlja podrazumevani init sistem. Korisnici Arch Linux-a su se već poodavno prebacili na systemd koncept, a od skora su u potpunosti prešli i Fedora, RedHat, Debian, OpenSUSE, Ubuntu i druge distribucije.

Mnogi dugogodišnji Linux korisnici nisu oduševljeni ovom promenom, kako zbog dugodišnjeg korišćenja SysVinit skripti, tako i zbog činjenice da novi usvojeni pristup donosi dodatnu kompleksnost i veće ingerencije systemd-u, što se donekle kosi sa osnovnim Linux postulatima modularnosti i jednostavnosti. Činjenica je, međutim, da systemd donosi i brojna unapređenja u odnosu na prethodnika i da njegovo vreme dolazi, pa se na promenu treba što bezbolnije prilagoditi.

Systemd je razvijen pod GNU Lesser General javnom licencom verzije 2.1, a za više informacija možete posetiti adresu http://freedesktop.org/wiki/Software/systemd/.

Osnovne funkcionalnosti

Prilikom podizanja Linux operativnog sistema, završivši sve poslove u domenu svojih zaduženja, Linux kernel pokreće systemd kao prvi inicijalni proces, sa pid-om 1 (process id). Systemd je potom odgovoran za dalju inicijalizaciju svih servisa na sistemu, proveru i aktiviranje (mountovanje) fajl sistema, i dr. Navedeni “taskovi” su samo segment, a servisi samo jedan od entiteta za čije upravljanje je zadužen systemd.

Postoji 12 različitih tipova entiteta i oni se u systemd terminologiji nazijvaju “units”. Evo i spiska entiteta koji spadaju u “units”: service, socket, target, device, mount, automount, snapshot, timer, swap, path, slice i scope. Deo Linux zajednice se ne slaže sa konceptom koji systemd nudi, pre svega iz razloga što po dodeljenim zaduženjima on višestruko prevazilazi ulogu običnog init procesa.

systemdscsh

Značajna promena ogleda se i u činjenici da su kod systemd sistemskog servisa, tradicionalne init skripte zamenjene systemd servisnim fajlovima. U napredne funkcionalnosti koje systemd obezbeđuje spadaju: paralelno pokretanje sistemskih servisa za vreme podizanja sistema, aktiviranje servisa po potrebi (on-demand), podrška za pravljenje preseka sistemskog stanja (system state snapshots), kao i ugrađena servisna kontrolna logika bazirana na međuzavisnostima servisa. Pomenimo još jednu bitnu funkcionalnost – Systemd podržava soket baziranu aktivaciju koja omogućuje istovremeno startovanje servisa. Ova mogućnost značajno smanjuje vreme potrebno za podizanja sistema, uz napomenu da svi servisi ne podržavaju soket aktivaciju. Zavisno od tipa unita podržane su i mnogi drugi načini unit aktivacije: D-bus aktivacija, aktivacija servisa prilikom priključenja nekog uređaja na sistem, aktivacija prouzrokovna izmenom stanja na nekom fajlu ili direktorijumu, i druge. Uz sve nabrojano, systemd je zadržao kompatibilnost za SysVinit skriptama, pa kada sve uzmemo u obzir, ne čudi njegova rastuća popularnost.

Primeri korišćenja

U nastavku ćemo navesti nekoliko praktičnih primera eksploatacije systemd servisa korišćenjem systemctrl naredbe:

itmogul-logoTekst je preuzet sa ugašenog bloga IT modul i originalni autor ovog teksta je Vladimir Kolar. Kompjuteraš IT blog će objavljivati tekstove sa tog bloga kako riznica znanja sa te lokacije ne bi otišla u zaborav.