Sistemske storitve igrajo ključno vlogo pri delovanju sistema Linux, saj v ozadju obravnavajo različne naloge in procese.systemctl>je zmogljivo orodje ukazne vrstice, ki uporabnikom omogoča učinkovito upravljanje teh storitev. V tem članku bomo raziskali osnove uporabesystemctl>za zagon, zaustavitev, ponovni zagon, omogočanje, onemogočanje in prikaz stanja storitev v okolju Linux.
Kaj je systemctl?
Preden se poglobite v upravljanje storitev, morate razumeti osnovesystemctl>. Ta ukaz se uporablja za nadzor sistema systemd in upravitelja storitev, ki je osrednja komponenta v sodobnih distribucijah Linuxa.
systemctl [command] [unit]>
tukaj,
-
command>: Dejanje, ki ga je treba izvesti (npr. zagon, zaustavitev, ponovni zagon, omogoči, onemogoči). -
unit>: Storitev ali enota, na katero to vpliva.
Systemctl je krmilnik oz uporabnost Systemd (inicialni sistem z naborom programov, ki se izvajajo v ozadju), s pomožnimi storitvami za upravljanje. Ti ukazi se izvajajo v načinu root, če niste v načinu rootanja sistema, in zahtevate geslo root.
Kaj je storitev?
Storitev v računalništvu je proces v ozadju, ki izvaja določene naloge in funkcije brez posredovanja uporabnika. Storitve se pogosto samodejno zaženejo med zagonom sistema in delujejo neprekinjeno, da zagotovijo funkcije, kot so spletno streženje, skupna raba datotek ali nadzor sistema. Upravlja jih operacijski sistem in jih je mogoče po potrebi zagnati, zaustaviti ali znova zagnati. Storitve pomagajo zagotoviti, da so bistvene operacije dosledno na voljo. Primeri vključujejo spletne strežnike, kot je Apache, strežniki baz podatkov, kot so MySQL, in storitve beleženja sistema.
Kaj je demon?
Demon je proces v ozadju, ki neprekinjeno teče v sistemu Linux ali Unix. Opravlja naloge brez neposredne interakcije uporabnika, pogosto se samodejno zažene ob zagonu. Pogosti primeri vključujejo spletne strežnike, strežnike baz podatkov in orodja za nadzor sistema. Demoni imajo običajno imena, ki se končajo z d, nprhttpd>ozsshd>. Pomagajo pri učinkovitem upravljanju sistemskih funkcij in storitev.
Kaj je init sistem?
Sistem init je prvi proces, ki se zažene ob zagonu sistema Linux in je odgovoren za inicializacijo sistema. Upravlja sistemske storitve in procese ter skrbi za njihov zagon, zaustavitev in ponovni zagon. Pogosti sistemi inicializacije vključujejo SysVinit, Upstart in systemd. Sistem init zagotavlja, da vse potrebne storitve delujejo pravilno, in upravlja odvisnosti med njimi. Še naprej deluje v ozadju za spremljanje in upravljanje sistemskih procesov med celotnim delovanjem sistema.
Enote v systemd
V sistemu systemd so enote osnovni objekti, ki jih sistem upravlja in nadzira. Predstavljajo sistemske vire, kot so storitve, časovniki, naprave in točke priklopa. Vsako enoto definira konfiguracijska datoteka s posebno pripono, kot je.service>za storitve oz.timer>za časovnike. Enote je mogoče zagnati, zaustaviti, omogočiti ali onemogočiti z ukazi systemctl. Bistveni so za določanje, kako se sistem zažene in upravlja različne procese in vire.
.servisne enote v systemd
Systemd.service>enote so konfiguracijske datoteke, ki se uporabljajo za upravljanje storitev v sistemih Linux. Določajo, kako in kdaj naj se storitve zaženejo, ustavijo in znova zaženejo. Vsak.service>vsebuje podrobnosti, kot so ime storitve, opis in ukaz za zagon. Te datoteke se običajno nahajajo v/etc/systemd/system>oz/lib/systemd/system>. Njihovo upravljanje vključuje ukaze, kot jesystemctl start>,systemctl stop>, insystemctl enable>.
Kako najti vse sistemske enote v sistemu?
Za seznam razpoložljivih sistemskih enot ali seznam vseh storitev v Linuxu uporabimo naslednji ukaz:
systemctl list-unit-files --type service -all>
Kako zagnati sistemsko storitev v Linuxu
Sintaksa:
tat polna oblika
sudo systemctl start service.service>
Ukaz start služi za zagon (aktivacijo) ene ali več enot, določenih v ukazni vrstici.
primer:
sudo systemctl start mariadb>

