Hvordan liste opp oppstartstjenester på oppstartstidspunktet i Fedora Linux?

Hvordan liste opp oppstartstjenester på oppstartstidspunktet i Fedora Linux?
Red Hat oppfant 'Systemd' som leder for system og service på Linux OS. Det er kompatibelt med de gamle SYSV- og LSB-init-skriptene med flere funksjoner som samtidig oppstart av systemtjenester ved oppstartstid, daemon (bakgrunnsprosess) aktivering på forespørsel, eller tjenestekontrolllogikk basert på avhengighet.

SystemD bringer konseptet med SystemD -enheter i Linux. For e.g., serviceenhet, målenhet, monteringsenhet osv. er enhetstyper med filforlengelse som .service, .mål, .montering henholdsvis. Konfigurasjonsfilen som representerer disse enhetene er lagret i katalogene:/usr/lib/systemd/system/,/run/systemd/system/,/etc/SystemD/System/

Tidligere versjoner av Red Hat Enterprise Linux (RHEL) brukte init -skript. Disse skriptene ble skrevet i bash og var lokalisert i katalogen “/etc/rc.d/init.d/”. Dette er skript som brukes til å kontrollere tjenestene og demonene. Senere i RHEL 7 ble serviceenheter introdusert for å erstatte init -skriptene. Fedora, som er et oppstrøms OS av Red Hat Enterprise Linux, har begynt å bruke SystemD fra Fedora versjon 15.

Serviceenheter har .servicefilutvidelser og har lignende roller som init -skript. “SystemD” bruker “SystemCTL” -verktøyet for å administrere systemtjenester. Det kan brukes til å se, starte, stoppe, starte på nytt, aktivere eller deaktivere disse tjenestene.

Fordeler med systemd over init -systemet

  1. Med SystemD kan vi prioritere nødvendige tjenester over mindre viktige tjenester.
  2. CGroups brukes av SystemD for å holde rede på prosesser og kontrollere utførelsen.miljø.
  3. SystemD støtter fortsatt den gamle initprosessen og har mer kontroll.
  4. SystemD er i stand til å håndtere dynamiske systemkonfigurasjonsmodifikasjoner.

Hva vil vi dekke?

I denne guiden vil vi lære om å håndtere SystemD -prosesser. Vi vil se hvordan du aktiverer og deaktiverer oppstartstjenester ved oppstart og hvordan du gjør serviceoperasjoner som start, stopp, omstart osv. Vi har utført øvelsene nedenfor på Fedora 30 -arbeidsstasjoner, som vil være mest anvendelig for andre Linux OSS.

Liste oppstartstjenester på oppstart i Fedora Linux

Den gamle SYSV -metoden bruker tjenesten og Chkconfig kommandoer for å administrere tjenestene. Disse kommandoene er nå erstattet med systemd -kommandoene som SystemCTL. La oss se noen av driften av "SystemCTL" på forskjellige tjenester i Linux.

1. For å liste opp alle tjenestene som kjører på systemet ditt, sammen med deres stater (aktivert eller deaktivert), bruk kommandoen nedenfor:

$ sudo SystemCTL List-Unit-Files-Type = Service

En tjeneste kan ha tre stater: 1) aktivert 2) Deaktivert 3) Statisk

En aktivert tjeneste har en symlink i en .ønsker katalog, mens en funksjonshemmet tjeneste ikke har en. En statisk tjeneste har ikke en installasjonsseksjon i det tilsvarende init -skriptet. Så det kan ikke aktiveres eller deaktiveres.

For å få flere detaljer om tjenestene, bør kommandoen nedenfor brukes.

$ sudo systemctl -at tjeneste

Sammendrag av ovennevnte kolonnenavn:

Enhet - SystemD enhetsnavn (her et tjenestenavn).
Last - spesifiser om SystemD -enheten ble lastet riktig eller ikke.
Aktiv - enheten til enheten (her tjeneste).

Sub - En understat for en enhetsaktivering.
Beskrivelse - En kort informasjon om enheten.

Vi kan også bruke følgende kommando:

