- 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=serviceSee 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 --allSelle 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=inactiveNii 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=serviceSee 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_nimiNäide: Apache (httpd) käivitamine:
sudo systemctl start httpd.serviceSee 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_nimiNäide:
sudo systemctl stop sshd.servicePeatatud 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_nimiNäide:
sudo systemctl restart nginx.serviceSee 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_nimiNäide:
systemctl status mysql.serviceSee 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_nimiNäide:
sudo systemctl enable docker.serviceSee 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_nimiNäide:
sudo systemctl disable cups.servicePä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_nimiNäide:
enabledVä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_nimiNäide:
systemctl list-dependencies nginx.serviceSee 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_nimiNäide:
systemctl cat ssh.serviceSee 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-reexecVõi enamasti kasutatakse:
sudo systemctl daemon-reloadSee 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_nimiNäide:
journalctl -u docker.serviceSiit 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 pordinumber5.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 -tvõ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_nimiSeejä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 (
--allja--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-unitskuvab laaditud ühikuid (st käimasolevad või hiljuti kasutatud ühikud).list-unit-filesnä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_nimiSeejä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-reloadSeejärel saab teenust hallata nagu tavaliselt start või enable käskudega.