Ukaz Start
Kako ustaviti sistemsko storitev v Linuxu
Sintaksa:
sudo systemctl stop service.service>
Ukaz stop služi za zaustavitev storitve ali (deaktivacijo) ene ali več enot, določenih v ukazni vrstici.
primer:
sudo systemctl stop mariadb>

Ukaz Stop in Status
Kako prikazati status sistemske storitve v linuxu
Sintaksa:
sudo systemctl status service.service>
Ukaz status služi za preverjanje statusa storitve. Prikaži kratke informacije o statusu izvajalnega časa za eno ali več enot, ki jim sledijo najnovejši podatki dnevnika iz dnevnika. Če ni določena nobena enota, prikaži stanje sistema.
primer:
sudo systemctl status mariadb>

Status ukaza
Kako znova zagnati sistemsko storitev v Linuxu
Sintaksa:
sudo systemctl restart service.service>
Ukaz restart služi za ponovni zagon storitve v izvajanju. Zaustavite in nato zaženite eno ali več enot, navedenih v ukazni vrstici. Če enote še ne delujejo, se bodo zagnale.
primer:
sudo systemctl restart mariadb>

Ukaz Ponovni zagon
Kako omogočiti sistemsko storitev v Linuxu
Sintaksa:
sudo systemctl enable name_service.service>
Ukaz enable služi za izvajanje storitve od inicializacije, če je sestavljena iz ene ali več enot ali primerkov enote. To bo ustvarilo niz simbolne povezave , kot je kodirano v razdelkih [Namestitev] navedenih datotek enote. konfiguracija upravitelja sistema se znova naloži (na način, ki je enakovreden daemon-reload), da se zagotovi takojšnje upoštevanje sprememb.
Primer
meni z nastavitvami android
sudo systemctl enable mariadb>

Ukaz Omogoči

Status ukaza
Kako onemogočiti sistemsko storitev v Linuxu
Sintaksa:
sudo systemctl disable name_service.service>
Ukaz disable služi za preklic storitve od inicializacije ene ali več enot. To iz konfiguracijskega imenika enote odstrani vse simbolne povezave do datotek enote, ki podpirajo navedene enote, in s tem razveljavi vse spremembe, narejene z omogočanjem ali povezavo.
primer:
sudo systemctl disable mariadb>

Ukaz Onemogoči