$ SUDO LS/LIB/SYSTEMD/SYSTEM/*.service

eller

$ sudo/etc/systemd/system/*.service

De “/Etc/inittab” er nå erstattet av “/Etc/Systemd/System/” i Systemd. Denne katalogen inneholder nå symlinkene til filene i katalogen “/Usr/lib/systemd/system”. INIT -skriptene er plassert i “/usr/lib/systemd/system”. En tjeneste må kartlegges til “/Etc/Systemd/System/” For å starte den på System Boot. For dette formålet brukes SystemCTL -kommandoen i Fedora og andre siste Linux -systemer.

2. La oss se eksemplet nedenfor om å aktivere HTTPD -tjenesten:

$ sudo systemctl aktiver httpd.service

Vi kan også bruke kommandoen nedenfor for å filtrere alle de aktiverte tjenestene:

$ SUDO SystemCTL List-Unit-Files | grep aktivert

eller bruk kommandoen:

$ sudo SystemCTL | grep løping



3.
For å liste opp alle aktive (løpende) tjenester, bruk kommandoen:

$ sudo systemctl -t service --state = aktiv

4. For å se hvilke tjenester som er aktivert for å starte automatisk på systemstart, kan vi også bruke følgende kommando:

$ sudo SystemCTL List-Unit-Files-Type = Service-State = Aktivert-All

5. Tilsvarende kan vi sjekke de funksjonshemmede for å starte ved oppstart med kommandoen:

$ sudo SystemCTL List-Unit-Files-Type = Service-State = Disabled-All

6. Vi kan også se hvilken tid hver tjeneste tar ved oppstart:

$ sudo systemd-analyserer skylden

7. For å sjekke om en tjeneste er aktivert for Autostart ved oppstart, bruk kommandoen:

$ sudo systemctl er aktivert xxx

Sett navnet på tjenesten i stedet for xxx. E.g., Når det gjelder HTTPD -tjeneste, vil kommandoen være:

$ sudo systemctl er aktivert httpd.service

eller

$ sudo systemctl er aktivert httpd

8. For å sjekke statusen til en tjeneste, bruk kommandoen:

$ sudo systemctl status xxx.service

For eksempel for å sjekke statusen til SSHD -tjenesten:

$ sudo systemctl status sshd.service

9. For å sjekke om en tjeneste kjører eller ikke, bare kjør kommandoen nedenfor:

$ sudo systemctl is-aktiv xxx.service

For eksempel for å sjekke Telnet -statusen:

$ sudo systemctl is-aktiv telnet.service

10. For å starte en død eller inaktiv tjeneste, bruk kommandoen:

$ sudo systemctl start xxx.service

For eksempel for å starte en SSHD -tjeneste:

$ sudo systemctl start sshd



11.
For å deaktivere en tjeneste ved System Boot

$ sudo systemctl deaktiver xxx

For eksempel for å deaktivere HTTPD -tjenesten:

$ sudo systemctl deaktiver httpd.service

eller

$ sudo systemctl deaktiver httpd

12. For å starte en løpstjeneste på nytt

$ sudo SystemCTL RESTART XXX.service

For å starte SSHD -tjenesten på nytt, bruk kommandoen:

$ sudo SystemCTL Restart SSHD

Hvis tjenesten ikke allerede kjører, vil den bli startet.

1. 3. For å laste inn en løpstjeneste på nytt

$ sudo SystemCTL Reload xxx.service

For eksempel, last inn HTTPD -tjenesten med:

$ sudo systemctl last inn httpd.service

Denne kommandoen laster inn konfigurasjonen av en bestemt tjeneste på nytt. For å laste inn enhetskonfigurasjonsfilen til SystemD, trenger vi kommandoen:

$ sudo SystemCTL Daemon-Reload

14. For å liste opp alle avhengighetene til en tjeneste:

$ sudo SystemCTL List-Dependencies XXX.service

Når det gjelder HTTPD -tjeneste, vil kommandoen være:

$ sudo SystemCTL listeavhengigheter httpd.service

Konklusjon

I denne guiden har vi sett forskjellige måter å administrere tjenester med SystemD -verktøy som å aktivere tjenester ved oppstartstid, starte og stoppe dem osv. Hvis du var vant til tjenestekommandoen til Old Sysvinit, bør du bytte til SystemD da det har flere funksjoner og det er standard INIT -systemet i nyere versjoner av Fedora, RHEL og de fleste av de andre store Linux -distribusjonene.