Som systemadministrator har du sannsynligvis å gjøre med mange tjenester hver dag.
På Linux , tjenester brukes til mange forskjellige formål.
De kan brukes for å starte en SSH-server på maskinen din, eller de kan utføre noen operasjoner på en bestemt time eller dag.
Enten du bruker en Debian-basert distribusjon eller a RedHat one, spørringstjenester er veldig like.
Men gitt distribusjonen du bruker, og mer spesifikt initialiseringssystemet (init eller systemd), kan det hende du må bruke forskjellige kommandoer.
I denne opplæringen vil du lære hvordan du kan, gitt systemadministratoren din, liste opp alle tjenestene på Linux-maskinen din.
Innholdsfortegnelse
Bestem systemadministrator brukt
Som du sikkert vet, bruker nylige distribusjoner Systemd systemadministrator.
Det har imidlertid ikke alltid vært tilfelle: tidligere brukte de fleste distribusjoner SysVinit systemadministrator.
Som en konsekvens er det egentlig to måter å administrere tjenestene dine på et Linux-system.
Før du lærer kommandoene om å liste tjenester, må du kjenne systemadministratoren du bruker for øyeblikket.
For å finne din nåværende systemadministrator er den enkleste måten å bruke » pstree ”-kommandoen og for å sjekke den første prosessen som kjøres på systemet ditt.
Hvis du ser «systemd», betyr det selvsagt at du for øyeblikket bruker systemd. Men hvis du ser » init «, betyr det at du bruker SysVinit.
På Ubuntu 14.04, som fortsatt bruker det gamle init-systemet, kan» pstree «se slik ut.
Liste over tjenester ved hjelp av systemctl
Den enkleste måten å liste opp tjenester på Linux, når du er på et systemd-system, er å bruke kommandoen «systemctl» etterfulgt av «list-units». Du kan spesifisere alternativet «–type = service» for å begrense resultatene til tjenester.
Som standard viser denne kommandoen deg bare tjenestene som er aktive eller tjenestene som har mislyktes på systemet ditt. I skjermbildet ovenfor er de fleste tjenestene aktive, men den logrotate (markert med rødt) er merket som mislykket.
Fantastisk, du lærte hvordan du enkelt kan liste opp tjenestene dine på en Linux-server.
Som du kanskje har lagt merke til, har du ikke tilgang til alle tjenestene: hva med inaktive tjenester? Hva med tjenester som ikke ble lastet av systemd ved oppstart?
Liste over alle tjenester på Linux ved hjelp av listeenheter
For å liste opp alle tjenester, som betyr aktive og inaktive, må du bruke kommandoen «systemctl list-units» fulgt av alternativet «–all».
På samme måte kan du bare begrense resultatene til tjenester ved å bruke typefilteret / p>
Som du kan se, listet også inaktive tjenester opp som kan være praktisk hvis du bare skrev tjenesten din og passet på den i listen.
I dette tilfellet er det bare lastede tjenester som er oppført. Ved oppstart laster systemd enhetsfiler, og det kan velge å ikke laste inn en bestemt tjeneste hvis den finner ut at den ikke vil bli brukt av systemet.
Som en konsekvens er det en reell forskjell mellom «lastet ”Og” installerte ”tjenester. «Installerte» tjenester betyr at enhetsfiler kan bli funnet i de tilsvarende banene.
Liste tjenester etter stat
I noen tilfeller kan det hende du bare er interessert i tjenester som har mislyktes. For det kan du spesifisere tilstanden som du leter etter som et alternativ for systemctl-kommandoen.
Hvor «tilstand» kan være en av følgende verdier: aktiv, inaktiv, aktivering, deaktivering, mislyktes, ikke funnet eller død.
Hvis vi for eksempel bare er interessert i «mislykkede» tjenester, skal vi kjøre følgende kommando
Liste opp alle tjenestefiler ved hjelp av listeenhetsfiler
Til slutt, hvis du er interessert i «lastet», «installert», «deaktivert» samt «aktivert» servicefiler, er det en annen kommando det kan være ganske nyttig.
For å vise alle tilgjengelige tjenestefiler, må du bruke kommandoen «systemctl» etterfulgt av «list-unit-files». Eventuelt kan du spesifisere typen ved å bruke alternativet «–type = service».
Alternativt kan du bruke kommandoen «grep» for å søke etter bestemte baner på systemet ditt som kan inneholde tjenestefiler.
Gratulerer, du lærte hvordan du kan liste opp tjenester hvis systemet ditt bruker systemd!
List Services using service
Den enkleste måten å liste tjenester på Linux, når du er på et SystemV init-system, er å bruke » service ”-kommando etterfulgt av» –status-all «-alternativet. På denne måten vil du bli presentert for en komplett liste over tjenester på systemet ditt.
Som du kan se, er hver tjeneste oppført foran symboler under parentes. Disse symbolene betyr:
- +: betyr at servicen e kjører;
- -: betyr at tjenesten ikke kjører i det hele tatt;
- ? : betyr at Ubuntu ikke kunne fortelle om tjenesten kjører eller ikke.
Så hvorfor er det noen tjenester å fortelle om de kjører eller ikke, og noen ikke er i stand til det?
Alt kommer ned til implementeringen av init-skriptet. I noen skript, for eksempel udev-skriptet, kan du se at «status» -kommandoen er implementert.
Dette er ikke tilfelle for» dns-clean «-skriptet, for eksempel, det er grunnen til at du har et spørsmål merk når du spør etter denne tjenesten.
Liste SysVinit-tjenester i mapper
En annen måte å liste opp den nåværende listen over tjenester er å bruke kommandoen «ls» i mappene som inneholder alle skriptene på et Linux-system, nemlig «/etc/init.d».
Konklusjon
I denne veiledningen lærte du hvordan du enkelt kan liste opp tjenester på et Linux-system om du bruker systemd eller SysVinit.
Hvis du er interessert i å lage dine egne tjenester, anbefaler vi at du ser på følgende ressurser. De kan være veldig nyttige for å oppnå det riktig.
- Skrive et oppstartsskript for init-systemer;
- Starte tjenester ved oppstart ved hjelp av systemd;
Hvis du er interessert i Linux systemadministrasjon, har vi en komplett del om dette emnet på nettstedet, så sørg for å sjekke det ut.
Ikoner laget av Freepik fra FlatIcon