Potpuni vodič za naredbu systemctl u Linuxu

Zadnje ažuriranje: 17/12/2025
Autor: Isaac
  • systemctl je primarno sučelje za upravljanje systemd servisima, jedinicama i ciljevima u većini distribucija. Linux Trenutno.
  • Omogućuje vam pokretanje, zaustavljanje, ponovno pokretanje, ponovno učitavanje, omogućavanje i onemogućavanje usluga, kao i pregled njihovog statusa, ovisnosti i datoteka pogona.
  • Ciljevi (.target) zamjenjuju klasične razine pokretanja i olakšavaju promjenu globalnog stanja sustava (višekorisnički, grafički, spašavanje, gašenje ili ponovno pokretanje).
  • Kontrolirano uređivanje jedinica i kombinirana upotreba systemctl-a s journalctl-om ključni su za otklanjanje pogrešaka i održavanje stabilnog sustava.

tutorial o naredbi systemctl u Linuxu

Da dominiraju systemctl i systemd Danas je to praktički obavezno ako upravljate modernim Linux poslužiteljima ili sustavima. Ovaj alat je ulaz za kontrolu pokretanja servisa, načina pokretanja, što je zakazalo i stvarnog stanja vašeg sustava u bilo kojem trenutku. Nakon što se naviknete na to, uštedjet ćete si mnogo glavobolja i mnogih nepotrebnih ponovnih pokretanja.

U ovom ćete vodiču, na uredan način i s primjerima, vidjeti kako koristiti systemctl za upravljanje uslugama, jedinicama i ciljevimaKako popisati što se događa u sustavu, kako uređivati ​​diskove bez da se išta ošteti, što znače stanja poput omogućeno, maskiran o statički, i također Trikovi Za isključivanje, ponovno pokretanje ili prebacivanje iz grafičkog u tekstualni način rada jednom naredbom. Sve pomoću Španjolski iz Španjolske, izravan i praktičan, dizajniran tako da ono što pročitate možete primijeniti na bilo koju distribuciju temeljenu na Systemd-u (Ubuntu, Debian, RHEL, CentOS, Fedora, Arch, itd.).

Što je systemd i koju ulogu igra systemctl?

U većini trenutnih distribucija, systemd djeluje kao startup sustav i osnovna infrastrukturaTo je proces koji počinje odmah nakon kernela (obično kao PID 1) i odgovoran je za pokretanje ostalih servisa, montiranje datotečnih sustava, upravljanje ovisnostima, kontrolu sesija, zapisivanje događaja i još mnogo toga.

systemd se sastoji od demoni, biblioteke i uslužni programi koji omogućuju komunikaciju s kernelom i korisničkim prostorom: upravlja kontrolnim grupama (cgroups), utičnicama, timerima, točkama montiranja, osnovnom konfiguracijom mreže, sinkronizacijom vremena, razrješenjem imena, kontejnerima i virtualni strojevii čak je kompatibilan sa starijim SysV i LSB skriptama, tako da može potpuno zamijeniti Klasični Sysvinit.

Unutar cijelog ovog ekosustava, systemctl je "daljinski upravljač" systemd-aTo je online alat naredbe koje koristite za:

  • Pokretanje, zaustavljanje, ponovno pokretanje ili ponovno pokretanje usluga i druge vrste jedinica.
  • Omogući ili onemogući jedinice kako bi mogli započeti (ili ne) sa sustavom.
  • Provjerite status usluga, ciljeva i sustava općenito.
  • Uredi datoteke na disku ili pogledajte njegove ovisnosti i unutarnja svojstva.
  • Promijeni globalno stanje sustava (način spašavanja, višekorisnički, grafički, gašenje, ponovno pokretanje…).

Imajte na umu da ne koriste sve distribucije systemd. Ako prilikom pokretanja systemctl Vidite poruku poput ove: bash: systemctl: command not found Ili nešto slično; vaš sustav vjerojatno koristi drugačiji init sustav (OpenRC, runit, čisti SysV itd.). U tom slučaju, Naredbe u ovom vodiču se ne primjenjuju kakav jest.

Pogoni i datoteke pogona u systemd-u

