Hvis du vil vite mer om init-systemer, er det viktig å først forstå systemctl- og servicekommandoer og deres underliggende forskjeller.
Viktige takeaways
- Service- og systemctl-kommandoene i Linux er viktige og ekstremt like, med systemctl som en mer allsidig og kraftig kommando.
- Både service og systemctl lar brukere konfigurere og samhandle med systemtjenester, men de tilhører forskjellige initialiseringssystemer (henholdsvis SysVinit og systemd).
- Tjenesten opererer på initialiseringssystemfiler i /etc/init.d, mens systemctl fungerer med filer i /lib/systemd. Å gjøre deg kjent med begge kommandoene er viktig for å administrere systemtjenester effektivt.
service og systemctl er både viktige og ekstremt like kommandoer i Linux. De er så like at det er lett å lure på hvilke forskjeller det er mellom dem i det hele tatt - og om du kan bruke de to kommandoene om hverandre.
Å kjenne de finere detaljene om service og systemctl vil tillate deg å jobbe sømløst med dem.
Hva er tjenestekommandoen i Linux?
I Linux er tjenestekommandoen et wrapper-skript som lar brukere enkelt konfigurere og samhandle med systemtjenester. Det går foran systemd og fungerer først og fremst med skriptene som finnes i /etc/init.d.
Selv om systemctl overtok mye av tjenestens tidligere betydning, fortsetter den å forbli relevant gjennom mange eldre funksjoner.
Skiftet mellom de tilknyttede initialiseringssystemene - SysVinit til systemd - var kontroversielt, men økende utfordringer for funksjonen til det originale init-systemet gjorde det nødvendig.
systemd starter tjenester parallelt i stedet for en seriell sekvens, noe som gjør oppstartstiden raskere enn SysVinit – og den tilbyr litt mer sofistikert kontroll av systemdemoner gjennom kommandolinjegrensesnittet (CLI).
Hva er systemctl-kommandoen i Linux?
På samme måte som service, er systemctl en utrolig allsidig kommando som lar deg aktivere, laste inn på nytt, starte, stoppe og sjekke statusen til tjenester kjører på ditt Linux-system.
systemctl fungerer som et brukervennlig og kraftig grensesnitt for å konfigurere filene i systemd – for eksempel tar det bare én til to kommandoer for å deaktivere en tjeneste ved oppstart ved hjelp av systemctl.
systemctl er bakoverkompatibel med initialiseringssystemet SysVinit, primært brukt med service. systemctl fungerer ikke som en direkte etterfølger til tjenesten, men den er mye mer allsidig når det gjelder verktøyene den tilbyr for å administrere systemtjenester.
Du kan utføre oppgaver som å maskere eller deaktivere en tjeneste på så lite som én eller to linjer.
Forskjellene mellom service og systemctl
service og systemctl tjener stort sett samme formål. Mange av likhetene mellom dem ble bevisst satt inn for å gi brukerne en mer sømløs overgang fra tjeneste til systemctl.
Det er noen forskjeller mellom de to du bør være oppmerksom på når du begynner å jobbe med initialiseringssystemet på Linux.
1. Ulike Init-systemer
Den viktigste forskjellen mellom service og systemctl er at de tilhører forskjellige initialiseringssystemer. tjenesten tilhører SysVinit (System V Init), ellers kjent som den klassiske Linux-initieringsprosessen.
systemctl tilhører systemd, etterfølgeren til SysVinit og den moderne initialiseringsprosessen som brukes på mange Linux-systemer.
Fordi service og systemctl er en del av forskjellige initialiseringsprosesser, opererer de på initialiseringssystemfiler i forskjellige kataloger. tjenesten fungerer med initialiseringssystemfilene som finnes i /etc/init.d, mens systemctl fungerer med initialiseringssystemfilene som finnes i /lib/systemd.
Vanligvis er initialiseringssystemet du kommer til å møte på klargjorte Linux-installasjoner systemd – så du vil gjøre deg kjent med å bruke systemctl for å samhandle med det.
Hvis du har tenkt å jobbe med systemer som går før eller sammenfaller med systemds utgivelse i 2010, skader det ikke å bli kjent med å bruke tjenestekommandoen også.
2. Kompatibilitet
tjenesten fortsetter å være en ekstremt nyttig kommando når det gjelder kompatibilitet - som en innpakningskommando er den i stand til å omdirigere til tjenesteadministratoren som brukes på forskjellige systemer. Du bør planlegge å lære det og gjøre det til en del av arsenalet ditt hvis du vil jobbe med en rekke Linux-systemer.
3. Underliggende funksjoner
En annen viktig forskjell mellom systemctl og service ligger i hvordan de fungerer. service er en kommando på høyt nivå som omdirigerer til den underliggende tjenesteadministratoren som brukes på et bestemt system, noe som betyr at den er ganske allsidig mellom systemer. Den kan omdirigere til /etc/init.d, upstart eller systemctl. systemctl-kommandoer samhandler i mellomtiden direkte med systemd.
4. Evne
Når det gjelder hva du kan oppnå, er det trygt å si at systemctl langt overgår tjenesten i kraft. Bortsett fra grunnleggende funksjoner – som å starte, stoppe, aktivere eller deaktivere en bestemt tjeneste – kan du også sette opp avanserte konfigurasjoner med systemctl.
tjenesten er mer begrenset på grunn av dens nødvendige kompatibilitet med de underliggende tjenestelederne den er avhengig av.
Konfigurer systemtjenester effektivt på Linux
service og systemctl er begge utrolig viktige kommandoer for å administrere systemtjenester. Enten du bare vil gjøre det beste ut av Linux-systemet ditt eller har tenkt å jobbe på bedriftsnettverk, er det viktig å gjøre deg kjent med begge kommandoene.
Heldigvis finnes det mange gode opplæringsprogrammer som kan hjelpe deg å bli en mester i å bruke systemctl og service i terminalen.