U ovom vodiču raspravljat ću o naredbama service i systemctl te o tome kako se one razlikuju kada je u pitanju upravljanje uslugama.
Prije nego što nastavimo dalje, prvo ćemo razumjeti dva popularna Linux init sustava; Sustav i Systemd.
System V protiv Systemd
Init sustav na Linuxu ključni je dio procesa dizanja. To je prvi proces s PID-om 1 koji se pokreće kada se sustav podigne. Zatim pokreće procese prisutne u datoteci inittab. System V također poznaje SysV i systemd su popularni Linux init sustavi.
The SysV je stariji init sustav i bio je dio starijih Unix i Linux distribucija. Upravlja uslugama sustava pomoću skripti smještenih u /etc/init.d. Neke distribucije Linuxa koje još uvijek koriste SysV su Slackware, Gentoo i antiX Linux.
S druge strane, systemd lansiran 2010. i brzo su ga usvojile mnoge distribucije Linuxa. Systemd init sustav upravlja uslugama putem .service datoteka. Sada je dio svih modernih distribucija Linuxa uključujući Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu i distribucije temeljene na tim operativnim sustavima.
Systemd je mnogo učinkovitiji u usporedbi sa SysV-om. Omogućuje brže vrijeme pokretanja sustava, učinkovito upravljanje uslugama i rukovanje ovisnostima.
Oba pokretačka sustava pružaju dva pomoćna programa naredbenog retka za upravljanje uslugama.
U sljedećim odjeljcima vodiča raspravljat ću o ova dva pomoćna programa.
zapovjedništvo službe
The servis naredba je omotač skripte koji pokreće skripte koje se nalaze u /etc/init.d imenik. Razvijen je za upravljanje uslugom SysV ili Sustav V init sustav. Linux distribucije koje koriste SysV kao init sustav koriste servis naredba za upravljanje uslugama.
Opća sintaksa za korištenje servisne naredbe dana je u nastavku.
servis [ service_name ] [ akcijski ]Da biste dobili status usluga koje kontrolira System V, koristite naredbu service s – status-sve opcija.
servis --status-sve
The + označava da je usluga pokrenuta, a – pokazuje da je usluga neaktivna.
Trenutačni status bilo koje specifične usluge također se može provjeriti navođenjem naziva usluge.
servis [ service_name ] status
Neke druge korisne naredbe usluge kao što su pokretanje, zaustavljanje i ponovno pokretanje usluge navedene su u nastavku.
servis [ service_name ] početakservis [ service_name ] Stop
servis [ service_name ] ponovno pokrenuti
Ova servisna naredba pruža osnovnu kontrolu za upravljanje uslugama. Većina distribucija Linuxa zamijenila je SysV kao init sustav, ali zbog kompatibilnosti s naslijeđenim verzijama, ova naredba još uvijek dolazi u mnogim najnovijim distribucijama Linuxa već gotova.
Naredba systemctl
Pomoću naredbe systemctl možete kontrolirati usluge u /lib/systemd/sustav i /etc/systemd/sustav imenici. To je komponenta systemd-a; init sustav koji se nalazi u većini suvremenih Linux distribucija.
Systemctl je dizajniran da pruži više kontrole nad upravljanjem uslugama sustava. Opća sintaksa za korištenje naredbe systemctl dana je u nastavku:
systemctl [ opcija ] [ service_name ]Za provjeru statusa svih usluga upotrijebite sljedeću naredbu.
systemctl popis jedinica --tip = usluga --sviZa korištenje određene usluge:
systemctl status [ service_name ]
Naredbe za osnovno upravljanje uslugom pomoću systemctl-a date su u nastavku:
systemctl omogućiti [ service_name ]pokretanje sustava [ service_name ]
systemctl zaustaviti [ service_name ]
systemctl onemogućiti [ service_name ]
systemctl ponovno pokretanje [ service_name ]
Naredba systemctl ide dalje od toga kada se radi o kontroli usluga. Donja tablica sadrži neke napredne systemctl naredbe.
lista-staza | Za popis staza svih usluga u memoriji |
je aktivan [naziv_usluge] | Za provjeru radi li usluga ili jedinica ili ne |
popis ovisnosti [naziv_usluge] | Za ispis popisa ovisnosti navedene usluge |
reset-nije uspio | Za resetiranje usluga koje se nisu uspjele učitati zbog neke abnormalnosti |
maska [naziv_usluge] | Da biste onemogućili uslugu i onemogućili njeno pokretanje |
get-default | Za ispis zadane razine ili cilja |
set-default [cilj] | Za postavljanje zadane razine trčanja ili cilja |
je-sustav-pokrenut | Za provjeru operativnog stanja sustava |
ponovno podizanje sustava | Za ponovno pokretanje sustava |
isključivanje | Za isključivanje sustava |
Zašto još uvijek postoji servisna naredba u Linux distribucijama sa systemd init System
Servisna naredba još uvijek je dio mnogih distribucija Linuxa jer je omotna skripta i apstrahira temeljni init sustav, bilo da je SysV ili systemctl. Na primjer, na Ubuntuu, naredba service preusmjerava na systemctl.
Zaključak
Service i systemctl dva su pomoćna programa naredbenog retka koji pripadaju sustavima SysV i systemd init. Unatoč zamjeni naredbe service u modernim distribucijama Linuxa, ona ostaje ključni alat za održavanje usluga zbog jednostavnosti i kompatibilnosti. Systemctl je, s druge strane, dio svih trenutnih distribucija Linuxa i pruža napredne opcije za administraciju usluga.