Ključni koncept u systemd-u je jediniceJedinica predstavlja bilo koji resurs kojim systemd može upravljati: uslugu, utičnicu, točku montiranja, uređaj, globalni cilj sustava, timer… Svaka vrsta jedinice identificirana je pomoću sufiks u nazivu datoteke.

Neke od najčešćih vrsta jedinica s kojima ćete se susresti prilikom rada systemctl i systemd zvuk:

  • .servis: usluge i demoni (nginx.service, ssh.usluga, NetworkManager.usluga…).
  • .utičnica: utičnice povezane s uslugama pokrenutim na zahtjev.
  • .montaža: točke montiranja datotečnog sustava.
  • .automatiranje: automatski sklopovi aktivirani za upotrebu.
  • .cilj: „stanja“ sustava (višekorisnički.cilj, grafički.cilj, rescue.cilj…).
  • .timer: tajmeri koji pokreću usluge u određeno vrijeme.
  • .uređajuređaji kojima upravlja udev.
  • .put: monitori ruta na disku koji pokreću usluge.

Svaka jedinica je definirana u datoteka jedinicešto je tekstualna datoteka s odjeljcima poput , , , gdje su detaljno opisani opis, ovisnosti i naredbe čizma, korisnik koji pokreće uslugu itd. Ove se datoteke obično pohranjuju u:

  • /lib/systemd/system/ o /usr/lib/systemd/system/: jedinice koje dolaze s paketima.
  • / etc / systemd / system /: jedinice koje je definirao ili prepisao administrator.

kada radite s systemctlGotovo uvijek se pozivate na jedinice tipa .servisMeđutim, ako izostavite sufiks, systemd će prema zadanim postavkama pretpostavljati da se odnosi na uslugu. To jest, systemctl start ssh y systemctl start ssh.service su ekvivalentni.

Postoje posebne jedinice tzv. predlošci, čije ime uključuje @, na primjer name@.servicePrilikom instanciranja predloška kao name@miinstancia.serviceOno što radite je stvaranje specifična instanca koja prosljeđuje identifikatorunutar datoteke jedinice, varijabla %i Zamjenjuje ga taj identifikator. Ovo se obično koristi u SSH tunelima, mrežnim uslugama itd.

Provjerite koristi li vaš sustav systemd

Prije nego što se pretjera s naredbama, dobro je provjeriti koristi li vaša distribucija zapravo systemd kao PID 1Mnogi vodiči predlažu nešto jednostavno poput:

pstree | head -5

Ako na vrhu stabla vidite proces systemdMožete nastaviti bez ikakvih problema. Ako vidite drugačiji init sustav, morat ćete koristiti specifične alate za taj sustav pokretanja.

Osnovno upravljanje uslugama pomoću systemctl-a

Svakodnevni rad sa systemd-om obično se fokusira na Pokretanje, zaustavljanje, ponovno pokretanje i ponovno učitavanje uslugaOve naredbe utječu na trenutno stanje usluge, a ne na to hoće li se ona automatski pokrenuti sa sustavom.

u provjeriti status usluge, možeš koristiti:

systemctl status nombre_servicio.service

Na primjer, da biste vidjeli kako mrežna usluga funkcionira systemd-mreža na Ubuntu sustavu u tekstualnom načinu rada:

  Ikona mreže u sustavu Windows 11 prikazuje "Nema veze" iako postoji internet: uzroci i rješenja

systemctl status systemd-networkd.service

Ova naredba prikazuje prilično detaljne informacije: status (aktivan, neaktivan, neuspješan…), kada je aktiviran, glavni PID, korištenje CPU-a i nekoliko nedavnih poruka zapisnika koje su vrlo korisne za dijagnosticiranje problema.

Ako želite nešto izravnije, možete koristiti ove specifične varijacije:

  • systemctl je-aktivan naziv.usluge: označava je li aktivan (radi) ili ne.
  • systemctl je omogućen name.service: označava hoće li se pokrenuti od početka.
  • systemctl nije uspio name.service: provjerava je li ušlo u stanje greške.

Na primjer, da biste vidjeli je li systemd-networkd omogućen pri pokretanju, možete pokrenuti:

systemctl is-enabled systemd-networkd.service

I da biste saznali je li se u nekom trenutku zakazalo pokrenuti:

systemctl is-failed systemd-networkd.service

Pokretanje, zaustavljanje, ponovno pokretanje i ponovno učitavanje usluga

u zaustaviti uslugu koja se izvršavaTipičan redoslijed je:

sudo systemctl stop nombre_servicio.service

Imajte na umu da, budući da je ovo radnja koja utječe na sustav, trebat će vam administrativne privilegije, obično koristeći sudoU nekim "tvrdoglavim" servisima, kao što je systemd-networkd, njihovo zaustavljanje uzrokovat će njihovo trenutno ponovno pokretanje ako postoji jedinica koja ih zahtijeva i ima pravila automatskog ponovnog pokretanja.

Ako je usluga zaustavljena i želite pokrenite gaKoristite isti obrazac s start:

sudo systemctl start systemd-networkd.service

Kada ste promijenili konfiguracijsku datoteku i želite primijeniti promjene, najčešće je to učiniti usluga ponovnog pokretanja:

sudo systemctl restart nombre_servicio.service

Mnogi demoni dopuštaju Ponovno učitajte postavke bez potpunog ponovnog pokretanjaizbjegavajući prekid aktivnih veza. U tim slučajevima koristi se sljedeće:

sudo systemctl reload nombre_servicio.service

Ako niste sigurni podržava li ta usluga nadoplate, možete pokušati:

sudo systemctl reload-or-restart nombre_servicio.service

S ovom naredbom, systemctl prvo pokušava ponovno učitati A ako se uređaj ne ponovno učitava, nastavlja se s potpunim ponovnim pokretanjem. Ovo je vrlo korisno kada se ne sjećate specifičnog ponašanja svakog demona.

Omogućavanje i onemogućavanje usluga pri pokretanju

Sve što smo do sada vidjeli utječe samo na trenutna sesijaAko želite da se usluga automatski pokrene prilikom pokretanja sustava, morate omogući toOsnovna naredba je:

sudo systemctl enable nombre_servicio.service

Na taj način, systemd stvara simbolične veze iz datoteke sistemskih usluga (obično u /lib/systemd/system o /etc/systemd/system) do direktorija .wants odgovara cilju gdje bi trebao biti aktiviran. Na primjer, nešto poput:

/etc/systemd/system/multi-user.target.wants/nombre_servicio.service

Ako želite upravo suprotno, tj. spriječiti automatsko pokretanje usluge Onemogućite ga pri sljedećem pokretanju:

sudo systemctl disable nombre_servicio.service

Ovo uklanja simboličke poveznice za pokretanje, ali Ne zaustavlja uslugu koja je već pokrenutaSlično tome, omogućavanje usluge ne pokreće je odmah: bit će učinkovito tek nakon sljedećeg ponovnog pokretanja, osim ako ne kombinirate sljedeće:

sudo systemctl enable nombre_servicio.service
sudo systemctl start nombre_servicio.service

Neke distribucije i alati nude prečace za omogući i pokreni istovremenoMeđutim, standardni način s naredbom systemctl je obično pokretanje obje naredbe.

Pogledajte cjelokupno stanje jedinica

systemctl nije koristan samo za dodirivanje pojedinačnih servisa; također omogućuje imati pregled sustavaNajtipičnija naredba je:

systemctl list-units

Ovaj popis prikazuje sve aktivne jedinice koje systemd ima u memoriji. Glavni stupci su:

  • JEDINICA: naziv jedinice (na primjer, sshd.service).
  • OPTEREĆENJEje li datoteka pogona ispravno učitana (učitana, nije pronađena, greška…).
  • ACTIVE: opći status (aktivan, neaktivan, neuspješan…).
  • SUB: opisnije podstanje (pokreće se, izlazi, mrtav, neuspjeh…).
  • OPIS: kratak opis jedinice.

Ako nazoveš systemctl bez argumenataVidjet ćete gotovo isti popis, jer je to njegovo zadano ponašanje. Budući da se prikazuju samo aktivne jedinice, gotovo sve će se pojaviti s LOAD=učitano i ACTIVE=aktivno.

