Systemd
Kuten Upstart, Systemd on käyttöjärjestelmän ja siinä ajettavien palveluiden käynnistymistä ja sammuttamista ohjaava ns. init-järjestelmä. Se on tällä hetkellä käytössä oletuksena uusimmissa Fedoran versioissa.
Ominaisuuksia
- Nopeuttaa järjestelmän käynnistymistä suorittamalla toisistaan riippumattomia tehtäviä rinnakkaisesti
- Tarjoaa valmiita toimintoja joilla voidaan korvata pitkiä perinteisten init-järjestelmien komentosarjoja
- Käyttää Linuxin control group -toimintoa prosessien seuraamiseen
- Yhteensopiva System V init -komentosarjojen kanssa
- Tarvittaesa viivästää palveluiden aktivointia siihen asti että joku yrittää niitä käyttää
Yksiköt
Tavallisimmin Systemd:n tarjoamia työkaluja käytetään palveluiden, kuten sshd tai Cups, hallintaan. Systemd hallitsee palveluiden lisäksi myös muutamaa muunlaista asiaa. Erilaisille systemd:lla käsiteltäville asioille yhteinen termi on yksikkö (englanniksi unit).
Erityyppiset yksiköt erottaa toisistaan helposti nimen loppuosan perusteella. Palvelut päättyvät aina .service-merkkijonoon, kun taas esimerkiksi tiedostojärjestelmien liitospisteitä vastaavien yksiköiden nimien lopussa on aina .mount.
Erityyppisten yksiköiden olemassaolo kannattaa huomioida Systemd:n työkaluja käyttäessä. Usein järjestelmää hallittaessa tarvitsee käsitellä lähinnä .service- ja .socket -tyyppisiä yksiköitä.
Systemctl
Systemctl-työkalua käytetään systemd:n ohjaamiseen. Sen avulla voidaan varsinkin hallita palveluiden käynnistymistä ja sammuttamista. Tässä on käytetty esimerkkinä Avahi-palvelun mukana tulevaa avahi-daemon.serviceä, mutta komennot toimivat vastaavasti myös monille muille palveluille.
Tietoa palveluista
Systemctl:n list-units -komennolla saa listauksen kaikista järjestelmän palveluista. Ilman --all -valitsinta saa listauksen vain aktiivisista yksiköistä. Lisäksi --full -valitsin on usein tarpeellinen jotta pitkät yksikönnimet saa kokonaan näkyviin.
systemctl list-units --all
Systemctl:n status-komennolla saa selvitettyä tärkeimmät yhteen yksikköön liittyvät tiedot.
systemctl status avahi-daemon.service
Tämän tulisi tulostaa jotain seuraavanlaista:
avahi-daemon.service - Avahi mDNS/DNS-SD Stack Loaded: loaded (/lib/systemd/system/avahi-daemon.service; enabled) Active: active (running) since Thu, 27 Oct 2011 10:15:57 +0300; 7h ago Main PID: 889 (avahi-daemon) Status: "avahi-daemon 0.6.30 starting up." CGroup: name=systemd:/system/avahi-daemon.service
Show-komennolla puolestaan saa pidemmän listauksen avahi-daemon.serviceen liittyvistä tiedoista. Se voi olla hyödyllistä esimerkiksi yksikkötiedostoja kirjoitettaessa.
systemctl show avahi-daemon.service
Palveluiden käynnistäminen ja pysäyttäminen
# Käynnistä Avahi-palvelu systemctl start avahi-daemon.service
# Pysäyttäminen vastaavasti stop-käskyllä: systemctl stop avahi-daemon.service
Automaattisesti käynnistettävät palvelut
Edellämainitut start- ja stop-komennot käynnistävät ja pysäyttävät yksikön, mutta ne eivät vaikuta siihen, mitä käynnistetään automaattisesti. Tähän sen sijaan käytettäisiin systemctl:n enable- ja disable-komentoja.
# Käynnistä sshd.service automaattisesti järjestelmän käynnistyessä systemctl enable sshd.service
# Poista sshd.service automaattisesti käynnistettävien yksiköiden joukosta systemctl disable sshd.service