Status ukaza
Zaustavite ali znova zaženite sistem z uporabo systemctl
Ponovno zaženite sistem: Poučujesystemd>za ponovni zagon celotnega sistema. Vse storitve so ustavljene in sistem gre skozi postopek popolne zaustavitve pred ponovnim zagonom.
sudo systemctl reboot>
Zaustavite sistem: Sistemu pove, naj izklopi stroj. Vse storitve in procesi so ustavljeni, sistem pa je varno izklopljen.
sudo systemctl shutdown>
journalctl
journalctl>je ukaz, ki se uporablja v sistemih Linux za poizvedovanje in prikaz dnevnikov izsystemd>journal, ki je sistemska storitev, ki zbira in shranjuje podatke o beleženju. Tukaj je preprost vodnik za uporabojournalctl>:
journalctl -n 10>se uporablja za prikaz zadnjih 10 vnosov (vrstic) iz dnevnika systemd. Tukaj je razčlenitev tega, kaj počne vsak del ukaza:
-
journalctl>: prikličejournalctl>ukaz, ki se uporablja za poizvedovanje in prikaz dnevnikov iz dnevnika systemd. -
-n 10>: Določa število vrstic za prikaz. V tem primeru,-n 10>poučujejournalctl>za prikaz zadnjih 10 vnosov iz dnevnika.
journalctl -n 10>
Zaščita storitve z uporabo systemd je bistvena praksa za zaščito vašega sistema pred morebitnimi ranljivostmi in nepooblaščenim dostopom. Tukaj je poenostavljen vodnik o tem, kako to doseči:
1. Razumevanje datotek storitvenih enot
vrsta vstavljanja
- Konfiguracija storitve : Vsako storitev v systemd upravlja datoteka enote, ki se običajno nahaja v
/etc/systemd/system/>. Te datoteke določajo, kako storitev deluje, vključno z njenim zagonskim obnašanjem, omejitvami virov in varnostnimi nastavitvami.
2. Omejite dovoljenja za storitve
- Uporabniška in skupinska dovoljenja : Določite uporabnika in skupino, pod katero se izvaja storitev. Izogibajte se uporabi korenskega uporabnika, kadar koli je to mogoče, da zmanjšate vpliv kršitev varnosti.
3. Uporabite varnostne funkcije systemd
- PrivateTmp : Omogoči zasebno
/tmp>in/var/tmp>imenike za storitev, da preprečite uhajanje informacij med različnimi storitvami. - ProtectSystem in ProtectHome : Nastavite te možnosti za omejitev dostopa do sistemskih imenikov oziroma domačih imenikov uporabnikov, da povečate varnost sistema.
- ReadOnlyPaths in ReadWritePaths : Določite, iz katerih imenikov lahko storitev bere ali v katere piše. Omejitev dostopa za pisanje lahko prepreči nenamerne spremembe kritičnih datotek.
4. Omejite uporabo virov
- Omejite procesor in pomnilnik : Uporaba
CPUQuota>inMemoryLimit>možnosti za omejitev uporabe procesorja in pomnilnika storitve, s čimer preprečite napade izčrpanosti virov.
5. Omogočite omrežne kontrole
- Omejite dostop do omrežja : Uporabite
RestrictAddressFamilies>,IPAddressAllow>, inIPAddressDeny>možnosti za nadzor dostopa do omrežja za storitev, s čimer omejite njeno izpostavljenost morebitnim grožnjam.
6. Nastavite dovoljenja datotečnega sistema
- Dovoljenja datotečnega sistema : Zagotovite, da imajo storitvene datoteke in imeniki ustrezna dovoljenja (
chmod>) in lastništvo (chown>), da preprečite nepooblaščen dostop.
7. Redno posodabljajte in spremljajte
- Posodabljajte sistem : Redno posodabljajte svoj sistem in servisno programsko opremo, da popravite varnostne ranljivosti in zagotovite, da vaši varnostni ukrepi ostanejo učinkoviti.
- Dnevniki spremljanja : Spremljajte dnevnike dnevnika systemd (
journalctl>) za kakršne koli sumljive dejavnosti ali dogodke, povezane z varnostjo, in po potrebi ustrezno ukrepajte.
Zaključek
Razpravljali smo o systemctl, ki je bistveno orodje ukazne vrstice za upravljanje sistemskih storitev v Linuxu in ima ključno vlogo pri opravilih, kot so zagon, zaustavitev, ponovni zagon, omogočanje in onemogočanje storitev. Ta članek je zagotovil obsežen vodnik za systemctl, ki zajema njegovo sintakso in ključne ukaze. Od seznama razpoložljivih sistemskih enot do omogočanja ali onemogočanja samodejnega zagona, vsak ukaz prispeva k učinkovitemu upravljanju storitev. Članek je obravnaval tudi pogosta vprašanja in ponudil praktične rešitve za naloge, kot so preverjanje stanja storitve, zagon, zaustavitev in ponovni zagon storitev ter omogočanje ali onemogočanje samodejnega zagona. Na splošno sta razumevanje in obvladovanje ukazov systemctl bistvena za Linux skrbniki da zagotovijo stabilnost in optimalno delovanje svojih sistemov.
Systemctl – pogosta vprašanja
Kaj je storitev Linux?
Storitev Linux je proces ali aplikacija v ozadju, ki teče neodvisno od interakcije uporabnika in zagotavlja določene funkcije ali izvaja sistemske naloge. Upravlja ga sistem init, običajno systemd, in ga je mogoče zagnati, zaustaviti in upravljati z ukazi, kot je
systemctl>.
Kakšna je razlika med Systemctl in storitvijo?
systemctl>je orodje ukazne vrstice, ki se uporablja za upravljanje storitev systemd, medtem koservice>je simbolična povezava dosystemctl>na mnogih sistemih, kar zagotavlja združljivost s starejšimi zagonskimi skripti.
Kako preveriti stanje storitve v Linuxu?
Uporabi `
systemctl status `>da vidite, ali storitev deluje, je aktivna (nedavno ustavljena) ali neaktivna (nikoli zagnana). To razkrije pomembne informacije, kot so uporaba pomnilnika in aktivne povezave.
Kako zaženem, ustavim, znova zaženem storitev?
Za začetek , uporaba :
sudo systemctl start>Za ustavitev , uporaba :
sudo systemctl stop>Za ponovni zagon , uporaba :
sudo systemctl restart>Opomba : Ne pozabite zamenjati
>z dejanskim imenom storitve.
Kako naj se storitev samodejno zažene ob zagonu?
Uporaba
sudo `>systemctl enable `>za nastavitev samodejnega zagona storitve ob zagonu sistema.Če želite onemogočiti samodejni zagon, uporabite `
sudo systemctl disable `>.