Da biste uključili i neaktivne jedinice, možete dodati indikator --all:

systemctl list-units --all

Također možete filtrirati po državi pomoću --state=Na primjer, da biste vidjeli samo neaktivne diskove:

systemctl list-units --all --state=inactive

Ili filtrirajte po vrsti jedinice s --type=Na primjer, da biste vidjeli samo aktivne usluge:

systemctl list-units --type=service

Popis svih instaliranih datoteka pogona

Gornji popis prikazuje samo jedinice koje je systemd pokušao učitati. Ako želite saznati više. svi pogoni koji postoje na diskuBez obzira koristite li ih ili ne, morate se poslužiti:

systemctl list-unit-files

Ovdje je fokus na samim datotekama jedinica, a ne na njihovom stanju u memoriji. Vidjet ćete dva glavna stupca: JEDINIČNA DATOTEKA y DRŽAVAU STATE-u se pojavljuju vrijednosti poput sljedećih:

  • omogućenoUređaj je konfiguriran za automatsko pokretanje.
  • onesposobljenNije konfigurirano za automatsko pokretanje.
  • statičkiJedinica nema odjeljak , Tako da je ne može se sam omogućitiObično je to ovisnost o drugim jedinicama ili izvođenje određene radnje.
  • maskiranUređaj je potpuno blokiran; ne može se ni na koji način pokrenuti.

Također možete filtrirati po statusu, na primjer da biste vidjeli samo omogućene jedinice:

systemctl list-unit-files --state=enabled

Ili kombinirajte više stanja u jedan upit odvajajući ih zarezima:

systemctl list-unit-files --state=enabled,failed

Prikaz detalja, svojstava i ovisnosti jedinice

Ukoliko želite pregledati stvarni sadržaj datoteke pogona Budući da systemd koristi najpogodniju naredbu, to je:

systemctl cat nombre.service

Ovo prikazuje datoteku onako kako je systemd vidi, uključujući sve fragmente nadjačavanja iz /etc/systemd/systemVrlo je korisno za potvrdu da su vaše promjene doista uzete u obzir.

Za pregled stablo ovisnosti Iz jedne jedinice možete koristiti:

systemctl list-dependencies nombre.service

Izlaz je hijerarhijski i pokazuje koji ciljevi i usluge pokreću dotičnu uslugu. Jedinice tipa .cilj Oni djeluju kao točke grupiranja i samo oni rekurzivno prikazuju svoje ovisnosti prema zadanim postavkama; ako želite proširiti cijelo stablo, dodajte --all.

Ako ono što trebate znati je koje jedinice ovise o onoj koju ste naveli, Dodati --reverse naredbi. A ako se želite usredotočiti na redoslijed pokretanja, zastavice --before y --after Prikazuju jedinice koje moraju započeti prije ili poslije ciljne jedinice.

  Kako sakriti svoje pratitelje na Twitteru i koga tamo pratim - Privatnost računa

Da vidim sve unutarnja svojstva jedinice u formatu ključ=vrijednost, koristite:

systemctl show nombre.service

A ako vas zanima samo određena nekretnina, možete filtrirati pomoću -pNa primjer, za pregled sshd sukoba:

systemctl show sshd.service -p Conflicts

Jedinice za maskiranje i demaskiranje

Osim onemogućavanja, systemd omogućuje maskirati jedinicu tako da je potpuno nemoguće pokrenuti jeOva se tehnika koristi kada želite biti 100% sigurni da se nešto neće pokrenuti, čak ni slučajno. To se može učiniti ručno ili oslanjanjem na drugu jedinicu.

Maskiranje se provodi stvaranjem simbolička veza na /dev/null umjesto stvarne datoteke pogona. Za maskiranje usluge, na primjer nginx:

sudo systemctl mask nginx.service

Ako tada trčite systemctl list-unit-files, vidjet ćeš to nginx.service se pojavljuje kao maskiranA ako pokušate pokrenuti:

sudo systemctl start nginx.service

Primit ćete poruku poput ove: Nije uspjelo pokretanje nginx.service: Jedinica nginx.service je maskirana. Drugim riječima, jedinica je oklopljena. Da bi ponovno bila upotrebljiva, potrebno je razotkriti je:

sudo systemctl unmask nginx.service

Nakon toga, jedinica se vraća u prethodno stanje (omogućeno, onemogućeno, statično itd.) i tada se može normalno pokrenuti ili omogućiti.

Uređivanje datoteka na disku bez oštećenja sustava

Ponekad je potrebno prilagoditi ponašanje servisa: promijeniti korisnika koji ga pokreće, dodati opcije naredbenog retka, izmijeniti ovisnosti… Umjesto ručnog uređivanja datoteka u /lib/systemd/systemNajsigurnije je koristiti vlastite systemctl za generiranje nadjačavanja.

Osnovna naredba je:

sudo systemctl edit nombre.service

Ovim se otvara vaš zadani uređivač s prazna datoteka fragmentaKada spremite i izađete, systemd će stvoriti direktorij u /etc/systemd/system/nombre.service.d/ i unutar datoteke override.confPrilikom učitavanja pogona, systemd spaja originalnu datoteku s ovim fragmentom i direktivama za nadjačavanje. oni imaju prioritet na onima iz osnovne datoteke.

Ako želite urediti potpuna datoteka pogona Umjesto nadjačavanja, to možete učiniti sa:

sudo systemctl edit --full nombre.service

U ovom slučaju, ono što spremite bit će zapisano u /etc/systemd/system/nombre.servicekoja ima prednost nad verzijom sustava u /lib/systemd/systemTo je način "kloniranja" i potpunog prilagođavanja pogona bez dodirivanja datoteka koje dolaze s paketom.

Ako kasnije odlučite poništiti promjene, jednostavno izbrišite .d direktorij nadjačavanja ili modificirane servisne datoteke u /etc/systemd/system, Na primjer:

sudo rm -r /etc/systemd/system/nginx.service.d
sudo rm /etc/systemd/system/nginx.service

Nakon brisanja ovih stavki, vrlo je važno pokrenuti:

sudo systemctl daemon-reload

To prisiljava systemd da Ponovno učitajte sve datoteke s diskaZaboravite na uklonjena poništavanja i vratite se na korištenje izvornih sistemskih definicija.

Ciljevi i prilagodba razine izvođenja

The Systemd ciljevi su moderni ekvivalent runlevelova. iz SysV-a. To su posebne jedinice (završavaju na .target) koje grupiraju druge jedinice kako bi predstavljale „stanja“ ili točke sinkronizacije sustava.

Na primjer:

  • višekorisnički.target: višekorisnički konzolni način rada, tipičan za poslužitelje bez grafičkog okruženja.
  • grafički.cilj: grafički način rada; obično ovisi o multi-user.targetu i dodaje sloj grafičkog sučelja.
  • spašavanje.cilj: način spašavanja, sličan "načinu rada za jednog korisnika".
  • swap.target: točka u kojoj je područje razmjene spremno za upotrebu.

Jedinice mogu deklarirati odnose kao što su Želi=, Potrebno=, Želi=, Zahtijeva=, Nakon= s tim ciljevima kako bi se naznačilo od čega ovise i kojim redoslijedom ih treba postići.

Da znam Koji je unaprijed određeni cilj? vašeg sustava (stanje koje želite postići pri normalnom pokretanju), koristite:

systemctl get-default

Na primjer, ako želite da se sustav uvijek pokreće u grafičkom načinu rada, to možete promijeniti pomoću:

sudo systemctl set-default graphical.target

Za pregled svih ciljeva instaliranih na sustavu, s njihovim statusom (omogućeno, onemogućeno…), možete pokrenuti:

systemctl list-unit-files --type=target

I ako ono što želiš jest vidjeti koji su ciljevi trenutno aktivniRadite to s:

systemctl list-units --type=target

Izolirajte ciljeve i promijenite način rada

Jedna od najmoćnijih stvari koje systemd nudi je mogućnost promjena stanja sustava "izoliranjem" ciljaKada izvršite izolaciju, systemd aktivira sve jedinice potrebne za taj cilj i zaustavlja one koje više ne odgovaraju njegovom stablu ovisnosti.

