- 1 1. Sissejuhatus
- 2 2. Kuidas kuvada teenuste nimekirja systemctl abil
- 3 3. Põhilised teenuste haldustoimingud systemctl abil
- 4 4. Kasulikud valikud ja edasijõudnud tehnikad systemctl kasutamisel
- 5 5. Levinumad probleemid ja nende lahendused
- 6 6. Kokkuvõte
- 7 7. Korduma kippuvad küsimused (KKK)
- 7.1 K1. Mis vahe on systemctl ja service käskudel?
- 7.2 K2. Mis vahe on list-units ja list-unit-files käskudel?
- 7.3 K3. Kas static olekus teenust saab käivitada?
- 7.4 K4. Mida teha, kui teenus on masked-olekus ja ei käivitu?
- 7.5 K5. Kuidas kuvada teenuste olekut graafilises liideses (GUI)?
- 7.6 K6. Kuhu peaksin enda loodud ühikufaili paigutama?
1. Sissejuhatus
Linuxit kasutades tekib tihti vajadus kontrollida teenuste olekut või näha kõiki töötavaid protsesse korraga. Nendes olukordades on eriti kasulik systemctl
käsk.
See käsk töötab koos Linuxi alglaadimissüsteemi ja teenusehalduriga “systemd” ning võimaldab laialdasi funktsioone: teenuste (ühikute) oleku kontroll, käivitamine, peatamine, taaskäivitamine ja nimekirjade kuvamine.
Eriti “systemctl nimekiri” vaatenurgast vaadatuna saab tuvastada mitte ainult aktiivseid, vaid ka keelatud teenuseid ja neid, mis on seadistatud automaatselt käivituma – nii on võimalik saada täielik ülevaade süsteemi teenustest erinevatest vaatenurkadest.
Selles peatükis selgitame esmalt lihtsalt, mis on “systemctl” ning milliseid teadmisi selles artiklis omandada saab.
Mis on systemctl?
systemctl
on standardne tööriist systemd-põhistes Linuxi distributsioonides, mis võimaldab hallata ja kontrollida erinevaid “ühikuid” nagu teenused, sihtmärgid ja mount-punktid.
Seda kasutatakse näiteks Apache (httpd) või SSH teenuste käivitamiseks, peatamiseks või nende oleku kuvamiseks nimekirjana.
Seos systemd ja systemctl vahel
systemd on Linuxi käivitamise ja teenusehalduse keskne mehhanism, mis asendas vanad lahendused nagu “SysVinit” või “Upstart”. systemd-ga suhtlemiseks kasutatakse käsureatööriista systemctl
.
Kujutagem ette, et systemd on “juht” ning systemctl on selle “operaator”, kes annab käske edasi.
Mida sellest artiklist õpid
Selles artiklis saad vastused järgmistele küsimustele:
- Kuidas kuvada praegu töötavate teenuste nimekirja?
- Kuidas näha nimekirjas ka mitteaktiivseid teenuseid?
- Kuidas kontrollida, kas teenus käivitub automaatselt?
- Kuidas lugeda teenuste nimekirja väljundit?
Selgitame käskude kasutamist ja väljundi tõlgendamist ka algajale arusaadavalt. Loodame, et loed lõpuni!
2. Kuidas kuvada teenuste nimekirja systemctl abil
Linuxi süsteemi haldamisel on oluline kiiresti saada ülevaade kõigist teenustest. systemctl
võimaldab lihtsalt näha nii aktiivseid kui ka mitteaktiivseid teenuseid ning kontrollida automaatkäivituse seadistusi.
Siin selgitame kolme peamist vaatenurka:
- Aktiivsete teenuste nimekiri
- Kõigi teenuste nimekiri (ka mitteaktiivsed)
- Teenuseühikute failide nimekiri (ka käivitusseaded)
2.1 Kuidas kuvada aktiivsete teenuste nimekirja
Kõige põhilisemalt saab töötavate teenuste nimekirja kuvada järgmise käsuga:
systemctl list-units --type=service
See käsk näitab kõiki aktiivseid (töötavaid) teenuseid. Väljund sisaldab järgmisi veerge:
Veeru nimi | Selgitus |
---|---|
UNIT | Teenuse nimi (nt ssh.service) |
LOAD | Kas ühikufail on laaditud |
ACTIVE | Kas teenus on aktiivne (nt active, inactive, failed) |
SUB | Täpsem olek (nt running, exited, dead) |
DESCRIPTION | Teenuse kirjeldus |
Selle info abil saab kiiresti teada, kas näiteks nginx töötab või millised teenused on aktiivsed.
2.2 Kuidas kuvada ka mitteaktiivseid teenuseid
Vaikimisi näitab list-units
ainult aktiivseid teenuseid. Et näha ka mitteaktiivseid, lisa --all
valik.
systemctl list-units --type=service --all
Selle valikuga saad nimekirja, mis hõlmab ka “inactive” teenuseid ja neid, mida pole kunagi käivitatud.
Veel täpsemaks filtreerimiseks kasuta --state=
valikut.
systemctl list-units --type=service --state=inactive
Nii saad vaadata näiteks ainult peatud teenuseid.
2.3 Kuidas kuvada teenuseühikute faile
Kui soovid teada, millised teenused on lubatud (enabled) või keelatud (disabled), kasuta järgmist käsku:
systemctl list-unit-files --type=service
See käsk kuvab kõik teenuste ühikufailid ja igaühe oleku (enabled/disabled jne).
STATE väärtus | Selgitus |
---|---|
enabled | Käivitatakse automaatselt alglaadimisel |
disabled | Ei käivitata automaatselt, tuleb käsitsi alustada |
static | Sõltub teistest ühikutest, ei saa ise olla lubatud/keelatud |
masked | On täielikult keelatud ning ei saa käivitada (kaitstud) |
Nii näed, millised teenused käivituvad koos süsteemiga ja millised on kogemata “maskitud”.
3. Põhilised teenuste haldustoimingud systemctl abil
systemctl
käsku kasutatakse mitte ainult teenuste oleku kontrollimiseks, vaid ka nende käivitamiseks, peatamiseks, taaskäivitamiseks ja automaatkäivituse seadistamiseks. Selles osas selgitame levinumaid haldustoiminguid, mida Linuxi süsteemi igapäevases halduses vaja läheb.
Regulaarne serverihaldus ja tõrkeotsing muutuvad palju lihtsamaks, kui neid käske suudad kasutada.
3.1 Kuidas teenust käivitada
Konkreetselt teenust saab käsitsi käivitada kasutades start
alamkäsku.
sudo systemctl start teenuse_nimi
Näide: Apache (httpd) käivitamine:
sudo systemctl start httpd.service
See käsk käivitab teenuse kohe, kuid automaatse käivituse seadistamiseks pärast taaskäivitust tuleb hiljem kasutada enable
käsku.
3.2 Kuidas teenust peatada
Teenuse peatamiseks kasuta järgmist käsku:
sudo systemctl stop teenuse_nimi
Näide:
sudo systemctl stop sshd.service
Peatatud teenus ei taastu enne, kui see käsitsi uuesti käivitatakse.
3.3 Kuidas teenust taaskäivitada
Pärast seadistuse muutmist või muul vajadusel saab teenust taaskäivitada nii:
sudo systemctl restart teenuse_nimi
Näide:
sudo systemctl restart nginx.service
See lõpetab teenuse ja käivitab selle uuesti, sõltumata varasemast olekust.
3.4 Kuidas teenuse olekut kontrollida
Teenuse detailse oleku kontrollimiseks kasuta status
alamkäsku.
systemctl status teenuse_nimi
Näide:
systemctl status mysql.service
See näitab aktiivsust, protsessi ID-d (PID), kokkuvõtlikke logisid ja muud kasulikku info, eriti tõrkeotsinguks.
3.5 Kuidas seadistada teenuse automaatset käivitust
Kui soovid, et teenus käivituks automaatselt iga süsteemi käivitamisel, kasuta enable
alamkäsku.
sudo systemctl enable teenuse_nimi
Näide:
sudo systemctl enable docker.service
See muudab teenuse automaatselt käivituvaks süsteemi stardil.
3.6 Kuidas keelata teenuse automaatne käivitus
Automaatse käivituse eemaldamiseks kasuta disable
käsku.
sudo systemctl disable teenuse_nimi
Näide:
sudo systemctl disable cups.service
Pärast seda teenus enam süsteemi käivitamisel ei alga.
3.7 Kuidas kontrollida automaatkäivituse olekut
Et teada saada, kas teenus on lubatud (enabled) või keelatud (disabled), kasuta is-enabled
käsku.
systemctl is-enabled teenuse_nimi
Näide:
enabled
Väljund näitab kiirelt teenuse automaatkäivituse olekut.
4. Kasulikud valikud ja edasijõudnud tehnikad systemctl kasutamisel
systemctl
käsk võimaldab lisaks põhilistele toimingutele ka täiustatud haldusülesandeid. Siin tutvustame mõnda kasulikku funktsiooni ja trikki, mis muudavad teenuste halduse Linuxis veelgi tõhusamaks.
Selliste tehnikate kasutamine parandab süsteemi halduse kiirust ja paindlikkust.
4.1 Teenuse sõltuvuste kuvamine
Linuxis võivad teenused sõltuda teistest ühikutest (teenused, mount-punktid, sihtmärgid jne). Sõltuvuste kontrollimiseks kasuta järgmist käsku:
systemctl list-dependencies teenuse_nimi
Näide:
systemctl list-dependencies nginx.service
See näitab määratud teenuse sõltuvusi puustruktuurina, mis on abiks käivituse järjekorra ja teenuste vaheliste seoste analüüsil.
4.2 Ühikufaili sisu kuvamine
Teenuse seadistuse üksikasjade vaatamiseks saab ühikufaili sisu otse kuvada:
systemctl cat teenuse_nimi
Näide:
systemctl cat ssh.service
See näitab reaalselt kasutusel olevat ühikufaili teed ja selle sisu, võimaldades kiiresti kontrollida, kas failis on tehtud muudatusi.

