Systemd

From EIK wiki
(Redirected from Service)

Sissejuhatus

Eeldused lugejale

  • Saab iseseivalt hakkama Linux'i käsureaga [1]
  • On kursis erinevate teenuste olemasoluga ja nende haldamise vajadusega [2]
  • Suudab enda privileege iseseisvalt eskaleerida juurkasutajaks [3]

systemd üldine kirjeldus

Järgnev alampeatükk on refereeritud systemd kodulehelt.
Systemd on Linux'i süsteemi ja teenuste haldur.
Kirjutatud C keeles, võimaldamaks suuremat töökiirust võrreldes eellastega, kuid sellest hoolimata on tagasiühilduv SystemV ja LSB käivitusskriptidega.

Põhilised disainielemendid
  • Agressiivne teenuste käivitamise paralleliseerimine
  • Sõltuvustepõhine teenuste käivitamine
  • Sokkelite ja D-Bus'il põhinevalt vajadusepõhine teenuste käivitamine
  • Protsesside haldamine cgroup'ide abil
  • Kettajagude külgehaakimise vajadusepõhine haldamine
Nimi ja selle kasutamine

Systemd kirjutatakse alati läbivalt väikeste tähtedega, kuid erandkorras on lubatud lause alguses kasutada suurt algustähte.
Rooma number D ehk 500 ja V ehk 5 võimaldavad ka hoomata systemd ja SystemV järglaslikku seost.

Loojad

Lennart Poettering ja Kay Sievers

systemd

Tehniline kirjeldus

Systemd käivitab võimalikult palju teenuseid paralleelselt. Võimaldamaks süsteemi kiiremat käivitumist ei oodata iga teenuse tööks vajalike teiste teenuste startimist, vaid pakutakse neile sokleid, mille abil nad omavahel suhtlevad, ning kõnealune osa süsteemi käivitumisest viiakse parallelselt jadamisi loogikale üle alles reaalse vajaduse tekkimisel. Niimoodi on võimalik käivitada näiteks Samba server oluliselt varem kui väljajagatav kettajagu on kettakontrolli läbinud, mis võimaldab näiteks kasutada Sambat kasutajate autentimiseks oluliselt varem kui seda võimaldataks SystemV puhul. Lisaväärtusena võimaldab soklite kasutamine teenuste omavahelist suhtlust puhverdada ning ka juhul kui kasutaja tõesti soovib näitena toodud kettajagu kasutada esineb süsteemis vea asemel vaid mõningane viivitus. Soklite ja reaalsete teenuste vahelise suhtluse haldamine võimaldab ka vahepeal vea tõttu seiskunud teenuseid vajadusel taaskäivitada kui nende järele peaks mõnel teisel teenusel vajadus tekkima.

Teenuste haldamine

Järgnevalt eeldame et teie poolt hallatava teenuse nimi on määratud muutuja _teenus väärtuseks. Samuti on oluline meeles pidada et enamike teenuste haldamine on võimalik vaid juurkasutaja õigustes!
Refereerituna systemctl'i manuaalist

Teenuste loetelu ja kirjeldus

Olemasolevate teenuste nimekiri
systemctl --list-units
Süsteemi käivitumisel ebaõnnestunud teenused
systemctl --failed

Käivitamine/Peatamine

Teenuse käivitamine
systemctl start $_teenus
Teenuse peatamine
systemctl stop $_teenus
Teenuse taaskäivitamine
systemctl restart $_teenus
Teenuse seadistuse taaslaadimine
systemctl reload $_teenus
Teenuse oleku ülevaade
systemctl status $_teenus

Restartimisel käivitatavad teenused

Teenuse määramine restardi käigus käivitavaks või mitte-käivitatavaks ei oma teenuse praeguse oleku suhtes tagajärgi!

Kontroll kas teenus käivitatakse automaatselt
systemctl is-enabled $_teenus
Teenuse määramine vaikimisi käivitatavaks
systemctl enable $_teenus
Teenuse määramine vaikimisi mitte-käivitatavaks
systemctl disable $_teenus

Süsteemi haldamine

Süsteemi haldamiseks tavakasutaja õigustes on vajalik polkit![4]

Operatsionisüsteemi taaskäivitamine
systemctl reboot
Operatsioonisüsteemi seiskamine
systemctl poweroff

systemd'd vaikimisi kasutavad distributsioonid

  • Arch Linux (oktoober 2012) [5]
  • Fedora (mai 2011) [6]
  • Frugalware Linux (august 2011) [7]
  • Mageia (mai 2012) [8]
  • openSUSE (september 2012) [9]
  • Sabayon Linux (august 2013) [10]
  • siduction (detsember 2013) [11]

Kokkuvõte

Systemd pakutavad võimalused ning eelised teiste süsteemihalduritega võrreldes on väga arvukad ning käesolevat artiklit tuleks pigem võtta lühitutvustusena mitte ülevaatena. Autori senine isiklik kogemus on ülimalt positiivne ning ta on veendunud et systemd on parim valik hetkel eksisteerivatest valikutest.

Kasulikke materjale

Töö esitamise tähtajaks valminud versioon

Diff praeguse versiooniga

Autor

Peeter Tomusk AK41