Zamislite da ste u grafičkom okruženju (aktivnom grafički.cilji želite se prebaciti na tekstualno okruženje za više korisnika, na primjer za zadatke održavanja. Prvo možete provjeriti ovisnosti multi-user.target:

systemctl list-dependencies multi-user.target

I kada ste sigurni da nećete oštetiti ništa kritično, pokrećete:

sudo systemctl isolate multi-user.target

Budući da graphical.target ovisi o multi-user.target, ali ne i obrnuto, izoliranje višekorisničkog cilja će ga zaustaviti. sve usluge povezane s grafičkim slojemostavljajući vas u tekstualnom načinu rada. To je prilično radikalna promjena, stoga je koristite mudro.

Za vrlo uobičajene događaje, systemctl nudi praktične prečace nasuprot pisanju izolata rukom. Neki od najčešće korištenih su:

  • sudo systemctl rescue: prebacuje se u način spašavanja (ekvivalent izoliranju rescue.target) i obavještava povezane korisnike.
  • sudo systemctl zaustavljanje: zaustavlja sustav (slično isključivanju CPU-a bez prekidanja napajanja).
  • sudo systemctl isključivanjePotpuno isključite stroj.
  • sudo systemctl ponovno pokretanje: ponovno pokreće sustav.

Tipično, klasične naredbe poput reboot, poweroff o halt Interno su povezani za razgovor sa systemd-om, tako da se ponašaju dosljedno s ovim prečacima.

Dodatne bitne systemctl naredbe

Uz sve navedeno, postoje i neke naredbe za systemctl koje biste trebali imati pri ruci jer ćete ih često koristiti pri radu s jedinicama:

  Put do slanja grupne e-pošte na iPhone i iPad

Ponovno učitavanje konfiguracije systemd-a (ne usluge):

sudo systemctl daemon-reload

Svaki put kada mijenjate ili dodajete datoteke pogona, morate obavijestiti systemd kako bi ih mogao ponovno pročitati. Ova naredba usluge se ne ponovno pokrećuSamo ponovno učitava bazu podataka jedinica.

Provjerite status usluge s detaljima (već raspravljeno):

sudo systemctl status nombre_servicio.service

Ovdje ćete vidjeti status Učitano, Aktivno, PID, vrijeme rada i najnovije poruke zapisnika, što je neprocjenjivo za otklanjanje pogrešaka.

Omogućite i onemogućite usluge (također viđeno):

sudo systemctl enable nombre_servicio.service
sudo systemctl disable nombre_servicio.service

Pokretanje, zaustavljanje i ponovno pokretanje usluga eksplicitno:

sudo systemctl start nombre_servicio.service
sudo systemctl stop nombre_servicio.service
sudo systemctl restart nombre_servicio.service

Ovi obrasci se ponavljaju s gotovo svakom uslugom, od apache2, nginx ili ssh, do usluga od baza podataka, demoni impresija ili što god vam padne na pamet.

Upravljanje uslugama: pokretanje, ponovno učitavanje, zaustavljanje i praćenje

U stvarnom okruženju, koristit ćete systemctl kako bi bitne usluge uvijek bile u funkcijiweb poslužitelji, baze podataka, mrežne usluge, demoni rezervaitd. Ideja je minimizirati el tiempo neaktivnosti i primijeniti promjene konfiguracije s najmanjim mogućim utjecajem.

u pokrenuti uslugu koji bi trebao biti aktivan (na primjer, Apache), tipična naredba bi bila:

sudo systemctl start apache2

Ako je Apache već bio pokrenut, nećete primijetiti ništa neobično; ako je bio zaustavljen, daemon će pokrenuti podprocese i početi obrađivati ​​zahtjeve. Kad god niste sigurni što se dogodilo, pokrenite sljedeće naredbe:

sudo systemctl status apache2

Kada promijenite glavnu konfiguracijsku datoteku ili neku drugu virtualni host, ti obično ponovo napuniti o ponovno podizanje sustava Usluga. Punjenje je glatkije:

sudo systemctl reload apache2

To omogućuje usluzi ponovno čitanje konfiguracijskih datoteka bez zaustavljanja pokrenutih procesa, tako da korisnici jedva išta primjećuju. Ako iz bilo kojeg razloga usluga ne podržava ponovno učitavanje, morat ćete:

sudo systemctl restart apache2

U nekim slučajevima, ako usluga ima problema ili je prestala reagirati, možda će biti potrebno potpuno ponovno pokretanje. oslobađa resurse i čisti zombi proceseTo je jedan od tipičnih dijagnostičkih koraka prije nego što se krene s istraživanjem. drva u dubokom.

u privremeno zaustaviti uslugu jer obavljate održavanje ili zato što vam jednostavno neko vrijeme neće trebati:

sudo systemctl stop apache2

To ga ne sprječava da se ponovno pokrene pri sljedećem pokretanju ako je to omogućeno. Ako želite da potpuno nestane do daljnjega, kombinirate stop s onemogući masku ovisno o stupnju "zabrane" koju želite primijeniti.

Nakon bilo koje osjetljive operacije, toplo se preporučuje provjeri status usluge i njezinih najnovijih zapisa sa:

sudo systemctl status nombre_servicio

A ako vam treba više konteksta, s journalctl, na primjer:

sudo journalctl -u nombre_servicio

Rješavanje uobičajenih problema sa systemctl-om

Kada nešto pođe po zlu prilikom pokretanja usluge s systemctlNormalno je vidjeti poruke poput "Zadatak za X nije uspio" ili statuse Neuspjela u izlazu statusa. Uobičajeni način nastavka je obično sljedeći:

1. Prikaži detaljan status jedinice:

sudo systemctl status nombre_servicio

Tamo ćete vidjeti pokreće li se usluga zbog neuspjeha naredbe, isteka vremena, problema s dopuštenjima, nedostajuće datoteke itd. Pogledajte retke poput "Main PID exited" i stvarne poruke o pogrešci iz aplikacije.

2. Pregledajte kompletne zapise s journalctl-om:

sudo journalctl -u nombre_servicio

Ovo vam daje povijest zapisnika koju generira jedinica, što je vrlo korisno ako se usluga "ugasi" odmah nakon pokretanja.

3. Provjerite je li omogućeno kada očekujete da će se pokrenuti:

sudo systemctl is-enabled nombre_servicio

Ako se čini da je onemogućeno, jednostavno:

sudo systemctl enable nombre_servicio

4. Provjerite dopuštenja i korisnikaNeke usluge moraju se pokretati kao određeni korisnik ili pristupiti određenim putanjama. Ako datoteka jedinice navodi User= o Group= netočno ili ruta u ExecStart= Ako ne postoji ili nije dostupan, usluga može odmah prestati s radom.

5. Ako ste ručno uredili datoteku pogona, uvijek imajte na umu ponovno poništi konfiguraciju systemd-a s:

sudo systemctl daemon-reload

Zaboravljanje ovog koraka je klasična greška: napravite promjene, ponovno pokrenete servis i još uvijek vidite staro ponašanje jer systemd još nije pročitao novu datoteku.

Održavanje ove rutine provjera i periodično pregledavanje statusa ključnih jedinica znatno olakšava stvari. Održavanje stabilnog i predvidljivog Linux sustava.

Kao što vidite systemctl postaje švicarski nožić za upravljanje sistemskim uslugama, jedinicama i stanjima U bilo kojoj modernoj distribuciji sa systemd-om, omogućuje vam precizno pokretanje i zaustavljanje daemona, kontrolu pokretanja pri pokretanju, detaljno istraživanje grešaka, podešavanje konfiguracija bez prepisivanja sistemskih datoteka i prebacivanje iz grafičkog načina rada u način spašavanja u sekundama. Savladavanje ovih naredbi ne samo da olakšava upravljanje Linux poslužiteljima ili stolnim računalima, već vam daje i puno više samopouzdanja pri rješavanju ozbiljnih problema u produkciji, jer točno znate što se pokreće, zašto i kako to sigurno zaustaviti ili modificirati.

upravljanje uslugama pomoću systemd-a
Povezani članak:
Upravljanje uslugama pomoću Systemd-a: Potpuni vodič za Systemctl