4.3 Ühikufailide uuestilaadimine
Pärast ühikufailide käsitsi muutmist tuleb muudatused systemctl
kaudu laadida. Kasuta selleks daemon-reload
käsku.
sudo systemctl daemon-reexec
Või enamasti kasutatakse:
sudo systemctl daemon-reload
See käsk laadib ühikufailid uuesti, nii et muudatused jõustuvad. Kui seadistus ei hakka kohe tööle, proovi kindlasti seda käsku.
4.4 Teenuse logide vaatamine (lisavõimalus)
Kuigi systemctl
ise logisid ei kuva, saab teenuse logisid vaadata journalctl
käsuga.
journalctl -u teenuse_nimi
Näide:
journalctl -u docker.service
Siit leiab näiteks teenuse käivituse vead ja taaskäivituse logid, mis teeb sellest esmase tõrkeotsingu tööriista.
5. Levinumad probleemid ja nende lahendused
systemctl
kasutamisel võib vahel juhtuda, et teenus ei tööta oodatult või kuvatakse veateateid. Selles peatükis selgitame levinumaid probleeme ja kuidas neid lahendada.
Kui näiteks “teenus ei käivitu” või “oleku kontrollimisel ei leia põhjust”, aitab alljärgnev loetelu tegutseda rahulikult ja tõhusalt.
5.1 Mida teha, kui teenus ei käivitu
Teenuse käivitamisel võib ette tulla järgmine viga:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
Sellisel juhul kontrolli probleemi allika leidmiseks järgmisi asju:
- Olekukontroll
systemctl status teenuse_nimi
- Vigade logi kontroll
journalctl -xe
- Ühikufailide uuestilaadimine
Kui muudsid ühikufaili, käivita järgmine käsk:
sudo systemctl daemon-reload
- Pordikonfliktide kontroll
Kas mõni muu protsess kasutab sama porti? Kontrolli nii:
sudo netstat -tulnp | grep pordinumber
5.2 Kuidas lugeda status
käsu veateateid
systemctl status
käsku kasutades näed teenuse oleku kõrval ka viimaseid logisõnumeid. Näiteks:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Fri 2025-04-18 12:00:00 JST; 5s ago
Process: 12345 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Näiteks “Active: failed” või “status=1/FAILURE” näitab, et teenuse käivitamine ebaõnnestus ja milline protsess vea põhjustas.
“Loaded” reast saad kiiresti teada ühikufaili tee, mida vajadusel saab kohe avada ja muuta.
5.3 Kui teenus peatub iseenesest
Kui teenus käivitub, kuid peatub peagi, võib põhjus olla näiteks:
- Vigane seadistusfail
- Pordikonflikt
- Puutuvad failid või kaustad puuduvad
- Ebapiisavad õigused
Sellisel juhul tee järgmist:
- Kontrolli seadistust ning kasuta valideerimisvahendeid, nt
nginx -t
võiapachectl configtest
- Vaata detailseid logisid käsuga
journalctl -u teenuse_nimi
- Kontrolli vajalike kaustade olemasolu (nt
/var/run/xxx
) ja loo need vajadusel käsitsi
5.4 Kui teenust ei saa käivitada masked
oleku tõttu
Kui systemctl start
käivitamisel saad järgmise vea:
Failed to start example.service: Unit example.service is masked.
See tähendab, et teenus on täielikult keelatud (masked) ning käivitamine on blokeeritud. Keelu eemaldamiseks kasuta:
sudo systemctl unmask teenuse_nimi
Seejärel saab teenuse taas käivitada start
käsuga.
6. Kokkuvõte
Teenuste haldus Linuxis on igapäevase süsteemihalduse lahutamatu osa. Selle keskne tööriist on systemctl
, mis võimaldab nimekirjade kuvamist ja teenuste operatiivset haldamist – see kõik annab hea ülevaate süsteemi seisust ja võimaldab seda juhtida.
Käesolevas artiklis selgitasime märksõna “systemctl nimekiri” põhjal järgmisi teemasid:
Mida saab systemctl käsuga teha? (kokkuvõte)
- Teenuste nimekirjade kuvamine
- Aktiivsete teenuste kuvamine (
list-units --type=service
) - Mitteaktiivsete teenuste kuvamine (
--all
ja--state=
valikud) - Teenuseühikute failide nimekiri ja käivitusseaded (
list-unit-files
) - Põhitoimingud teenustega
- Käivitamine, peatamine, taaskäivitamine, oleku kontroll (start / stop / restart / status)
- Automaatse käivituse seadistamine (enable / disable / is-enabled)
- Erioperatsioonid ja tõrkeotsing
- Sõltuvuste vaatamine, ühikufaili kuvamine, seadistuste uuestilaadimine
- Vigade logide uurimine ja staatuse kontroll põhjuse leidmiseks
Teenuste halduse parimad praktikad
- Kontrolli olekut enne muudatusi (kasuta alati
status
) - Veendu automaatse käivituse olekus (
is-enabled
) - Pärast seadistusmuudatusi lae kindlasti
daemon-reload
- Probleemide korral vaata logisid käsuga
journalctl
Selliste põhjalike kontrollide tegemine aitab pakkuda stabiilseid teenuseid ja võimaldab kiiremat tõrkeotsingut.
Veel õppimisvõimalusi
Kui soovid edasi õppida, soovitame järgmisi teemasid:
- systemd sihtmärgid (target) ja nende erinevus runlevel-ist
- Ajastatud ülesanded systemd timeritega (
systemd-timer
) - Kohandatud ühikufailide loomine ja paigutus
7. Korduma kippuvad küsimused (KKK)
Siin on vastused sagedamini esitatavatele küsimustele systemctl
käsu ja teenuste nimekirjade kohta. Kui oled põhitoimingutega juba harjunud, aitab see jaotis veelgi teadmisi kinnistada.
K1. Mis vahe on systemctl
ja service
käskudel?
V1.systemctl
on systemd-põhine teenusehalduse tööriist, mida kasutatakse enamikus kaasaegsetes Linuxi distributsioonides (nt Ubuntu, CentOS, Fedora).
Teisalt on service
seotud vanema SysVinit süsteemiga. Kuigi seda käsku leiab veel ühilduvuse huvides, on systemd-ga süsteemides soovitatav kasutada just systemctl
-i.
K2. Mis vahe on list-units
ja list-unit-files
käskudel?
V2.
list-units
kuvab laaditud ühikuid (st käimasolevad või hiljuti kasutatud ühikud).list-unit-files
näitab kõiki ühikufailide seadeid ja olekuid (enabled / disabled jne).
Lihtsalt öeldes – esimene näitab “praegu töötavaid”, teine “kõiki seadistatud” ühikuid.
K3. Kas static olekus teenust saab käivitada?
V3.
Jah, ka static
teenust saab käsitsi start
käsuga käivitada. Kuid enable
käsku kasutada ei saa, sest static
ühikud sõltuvad teiste teenuste käivitamisest.
K4. Mida teha, kui teenus on masked-olekus ja ei käivitu?
V4.masked
tähendab, et teenus on täielikult keelatud ja käivitamine pole lubatud. Eemalda mask järgmiselt:
sudo systemctl unmask teenuse_nimi
Seejärel saad teenuse taas käivitada käsuga start
.
K5. Kuidas kuvada teenuste olekut graafilises liideses (GUI)?
V5.
Mõnes distributsioonis saab teenuste olekut vaadata graafiliselt gnome-system-monitor
, KSysGuard
või Cockpit
tööriistadega.
Kõige täpsemaks juhtimiseks ja halduseks on siiski soovitatav kasutada systemctl
-i.
K6. Kuhu peaksin enda loodud ühikufaili paigutama?
V6.
Tavaliselt paigutatakse ühikufail /etc/systemd/system/
kataloogi. Pärast muutmist ära unusta käivitada:
sudo systemctl daemon-reload
Seejärel saab teenust hallata nagu tavaliselt start
või enable
käskudega.